arduino i2c 如何写16位寄存器_Arduino点阵屏实现贪吃蛇游戏

关注、 星标公众,不错过精彩内容
103a1b295c5f8548832b71b4caf7051e.png
Arduino贪吃蛇

作者:Saddam  
翻译:Tony  
原文地址:https://circuitdigest.com/microcontroller-projects/arduino-snake-game-using-8x8-led-matrix

自从手机问世以来,贪吃蛇游戏就非常受欢迎。最初它是从黑白屏手机上而来,很快就变得非常有名。随着手机的发展,该游戏也发生了很大的变化,现在也可在彩屏版本上使用。

贪吃蛇游戏也已成为电子爱好者和学生非常流行的DIY项目。今天我们将演示Arduino贪吃蛇的基本功能,同时使其保持简单。

使用组件

  • Arduino UNO

  • 8x8LED点阵屏

  • 移位寄存器74HC595

  • LCD1602

  • 1K电位器

  • 按键开关

  • 连接线

  • 面包板

  • 电源

操作说明

贪吃蛇游戏实现起来稍微复杂,但在本教程中,我们帮你对其做了简化。为了完成这个项目,我们使用了8x8红色点阵来显示蛇及其食物,使用LCD602显示得分,使用五个按键控制方向和开始游戏,最后通过一块Arduino UNO来控制整个流程。如下给出8x8点阵的引脚图以及制作好的硬件:

5c0092b522508b2e72f391709e3daf1a.png
点阵引脚图
80b099664b8485498079e27f5c8194e4.png
实物图

当上电后,首先在液晶屏上显示欢迎消息,然后显示"Press Start To Play"提示。然后LCD将分数显示为零,点阵上显示两个点表示蛇,一个点表示食物。

现在,用户需要按下中间按键开始游戏,并且默认情况下,蛇开始向上移动。然后,用户需要通过按中间按键周围的“方向键”来控制蛇的方向。在这里,我们使用了五个按键,即向左键,向右键,向上键,向下键和开始键。每当蛇到达食物点吃东西时,分数每次增加5,蛇的长度每次增加1个点,蛇的速度也比以前快。每当蛇撞到任何墙壁或到达LED矩阵的边界时游戏结束。然后,用户需要按开始键再次开始游戏。

3401e8fa50e5f494deba556d70bbe616.png
系统图解

电路说明

贪吃蛇电路并不复杂。在这里,我们通过使用移位寄存器74HC595连接点阵屏。使用两个移位寄存器,一个用于驱动列,另一个用于驱动行。列移位寄存器和行移位寄存器[SH,ST]这两个寄存器的控制引脚分别连接到Arduino的14和16引脚。列移位寄存器和行移位寄存器的DS引脚连接到Arduino的15和17引脚。用于开始游戏的开始按键连接在3号引脚上,左方向按钮插在4号引脚上,右方向按钮插在6号引脚上,上方向按钮在引脚2上,下方向按钮插在引脚5上。LCD1602的RS和EN引脚连接到Arduino的13和12。RW引脚接地。数据引脚d4-d7连接到Arduino的11、10、9、8引脚。其余连接参照如下电路图。

3162255452566dfe3493769c2fa698b3.png
电路原理图

编程说明

要编写Arduino贪吃蛇游戏代码,首先包含LCD库头文件并定义LCD引脚,然后是方向按键和移位寄存器的相关引脚。

#include

然后,我们初始化程序中使用到的功能。在setup函数中,我们初始化LCD,设置IO口方向,上拉相关位并在LCD上显示欢迎消息。

void setup(){   

然后在loop函数中开始游戏。

void show_snake(int temp){

在这里我们使用如下函数从按键读取方向。

void read_button(){

视频演示



推荐阅读:

Arduino基础入门篇汇总

Arduino提高篇13—摇杆控制OLED移动显示

若觉得文章对你有帮助,随手点『好看、转发分享、留言,也是对我的支持。

关注公众号「TonyCode」,后台回复“贪吃蛇”,获取文中代码。

aec1e00f5cd5a95f51845fe3013457b3.png

长按识别图中二维码关注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值