【DIY制作】电子数字猜器
【DIY制作】电子数字猜器70 年代著名游戏的便携式电子版本,您必须解码由对手组成的 4 色代码(从 6 种不同的颜色中选择),每次尝试时,对手都会指示正确位置的正确颜色数量和错误位置的正确颜色数量。通过这些辅助工具,玩家更接近解决方案。可用的尝试次数是预先确定的,在那些没有猜对之后,你输了,相反,你赢了。多年来,他们制作了各种版本,使用更复杂的代码或数字而不是颜色,我的版本使用数字。
我用Arduino创建的代码遵循以下规则:在每次开始时,游戏都会生成一个随机的三位数数字,通过“A”键,最多可以更改 6 位数字,每按一次“A”键,它就会增加一位数字,最多 6 位,然后返回 3(假设循环)。一旦您选择了密码的复杂性,您就可以输入第一次尝试,如果您在输入时出错,则必须使用“B”键进行确认,在使用“B”确认之前,您可以删除带有“C”键的数字,然后键入所需的数字。确认尝试后,屏幕上将显示尝试代码的反馈(类似于 70 年代制作的电子版“Invicta Electronic Master Mind”),即出现 2 位数字:“FLAG”下方左侧的第一个数字将表示在正确位置猜到的数字数量,而“X”下方右侧的数字将表示正确数字的数量,但位置错误。ES中。我选择用三位数的代码来玩生成的我们不知道的密码:951尝试 123,反馈 01(猜中了数字 (1),但位置不正确)尝试 456,反馈 10(猜到的数字,在正确的位置 (5))尝试 789,反馈 01(猜到了一个数字 (9),但不在正确的位置)尝试 159,反馈 12(一个数字在正确的地方猜到(5),两个猜到但在错误的地方(1 和 9)尝试 195,反馈 03(数字都在那里 (1-9-5),但它们都在错误的地方)尝试 951,反馈 30(数字现在都在正确的位置,你赢了!游戏会考虑并记住玩家使用多少次尝试来达成解决方案。
所以玩的关键是:“A” 循环更改密码的长度(从 3 到 6)。“0 到 9”密码选择。“B”确认要尝试的代码。“C” 用作 BackSpace 键,用于更正不需要的条目。“D”离开游戏,显示当前密码(未猜到),以及在此之前使用的尝试次数。" * 显示每个代码长度(3-4-5 或 6)的“评分”记录,记录在屏幕上保留几秒钟。(它们存储在EEPROM中)。一旦您猜出代码然后赢得游戏,就会显示密码和使用的尝试次数。要从不可播放状态(例如初始屏幕或获胜摘要)继续,请按任意键。它包含一个 1602 I2C 显示屏和一个带 USB-Micro 端口的 Ardunio Nano。键盘是 4X4 薄膜。游戏使用 3 节 AA 电池运行。我故意不想用可充电锂电池做充电电路,首先是为了保持我所能保持的复古精神,然后考虑到消耗没有多大意义。但是,让我们看看您需要什么以及如何制作它......
70 年代著名游戏的便携式电子版本,需要解码对手组成的 4 色代码(从 6 种不同的颜色中选择),每次尝试时,对手都会指示正确位置的正确颜色数量和错误位置的正确颜色数量。通过这些辅助工具,玩家更接近解决方案。可用的尝试次数是预先确定的,如果你通过了这些尝试而没有猜到你输了,相反你赢了。多年来,他们制作了各种版本,使用更复杂的代码或数字而不是颜色,我的版本使用数字。我使用Arduino创建的代码遵循以下规则:在每次开始时,游戏都会生成一个随机的三位数数字,使用“A”键,可以将其更改为最多6位数字;每次按下“A”键时,它都会增加一位数字,最多达到 6,然后返回到 3(假设循环)。一旦您选择了密码的复杂性,您就可以输入第一次尝试,必须用“B”键确认;如果输入错误,在使用“B”确认之前,您可以删除带有“C”键的数字,然后键入所需的数字。一旦确认尝试,屏幕上将显示尝试代码的反馈(类似于 1970 年代也生产的电子版“Invicta Electronic Master Mind”),即会出现 2 位数字:“FLAG”下方左侧的第一个数字将指示在正确位置猜到的数字数量, 而“X”下方右侧的数字将表示正确数字的数量,但位置错误。例如。我选择用三位数的代码来玩生成的密码,我们不知道:951尝试 123,反馈 01(猜到了一个数字 (1),但不在正确的位置)尝试 456,反馈 10(猜到的数字并在正确的位置 (5))尝试 789,反馈 01(一个猜测的数字 (9),但不在正确的位置)尝试 159,反馈 12(一个数字猜到并在正确的位置 (5),两个猜到但在错误的位置(1 和 9)尝试 195,反馈 03(数字都在那里 (1-9-5),但它们都在错误的地方)尝试 951,反馈 30(数字现在都在正确的地方,你赢了!游戏会考虑并记住玩家需要多少次尝试才能找到解决方案。
所以玩的关键是:“A” 循环修改密码的长度(从 3 到 6)。“0 到 9”密码数字。“B” 确认要尝试的代码。“C”的工作方式类似于BackSpace键,用于更正不需要的条目。“D”退出游戏,显示当前密码(未猜到)以及在此之前所做的尝试。“ * ” 显示每个代码长度(3-4-5 或 6)的“分数”记录,记录在屏幕上保留几秒钟。(它们存储在 EEPROM 中)。
一旦您猜到了代码并因此赢得了游戏,就会显示密码和尝试次数。要从不可播放状态(例如初始屏幕或胜利摘要)继续,请按任意键。包含一个 I2C 1602 显示器和一个带 USB-Micro 端口的 Ardunio Nano。键盘是 4X4 薄膜。游戏使用 3 节 AA 电池运行。我故意不想用可充电锂电池创建充电电路,首先是为了尽可能地保持复古精神,然后考虑到消耗没有多大意义。
但是,让我们看看需要什么以及如何实现它......
所需材料
https://content.instructables.com/FQY/U71M/LPY2FSUH/FQYU71MLPY2FSUH.jpg?auto=webp&frame=1&crop=3:2&width=348&fit=bounds另外 3 张图片
Arduino nano(克隆),带 USB-Micro 端口 (x1)显示 LCD 1602 I2C (x1)4X4 薄膜键盘 (x1)3xAA LR6 电池座 (x1)2 位开关 SPDT 3Pin (x1)
MT3608 升压转换器(x1 )可选但推荐...可选但推荐...
虽然即使在 4.5V 电压下,整个事情似乎也能正常工作,但显示屏在 5V 时呈现得更多,所以我添加了一个 5V 稳压的升压电源。我本可以使用 4 节电池并解决这个问题,但它会增加占地面积,老实说它已经足够大了。
虽然在4.5V电压下一切似乎都很好,但显示器在5V电压下表现更好,所以我添加了一个5V稳压的升压电源。我本可以使用 4 节电池并解决这个问题,但它会增加体积,老实说它已经很大了。
8 针 2.54mm 排针 (x1)老实说,我使用了 Arduino Nano 包装盒中的 15 个引脚(按尺寸切割)
M2 自攻螺钉 (x若干)我用过这些,但它们也很好。
其他电缆(使用AWG30) ( x若干)所需工具烙铁焊工
制作步骤
第 1 步:设计电路图
在图片中,所有组件的连接图和实际组件。将 8 根电缆焊接到 8 针梳子上,然后焊接到 Arduino Nano(从 D2 到 D9)上(注意正确的顺序),检查几次,如果你错了,没有什么会爆炸,但没有什么可以正常工作。如果键盘出现故障,可能是您已经将连接器从里到外插入,请尝试将其翻转过来。还要按照说明将显示器连接到 Nano。(SDA>A4 / SCL>A5 / GND>GND / VCC>VIN)在任何情况下,您都可以在将组件插入零件之前连接所有组件。隔离未覆盖的斑点以避免出现问题。
在图像中,所有组件和实际组件的连接图。将 8 根电缆焊接到 8 针梳子上,然后焊接到 Arduino Nano(从 D2 到 D9)上,尊重图(注意正确的顺序),检查几次,如果犯了错误,没有什么会爆炸,但没有什么可以正常工作。如果键盘工作不正常,则可能是您向后插入了连接器,请尝试转动它。同时按照指示将显示器连接到 Nano。 (SDA>A4 / SCL>A5 / GND>GND / VCC>VIN)在任何情况下,您都可以在将组件插入零件之前将所有东西连接起来。隔离暴露点以避免出现问题。
第 2 步:打印零件
另外 3 张图片
零件可以用PLA打印成你想要的颜色,让你的想象力尽情发挥。
在图片中,您可以清楚地看到我如何将它们相对于打印床进行定位。层可以很容易地保持在经典的0.2mm,记得激活支撑。鉴于电池盖关闭杆的脆弱性,在使用之前,我建议您在杠杆的曲线上贴上一条绝缘胶带,并将厚度的泡沫橡胶插入插槽中,在照片中它应该清晰可见。这是为了防止它在第一次使用时损坏。
无论如何,如果您熟悉CAD并想反击,那么众所周知,一切都可以改进。因此,如果您想重新设计它,请自己看看。我认为,其他两部分已经到位。
零件可以用PLA打印成您想要的颜色,随心所欲。
在图像中,您可以清楚地看到我如何将它们相对于打印床进行定位。该层可以很容易地保持在经典的0.2mm,记得激活支撑。鉴于电池盖闭合杆的脆弱性,在使用之前,我建议在杆的曲线上贴上一条绝缘胶带,并在插槽中插入一层泡沫橡胶,它应该在照片中清晰可见。这是为了避免在第一次使用它时损坏它。
无论如何,如果您熟悉 CAD 并想搞砸,众所周知,一切都可以改进。所以看看你是否想重新设计它。我认为其他两部分已经按原样到位。
附件
[*]封面.stl下载 查看3D
[*]封底.stl下载查看3D
[*]电池盖.stl下载查看3D
第 3 步:组装
另外 5 张图片
电池座在中央部分有两个固定孔,在这些孔下,键盘的扁平电缆将通过,然后必须制作新孔,快速操作。在图片中,有在哪里钻孔的迹象。请记住对电池侧的孔进行锪孔埋头。
取下数字键盘贴纸的保护膜,将扁平电缆穿过前面的槽口后,将键盘定位如图所示。前面部分没问题,现在让我们转动零件以插入其余组件。
按照指示拧紧显示器,使用两颗 M2X5 螺丝,将控制杆穿过窗口,然后将机身压入到位,用烙铁尖端稍微变形 PLA 座椅以锁定它(或使用一滴热胶)。相同的过程也适用于Arduino Nano板。
弯曲键盘的扁平电缆并将其放在电池座下方,然后用四个 M2x5 螺钉拧紧电池座。
如图所示定位升压,连接键盘连接器,然后小心使用电缆,用六个 M2x10 螺钉拧紧所有东西,用后盖关闭所有东西。拧紧不要过度。我们可以在对Arduino进行编程后放置电池。
电池座在中央部分有两个固定孔,键盘的扁平电缆将从这些孔下方穿过,因此必须制作新孔,操作快速。在图像中,有钻孔位置的指示。请记住对电池侧的孔进行锪孔埋头。
从数字键盘贴纸上取下保护膜,将扁平电缆穿过正面的槽口后,将键盘放置在照片中。前部没问题,现在让我们转动零件以插入其余组件。按照指示拧紧显示屏,使用两颗 M2X5 螺丝,将操纵杆穿过窗户,然后将机身压入到位,用烙铁尖端稍微变形 PLA 座椅以阻挡它(或使用一滴热胶)。相同的过程也适用于Arduino Nano板。
折叠键盘的扁平电缆并将其放在电池座下方,然后用四个 M2x5 螺丝拧紧电池座。
按照指示放置升压,连接键盘连接器,然后注意电缆,用后盖关闭所有东西,用六个 M2x10 螺钉拧紧所有东西。收紧不要夸张。我们可以在对Arduino进行编程后放置电池。
第 4 步:Arduino 程序
要加载 .hex 代码,您只需要一根微型 USB 电缆,搜索并下载软件“AVRDUDESS”并将其设置为如图所示。
要重置 eeprom 内存以删除存在的任何记录,请先加载文件 (eeprom_eraser.hex),游戏显示屏将指示它已被删除。您现在可以上传程序文件 (NanoMasterMind_v3.hex)。
如果一切顺利,在拔下 USB 插头并以正确的方式放置 3 节 AA 电池后,您应该可以让游戏正常工作。对于任何错误,我提前道歉,英文版也是自动翻译的,所以会充满错误。小时。。。关闭电池仓并享受。
最后,我声明,对于因本指南而对人或物造成的任何性质的损害,我概不负责。你可以自由地不遵循它。
要下载 .hex 代码,您只需要一根microUSB 数据线,搜索并下载“AVRDUDESS”软件并将其设置为如图所示。
要重置 eeprom 内存以消除存在的任何记录,请先加载文件 (eeprom_eraser.hex),游戏显示屏将指示删除。
此时,您可以加载程序文件 (NanoMasterMind_v3.hex)。
如果一切顺利,在拔下 USB 插头并正确插入 3 节 AA 电池后,您应该可以让游戏正常工作。
对于任何错误,我提前道歉,英文版也是自动翻译的,所以会充满错误。
现在。。。关闭电池仓并享受。
最后,我声明,对于本指南对人或物造成的任何性质的损害,我不承担任何责任。你可以自由地不跟着她。
附件
[*]eeprom_eraser.hex下载
[*]NanoMasterMind_v3.hex下载
译自:https://www.instructables.com/Electronic-Nano-Master-Mind/
页:
[1]