用mega和nano做了一个打地鼠游戏机
本帖最后由 deleteac 于 2017-4-25 08:47 编辑嗯。还是蛮简单的。对初学arduino很有帮助。一遍做下来对arduino的I/O和基本函数都有比较明确的认识。
废话不多,上图
主机用的是mega,用来控制
9个LED
3x3的扫描式键盘,这里用了Keypad.h
3个独立的选关按键,因为选关按键需要精确控制所以没有和矩阵键盘连在一起
两个蜂鸣器,一个用来当音效,另一个用来播放BGM,这里用了tone()函数
LCD1602,这个是用来实时计分和显示关卡用的
然后从机用的nano,这里用了SoftwareSerial.h和主机串口通信
nano主要是用来控制2位7段数码管用来进行30s倒计时的,因为需要做到精确计时和实时显示,单线程显然很吃力
所以用nano独立控制计时,没用定时器,用的赋值自减,然后用delaymicroms()函数进行微调,误差降到最小
关于功能的实现
首先是选关
3个红色按键可以选3关每一关LED的亮灭时间不一样
关于游戏,LED用rand()随机数(假随机数)生成的数控制
游戏判断
这里用了while()和 与运算,判定LED熄灭之前按键是否按下
按对一次记一分然后1602显示
按错或者超时扣一分
计分用了全局变量易于控制
音效用函数插入到各个部分
当从机nano计时结束后
会向主机mega发送中断信号然后mega立即停止运行
执行中断函数然后初始化
做这个的初衷本来是为了学习arduino。不过既然都做了,干脆贴出来。
相比看书还是自己动手学得快
源码就不贴了,丑到家的代码不好意思贴
贴个视频。http://player.youku.com/embed/XMjcyNzE3NDMwOA
可以的赞一个 赞一个、、、 :D:D:D:D:D 可以把代码发过来给小白的我做个参考么:$ 主要材料是哪几种呢楼主
页:
[1]