资料介绍
描述
不久前,我构建了我的Touch-A-Mole游戏,它是 Whack-A-Mole 游戏的一个版本,它使用 4x4 电容式触摸板,每个触摸板的中间都装有 LED。在构建它时,我想如果我用双色 LED 代替单色 LED,我可以把它变成井字游戏的一个版本。
Touch Tic-Tac-Toe 游戏演示
设计
我选择使用 ATtiny3216 微处理器作为游戏的大脑。它有足够的引脚来控制 LED、按钮和扬声器。它可以以 20MHz 运行,具有 32k 的闪存和 2k 的 RAM。
双色 LED 是共阴极,阳极成列连接,并通过限流电阻连接到 ATtiny3216 上的引脚。阴极成排连接,由 ATtiny3216 控制的晶体管启用。
4x4 电容式触摸开关面板由两条信号线控制。虽然 PCB 有时会标记这些引脚 SCL 和 SDA,但它不使用 I2C 协议。它们实际上只是时钟引脚和数据引脚,它们使用专有的两线协议。
我设计了一个 PCB 来固定 LED 和表面贴装组件。如果您希望将电路板商业化或您可以自己制作,则已包含 Eagle 文件。我用碳粉的方法来制作我的。
建造
首先添加 SMD 组件。我发现在焊接 SMD 元件时使用焊膏比使用卷盘中的焊料更容易。
如果您的电路板是单面的,请添加链接。
在触摸板上的 3/6 引脚之间连接一个链接,以启用所有 16 个触摸板。
小心地在每个触摸板中间为 LED 钻一个 2.5 毫米的孔。当心 PAD 5。有一条轨道非常靠近打击垫底面的中心。如果你打破它(我在我的构建中做了),你需要刮掉孔两侧的抗蚀剂并焊接一些镀锡铜线以绕过孔。
当我建造我的时,我先添加了 LED,然后在焊接所有组件后添加了垫片。我建议您先打印并添加垫片,然后将它们粘到 PCB 上。插入 LED(确保它们的方向正确),但不要焊接它们。将触摸板放在垫片上并向下推每个 LED,使它们位于各自孔的中间,并且在将它们焊接到位之前硬靠在触摸板上。
添加连接两块板的四根镀锡铜线(VCC、GND、SCL、SDO)。
3D 打印保险杠并将组件添加到其中。
最后使用 UPDI 程序员上传代码(见下一节)。
编程
ATtiny3216 是新一代 ATtiny 微处理器的一部分。与 ATtiny85 等早期系列不同,新品种使用 RESET 引脚对 CPU 进行编程。要对其进行编程,您需要一个 UPDI 程序员。我用 Arduino Nano 做了一个。您可以在Create Your Own UPDI Programmer中找到完整的构建说明。它还包含将megaTinyCore板添加到 IDE 的说明。
USB 插座为游戏提供电源 (5V)。ATtiny3216 处理器的 UPDI 引脚连接到 USB 插座上的 D+ 引脚。这允许使用定制电缆对 ATtiny3216 进行编程。USB Mini 插头可在 eBay 上买到,或者您可以剪断旧的 USB Mini 电缆。
玩游戏
通电后,计算机将迈出第一步。所有后续游戏,而单位保留权力将假定玩家首先开始。
该软件
当计算机需要移动时,它会尝试每个可用的方格并评估移动的结果。为此,对于它测试的每个方格,它必须测试用户可以做出的每一个可能的移动并评估这些移动中的每一个。这个过程以递归方式继续,直到棋盘满了,没有赢家,或者玩家赢了,或者电脑赢了。这意味着要评估的测试总数(假设计算机启动)为 16!或大约 21 万亿个排列。显然,使用 20MHz 处理器,这将需要很长时间。同样在 4x4 游戏中,计算机在评估每一步棋时需要测试 19 种获胜组合。
为了使游戏具有可玩性,它看起来只有 3 到 4 步。它有点松散,因为如果它发现它不可能获胜的情况,它基本上会认输并选择任何可用的方格。
在 Game.h 中有以下几行:
//Comment out for 4x4 tic-tac-toe
//#define _3X3
//Comment out to store winning table in RAM (reduces CPU cyles in evaulation function)
//#define WINNING_MOVES_IN_RAM
//Comment out to use C version of evaluateBoard function
//#define EVAL_IN_ASSEMBLER
取消注释 #define _3X3 行会将游戏配置为仅使用左上角的 9 个触摸板。您无法击败 3x3 游戏,因为它可以预见到游戏结束。你能做的最好的就是平局。
取消注释 #define WINNING_MOVES_IN_RAM 会将获胜组合表放入 RAM 而不是闪存中。RAM 比闪存快,但由于只有 2K 可用 RAM,由于递归游戏评估,堆栈确实需要它。
不要取消注释#define EVAL_IN_ASSEMBLER。我试图看看我可以加快评估板功能的速度。任何速度增加都不明显。
- 触摸感应arduino工厂开源分享 3次下载
- 免触摸开关开源构建 0次下载
- KOKO游戏机开源分享 1次下载
- Arduino迷宫游戏开源分享 1次下载
- 液晶记忆游戏开源分享 2次下载
- Arduino井字游戏和熄灯游戏开源分享 0次下载
- LED版赛车游戏开源分享 0次下载
- 液晶游戏机开源分享 1次下载
- LED灯打地鼠游戏开源分享 1次下载
- Arduino扫雷游戏开源分享 0次下载
- 液晶弓箭游戏开源分享 0次下载
- 触摸屏Theremin开源分享 2次下载
- 液晶游戏开源分享 0次下载
- 接口usb游戏开源分享 2次下载
- Actionoiseboard游戏板开源项目 1次下载
- 触摸按键的工作原理是什么 589次阅读
- 电容触摸屏原理 电容触摸屏和电阻触摸屏有什么区别 530次阅读
- 使用Rust和Nomad进行开源游戏服务器管理 359次阅读
- 触摸屏静电浪涌保护解决方案 718次阅读
- 基于制造带有电容式触摸屏的数码运动相机 2070次阅读
- 电阻式触摸屏的原理_电阻式触摸屏应用 1.1w次阅读
- 多点触摸屏是什么意思_多点触摸屏原理 1w次阅读
- 触摸式开关优缺点_触摸式开关的功能特点 1.3w次阅读
- 电阻触摸屏和电容触摸屏哪个更具有优势 1.4w次阅读
- 液晶触摸屏中的可编程控逻辑 1111次阅读
- 触摸技术的深入剖析及触摸屏原理说明 2.1w次阅读
- 触摸延时开关接线图解_触摸延时开关原理图_触摸延时开关电路 6.7w次阅读
- 触摸屏技术是谁发明的_触摸屏技术的发展历程 2.8w次阅读
- 触摸延时开关电路图_触摸延时开关原理图_触摸延时开关如何接线 3.7w次阅读
- 基于MeeGo的电容式触摸屏驱动设计 1239次阅读
下载排行
本周
- 1山景DSP芯片AP8248A2数据手册
- 1.06 MB | 532次下载 | 免费
- 2RK3399完整板原理图(支持平板,盒子VR)
- 3.28 MB | 339次下载 | 免费
- 3TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 4DFM软件使用教程
- 0.84 MB | 295次下载 | 免费
- 5元宇宙深度解析—未来的未来-风口还是泡沫
- 6.40 MB | 227次下载 | 免费
- 6迪文DGUS开发指南
- 31.67 MB | 194次下载 | 免费
- 7元宇宙底层硬件系列报告
- 13.42 MB | 182次下载 | 免费
- 8FP5207XR-G1中文应用手册
- 1.09 MB | 178次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33566次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6656次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537798次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420027次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191187次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多