亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏

组件与物料

SSD1306 OLED 显示屏×1
SparkFun Arduino Pro Mini 328 - 5V/16MHz×1
SparkFun 12mm 轻触开关×7
纽扣电池座×2
滑动开关×1
原型 PCB 4x6 cm×1

项目简介

欢迎来到我的第一个教程!

今天要分享的项目是 Arduino 迷宫游戏,它进化成了一款口袋游戏机,功能不输 Arduboy 等同类 Arduino 游戏机。得益于预留的 ICSP 接口,它可以刷入我(或你)未来开发的新游戏。

几个月前我萌生了在 Arduino 上做迷宫游戏的想法,但不想硬编码一组固定迷宫。它应该能为每一关动态生成新迷宫,让你永远不会重复体验同一张地图 :)

编码过程颇具挑战,因为 Arduino 内存有限,后来我发现了几个用简单“Bo-Taoshi”算法生成迷宫的例子。起始代码参考了 SANUKI UDON 的项目《如何使用 ATTINY13A 制作迷宫生成器》。

步骤 1:面包板原型验证

打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏
打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏

起始阶段只在小面包板上接了 4 个方向按键,后来决定做成游戏机又增加了几个按键。大面包板上可见新增的 2 个按键,随后又加了第 3 个作为开始/暂停/菜单键。

步骤 2:所需物料清单

步骤 3:面包板接线 / 原理图

按上图连接各组件。

按键引脚分配:

SSD1306 OLED 屏幕:

蜂鸣器:

步骤 4:源代码

A-Maze 游戏源代码托管于 GitHub:https://github.com/alojzjakob/A-Maze

在 Arduino IDE 中打开并上传至开发板,或使用 ISP 编程器烧录芯片。推荐使用 USBTIny ISP,从未遇到问题;也可用普通 Arduino 作为编程器。

我的方案未使用外部晶振,ATmega328P 运行在 8MHz 内部振荡器上。更多信息请见:ArduinoToBreadboard 教程。

步骤 5:实物展示

打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏
打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏
打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏

步骤 6:外壳与小型化

打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏
打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏

若想制作永久成品,我设计了一个简单的 3D 打印外壳:Thingiverse 链接

上图展示了所有元件在 4x6 原型 PCB 上的布局。大部分按键走线在电池座下方,尽量平整以便电池座贴合。建议屏幕下方也做走线,因为 ATmega 芯片引脚焊接后裸露在屏幕下方,焊接完成后在屏幕下垫绝缘胶带防止短路。

ICSP 接口可选。若不预留,组装会简单得多(少 6 个连接),但需先烧录程序再焊接芯片,或使用 28 引脚 DIP 插座方便拆卸烧录。

代码

GitHub 仓库

https://github.com/alojzjakob/A-Maze

自定义零件与外壳

Thingiverse

https://www.thingiverse.com/thing:2851100 CAD 文件见 Thingiverse

原理图

打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏
打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏
打造 Arduino 掌上游戏机:A-Maze 紧凑型可刷新迷宫游戏

制造工艺

  1. DIY Photoshop 硬件控制台:Arduino Nano RP2040 实现快捷键外设
  2. Arduino Nano 与 MPU-6050 构建实时陀螺仪游戏
  3. TeleBall:自制 Arduino 掌上复古游戏机(打砖块 + 双人网球)
  4. 自制 Arduboy 克隆掌机:从面包板到专业 PCB
  5. 用 Arduino UNO 和 OLED 显示屏制作经典 Pong 游戏:分步教程
  6. DIY Arduino USB 游戏手柄 — 自制高性能游戏手柄
  7. 用 Arduino Nano 与 MAX7219 制作 24×16 LED Pong 游戏机
  8. Arduino 触控打砖块:在 2.4 英寸 TFT LCD 上重现经典街机
  9. 自制巨型乐高迷你人偶动画操作游戏:Arduino 控制舵机与音效
  10. Pixel Chaser:Arduino Nano 单键 NeoPixel 追逐小游戏
  11. Arduino 自动化 Chrome 恐龙游戏 - LDR 光敏电阻 + Python 实现全自动跳跃
  12. DIY LED 轮盘赌游戏机 —— Arduino Nano 打造单人桌面街机