电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
文章
Arduboy游戏开发系列(1)
分 享
扫描二维码分享
Arduboy游戏开发系列(1)
arduino
arduboy
教程
入门电子设计
关注
发布时间: 2021-04-12
丨
阅读: 1046
Arduboy是一款基于arduino的开源游戏机,网上有很多使用arduino pro micro自制arduboy的教程,开发板外接一个屏幕和五个按键就可以正常使用,游戏资源方面,有一些网站专门整理了arduboy的游戏下载后直接烧录到游戏机内就可以运行,但是关于arduboy游戏开发的文章网上比较少,本系列会对arduboy的开发进行一些介绍,通过制作一些小游戏来熟悉arduboy游戏开发过程。 ## 环境搭建 要开发arduboy肯定要安装arduino IDE,这个可以到官网下载安装即可,具体的安装过程在这里就不再叙述了,安装好IDE后需要添加arduboy的库,我们依次点击Arduino IDE的 项目——管理库——加载库,我们搜索arduboy,选择版本后安装。 ![](https://cf01.ickimg.com/bbsimages/202104/cc633729fd71b56a157e1f776320c679.png) 安装好库后就可以编写程序了,如果有arduboy硬件的话,在编写好程序后可以在直接点击arduino IDE的下载键将程序下载到游戏机内查看效果,如果没有硬件的话还可以通过仿真软件来查看程序的效果,现在介绍一下如何通过Proteus来仿真arduboy。 首先是Proteus的安装,Proteus8.4之后的版本就可以仿真arduino了,再安装软件时要注意一下软件的版本,安装过程就不详细介绍了,打开软件后点击新建工程,然后一路next即可,在这里不需要建立有程序的仿真,因为Proteus编译程序时会有些问题,添加了arduino IDE的编译后也是会有一些问题,所以仿真后直接给芯片添加hex文件即可。下面是新建工程过程的截图: ![](https://cf01.ickimg.com/bbsimages/202104/ba72abbfb70d2968280791e38ae2cb7d.png) ![](https://cf01.ickimg.com/bbsimages/202104/19f4264036a99c92d1601357c06c2c94.png) ![](https://cf01.ickimg.com/bbsimages/202104/6fb9cee7be3f0c59d85f4b236935fa66.png) ![](https://cf01.ickimg.com/bbsimages/202104/f954665311628d9e9b262d934d6fd4b2.png) ![](https://cf01.ickimg.com/bbsimages/202104/a6fec501667ac44d619a8ec2fb9b6514.png) ![](https://cf01.ickimg.com/bbsimages/202104/9083e1aa9a871ee040599ace8d759810.png) ## 硬件设计 现在开始搭建arduboy的电路了,arduboy是基于arduino pro micro的,在这里首先需要搭建一个arduino pro micro的最小系统,芯片选择的是ATMEGA32U4在元件栏搜索即可找到,仿真电路和实际的电路还是有区别的,按下面的方式连接芯片就可以正常使用了: ![](https://cf01.ickimg.com/bbsimages/202104/ef546df49afd97b4ad28c83772508558.png) 搭建好最小系统后就要开始连接游戏机的外设了,游戏机的发音部分靠的是一个蜂鸣器,但是游戏的音效部分目前的教程中不会提到,所以可以先省略,之后会添加,现在需要的是显示屏和按键,显示屏可以在元件栏中搜索UG-2864HSWEG01,电路的连接如下: ![](https://cf01.ickimg.com/bbsimages/202104/111c361fd3165ba1723f854da945aa42.png) 在连接D0和D1脚的时候要注意总线的连接方式,总线的上端要连接到D[0..7],不然显示屏可能会无法使用。连接好屏幕后最后就是连接按键了,按键一共有五个,按下图连接到芯片对应的引脚即可: ![](https://cf01.ickimg.com/bbsimages/202104/fc1bc5e15de79be38ad79e9df48c11c4.png) 上面就是arduboy的全部仿真电路了。 ## “Arduboy”测试程序 在arduboy的仿真电路或者实物准备好后可以编写一个测试程序测试一下电路是否能正常工作,测试程序如下: ```c #include
Arduboy arduboy; byte x,y; void setup() { // put your setup code here, to run once: arduboy.begin(); arduboy.setFrameRate(15); x = WIDTH / 2; y = HEIGHT / 2; } void loop() { // put your main code here, to run repeatedly: if(arduboy.pressed(RIGHT_BUTTON)){ x++; } if(arduboy.pressed(LEFT_BUTTON)){ x--; } if(arduboy.pressed(DOWN_BUTTON)){ y++; } if(arduboy.pressed(UP_BUTTON)){ y--; } arduboy.clear(); arduboy.setCursor(x, y); arduboy.print(F("arduboy")); arduboy.display(); } ``` 上面的程序运行后首先会显示一个开机动画,然后会在屏幕的中间显示“arduboy”的字符,通过上、下、左、右的按键可以移动字符的位置,这样就可以测试显示屏和按键是否可以正常工作了,打开arduino IDE将上面的程序复制过去,在编译之前还要进行一些设置,首先依次点击工具——开发板——选择arduino leonardo,然后依次点击文件——首选项,在弹出的对话框的设置栏有一行“显示详细输出”勾选后面的“编译”选项,然后可以重启一下arduino IDE, ![](https://cf01.ickimg.com/bbsimages/202104/2c79766f31b13c9dfaf8e0c5e999397e.png) 这个操作可以在编译arduino程序的时候输出具体的编译信息,其中包括arduino产生的hex文件的存放位置,也可以打开首选项中的preferences.txt文件进行修改,使hex文件输出到指定的文件夹,这个可以自行从网上搜索教程。 修改好后可以点击编译按钮编译程序了,在编译完成后可以从输出的信息中找到hex文件的位置, ![](https://cf01.ickimg.com/bbsimages/202104/3dd29a0a738c63fad34fa0eb83f8b8bf.png) 现在回到Proteus,双击芯片,按照hex文件输出的位置给芯片添加hex文件就可以进行仿真了,添加好程序后点击下面的运行按钮,如果程序和电路正常就可以看到下面的图片的效果: ![](https://cf01.ickimg.com/bbsimages/202104/21561a131132c519b3464a65d6604bb2.png) ![](https://cf01.ickimg.com/bbsimages/202104/2c57c60fe24e6ef17b3e14e338cc56fb.png) 现在按下上下左右按键测试一下字符的位置是否可以正常移动, ![](https://cf01.ickimg.com/bbsimages/202104/4ddc63ea744f7391d4437e6dd033b811.png) 如果均正常说明软硬件都可以正常工作了,那么在下一篇文章中会正式开始arduboy的开发教程,欢迎继续阅读。
原创作品,未经权利人授权禁止转载。详情见
转载须知
。
举报文章
点赞
(
0
)
入门电子设计
关注
评论
(0)
登录后可评论,请
登录
或
注册
相关文章推荐
MK-米客方德推出工业级存储卡
Beetle ESP32 C3 蓝牙数据收发
Beetle ESP32 C3 wifi联网获取实时天气信息
开箱测评Beetle ESP32-C3 (RISC-V芯片)模块
正点原子数控电源DP100测评
DP100试用评测-----开箱+初体验
Beetle ESP32 C3环境搭建
【花雕体验】16 使用Beetle ESP32 C3控制8X32位WS2812硬屏之二
X
你的打赏是对原创作者最大的认可
请选择打赏IC币的数量,一经提交无法退回 !
100IC币
500IC币
1000IC币
自定义
IC币
确定
X
提交成功 ! 谢谢您的支持
返回
我要举报该内容理由
×
广告及垃圾信息
抄袭或未经授权
其它举报理由
请输入您举报的理由(50字以内)
取消
提交