Raspberry Pi--爬梯游戏

作者: wuxingxing
上传时间为: 2012-07-27 09:51 PM
2012-07-27
阅读:

今天要介绍一个有意思的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 http://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/

全部评论 ()
条评论
写评论

创建讨论帖子

登录 后参与评论
系统提示