查看: 2764|回复: 0

Raspberry Pi--爬梯游戏

[复制链接]

该用户从未签到

发表于 2012-7-27 21:51:40 | 显示全部楼层 |阅读模式
分享到:
今天要介绍一个有意思的Raspberry Pi游戏项目-- 爬阶梯游戏,而这一次的爬阶梯游戏主要用到LED来实现,玩法很简单,玩家要利用LED阶梯爬到最顶点的位置,闪烁的LED代表玩家的位置,玩家要在LED发光的时刻按下按钮,这样就可以成功往上爬,但是若果在LED不发光的情况下按下按钮,便会往下掉,而愈高的位置,LED发光的时间便会愈短,造成容易发生往下掉的情况。此外,特定的时间内不按按钮的话,最终还是会往下掉的。这种游戏项目可以同时体验硬件和软件的制作,是十分难得的经验。明白了游戏的基本规则后,我们就开始吧!
爬阶梯游戏的硬件制作

这个游戏的电路设计十分简单,主要以Raspberry Pi的GPIO控制LED,下图是LED与Raspberry Pi的连接表。
                                      图. LED与Raspberry Pi的连接表当我们完成了Raspberry Pi和LED的连接后,可以利用以下程序来测试电路的连接是否正确。

把以上程序复制到'test.sh'文件中,然后执行以下指令测试电路的连接和按钮的运作。
chmod +x test.sh
./test.sh
gpio mode 8 in
gpio read 8
游戏运作的原理
爬梯子游戏硬件的关键是一个555定时器(用来产生一个方波),单个电容器,一些电阻和一个开关。

上图的模仿电路以计时器555模仿方波输出和RC电路,当按了按钮而LED是发光时,电容便会充电,相反的情况下按了按钮便会让电容立即放电。 'Gate'讯号的起始频率是2 Hz,当'Gate'是高电平和按钮被按时,C1会经过电阻R-CHG充电,若果按钮没有按,便会慢慢地经由R-DIS放电;当'Gate'是低电平时,如果玩家按了按钮,开关S1便会启动,电容便会立刻被放电。电阻R-CHG的数值比电阻R-DIS低很多,令充电的时间较快,当C1快被充满电时,'Gate'讯号的频率会提升。 vOut是输出到LED的电压,参考设计的数值是C1 1000uF、R-CHG 2200Ω、R-DIS 68kΩ。 运行于Raspberry Pi的游戏程序
有关的游戏程序是用C写的,可以到这个网址下载,下载后,请输入以下的指令启动游戏:
mkdir ~/ladder
cd ~/ladder
wget https://project-downloads.drogon.net/files/gpioExamples/ladder.c
cc -o ladder -Wall -I/usr/local/include -L/usr/local/lib ladder.c -lwiringPi -lm
sudo ./ladder
当启动游戏后,LED会由下而上发亮,数秒后便可开始游戏了!
(查看引用来源了解更详细的硬件及软件的信息)
引用来源:https://projects.drogon.net/raspberry-pi/gpio-examples/ladder-game/
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-12-18 19:02 , Processed in 0.113853 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.