×
嵌入式 > 技术百科 > 详情

Raspberry Pi--爬梯游戏

发布时间:2020-06-13 发布时间:
|

今天要介绍一个有意思的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会由下而上发亮,数秒后便可开始游戏了!


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Semtech的LoRa技术携手Chipsafer将牧场连接至云端