二进制开关游戏——Arduino UNO 项目
元器件与物料
- Arduino UNO ×1
- SPDT 拨码开关 ×7
- M3×8 内六角圆柱头螺丝 ×15
- M3 螺母 ×3
- Adafruit 标准 LCD 16×2 白字蓝底 ×1
- 40mm 柱状支撑 ×4
- Adafruit 硅胶包裹绞合线 30AWG(多色) ×1
- 开关装饰螺母 1/4-40(可选,美观用) ×9
- 带白色 LED 环的金属按钮 16mm 白色 瞬动 ×1
项目简介
这是一个我在 Autodesk Circuits 上创建的学习二进制数的游戏。可在线体验:https://circuits.io/circuits/2924784-binary-game
若想自行制作,文件和代码在 GitHub:https://github.com/keebie81/BinaryGame
步骤 1:所需零件
(同上表,含详细说明)
步骤 2:设计外壳
使用 Fusion 360 设计外壳,确认所有零件适配后 3D 打印。接着制作两块面板的 SVG 文件,按 Ponoko 模板准备激光切割文件。底板上印有游戏说明。约一周后收到零件。
步骤 3:组装顶板
依次安装 9 个拨码开关、M3 螺丝固定 LCD、安装间隔柱、最后装上 16mm 金属按钮。
步骤 4:组装底板
用 3 颗 M3 螺丝和螺母固定 Arduino 开发板。(原版激光切割孔位有误,GitHub 模板已修正)
步骤 5:接线
按原理图接线。注意:原设计使用数字引脚 0 和 1,但若开关位置不正确会干扰上传代码。作者将导线焊接到插在 Arduino 上的公针座,方便日后拆卸。LCD 也使用母排焊接。
重要: 需验证拨码开关的通断逻辑。所用开关拨杆向下时中间与上引脚导通。作者接错线后修改了代码,本教程提供的代码假设接线正确。金属按钮应接常开触点。
步骤 6:供电
通过 USB 线连接电脑供电,或使用移动电源(如 Adafruit 1959 产品)。
步骤 7:游戏规则
开机后,简单模式给出 0-15 随机数,困难模式给出 0-255。
拨动开关:向上=1,向下=0,按按钮验证。正确则播放提示音并给出新数字;错误则蜂鸣器报警并提示重试。
开关从左至右权值:2⁷(128)、2⁶(64)、2⁵(32)、2⁴(16)、2³(8)、2²(4)、2¹(2)、2⁰(1)。
例:随机数 18 → 二进制 0001 0010(16+2)。255 → 1111 1111(所有位相加)。
步骤 8:游戏演示视频
(原文嵌入视频)
代码
完整代码托管于 GitHub:https://github.com/keebie81/BinaryGame
原理图
(原文包含原理图图片)
制造工艺