基于Arduino的益智盒代码破解游戏-G

 

简介:代码破解游戏-基于Arduino的Puzzle Box


 


 


 

 

 

在本项目中,我将向您展示如何构建自己的密码游戏,在该游戏中,您将使用旋转编码器拨盘将随机生成的代码猜测到保险箱中。保险箱的前面有8个LED指示灯,可以告诉您您猜对了多少位数字以及正确位置的数字。

保险柜最初是打开的,可让您将某些物品放入内部隔间。Arduino和电池位于背面的单独隔间中。然后,您可以按下转盘以锁定保险柜,这是通过门内侧的伺服器完成的。然后,您需要通过转动拨盘选择数字并按下拨盘以确认每个数字来输入代码。选择第四个数字后,保险箱会使用门上的红色和绿色LED来显示正确的数字以及正确位置的数字。

红色的LED指示正确的数字,绿色的LED指示也位于正确的位置。因此,您需要点亮所有四个红色和绿色的LED才能破解密码并打开保险柜。

保险柜会跟踪您为破解代码而进行的猜测的次数,一旦设法破解,就会显示出来。起初听起来可能很复杂,但实际上并不那么困难,您只需要记住并基于您先前的猜测即可。大多数时候,您应该能够在5到10个猜测中破解代码,具体取决于您最初的猜测有多幸运。

材料清单:

为了构建此Crack the Code保险箱,您需要:

您还需要一些基本工具,木胶,胶枪和烙铁。

保险箱的零件需要进行激光切割。如果您无法使用激光切割机,请考虑使用在线激光切割服务,它们已经变得相当实惠,可以将零件切割并将其交付给您。

这是 K40激光切割机中使用的激光切割机

 

步骤1:组装盒子


 


 


 


 

我设计了Inkscape中的保险箱,该保险箱是从3mm MDF切割而成的。如果需要,您也可以从3mm的丙烯酸或胶合板上切割零件。如果使用其他厚度的材料,则需要调整盒子组件中的插槽,以使它们正确地装配在一起。

您可以在此处下载激光切割文件

盒子的外部有6个面板,后面板和前面板的前部和后部都有切口。面板在打印文件中标有标签,以便您可以跟踪它们。

表盘还使用一些激光切割件制成,然后将其粘在一起。

盒子的顶部和两侧贴有三块装饰面板,使它看起来更像一个保险箱。还有两个组成门的面板和一个分隔面板,该分隔面板进入箱子的中间,以将保险柜和电子柜分开。

这些零件可放在400 x 500mm MDF的单个零件上,如果激光切割器的大小不足以一次切割所有零件,则可以将它们分成较小的零件。

我首先将装饰面板粘贴到顶部和侧面。确保按正确的顺序拿到零件,以便知道哪一个是正确的。一共有三个不同的部分,顶部和底部是相同的,侧面是相同的,正面和背面是相同的。

面板干燥后,即可组装盒子。

确保中央分隔线的切口在侧面。这些用于将任何电线从包装盒的正面连接到Arduino和电池所在的包装盒的背面。

铰链也经过激光切割,一旦您排好门,它们就被粘在适当的位置。确保它们与门平行,否则您将很难打开它。您可能还需要从门的内侧铰接边缘打一点点,以免在门经过时不会擦在盒子的边缘上。

将四个正方形粘合到后面板后面的角上,以打孔后盖的螺钉。

然后,您可以在螺钉上钻孔,然后开始安装屏幕,Arduino,后盖以及编码器。

 

步骤2:连接电子设备


 


 


 

我在Tinkercad Circuits的面包板上设计了该电路,然后在OLED显示器中添加了该电路。

我们有8个LED连接到数字IO引脚6到13。锁定伺服器连接到引脚5。编码器连接到引脚2、3和4,OLED显示器连接到Arduino的I2C接口。

我为每个LED使用220欧姆电阻,将其直接焊接到负极LED上,并使用彩色带状电缆将组件连接在一起,以保持布线整洁,并帮助跟踪需要连接到每个Arduino引脚的导线。

我将带状电缆推到后部隔间,并将一些引脚排针焊在带状电缆上,以插入Arduino。

我还在后盖上安装了电源开关,并将其连接至电池插头,以连接至可充电电池为游戏供电。如果需要,您也可以使用9V电池。

最后,您需要将锁定伺服系统朝门的边缘定位,以便它越过盒子中的唇部,并且臂部能够向上推抵唇部的内部以锁定盒子。这不是最强大的锁定机制,但它确实很简单,并且可以很好地满足游戏的目的。

 

步骤3:对Arduino进行编程


 


 

我将不再详细介绍代码,因为其中包含很多内容。我已经写了详细的文章,解释了它的每个部分,以及通过此链接下载的代码-Crack The Code Game Code

总之; 我们首先导入库来控制OLED显示屏和伺服系统。

然后,我们为显示设置参数并创建所有变量。有许多变量专用于跟踪编码器旋转,因为这些变量是通过引脚2和3上的上升沿中断来完成的。

创建了两个代码数组,一个用于存储随机生成的代码,另一个用于存储用户当前的猜测。

在设置功能中,我们启动显示器,连接伺服,设置IO引脚模式,然后在显示器上显示Crack the Code文本动画。

循环功能使LED闪烁并显示消息推送以锁定保险箱,然后等待用户按下拨盘开始游戏。游戏结束时会运行相同的代码,然后显示尝试次数并等待拨号以开始新游戏。

编码器按钮上有一些反跳代码,一旦按下,伺服将锁定保险柜,并生成一个随机代码。然后,代码会调用一个函数,要求用户输入他们的猜测,然后再调用另一个函数来检查猜测,重复此过程,直到用户正确猜测代码为止。

有一个更新显示的代码的功能,每次转动编码器并且需要更改显示的代码时都会调用该功能。

生成新代码的功能只需将一个随机数字分配给代码数组中的四个元素中的每个元素。

输入代码猜测的功能允许用户使用编码器选择一个数字,然后通过向下按下编码器来确认每个数字输入。

然后,校验码猜测功能将检查猜测的代码,并确定多少个数字是正确的,以及多少个数字在正确的位置。

更新LED功能可根据用户的猜测切换正确数量的红色和绿色LED。

启动ani函数在启动时显示“破解代码”动画。

最后,两个中断功能管理来自编码器的输入,一个中断功能顺时针旋转使数字向上递增,而当逆时针旋转时使数字向下递增。

 

步骤4:玩破解代码游戏


 


 


 


 

学习如何玩游戏的最佳方法是在开始时观看视频,其中有两个在即将结束时正在玩游戏的示例。

保险柜最初是解锁的,可让您在其中放入一些物品。

然后,您按下转盘以锁定保险箱并生成新密码。

一旦选择了全部四个数字,就可以使用拨盘输入猜出的代码以递增数字,然后按下拨盘以转到下一个数字或确认代码。

然后,前面的LED会亮起,以告诉我们我们的猜测是正确的。

然后,您可以使用此反馈进行下一个猜测,直到您能够猜出正确的代码并再次打开保险柜为止。输入正确的密码后,保险箱将解锁,并显示您破解密码的尝试次数。

乐于构建自己的密码保险箱。

 


FAQ:

24条留言

/1个生命 (author)

抱歉,我忘了放激光切割文件和草图的链接。由于某些原因,当我编辑Instructable时更新没有通过,这里是:
激光切割文件-https://www.the-diy -life.com/crack-the-code-game-built-into-a-diy-safe-puzzle-box/#laserfiles
Arduino Sketch- https://www.the-diy-life.com/crack-the-code-game-built-into-a-diy-safe-puzzle-box/#laserfiles#arduinosketch

DAColee第4步

您是否碰巧有一个可以转换为3D打印的文件。我没有激光切割机,也没有激光切割机。

谢谢!

lena1235

您是否也可以将可以转换为3D打印的文件发送给我?我没有激光切割机,也没有激光切割机,

谢谢!

库奇伯特

非常适合寻宝^^做得好!

沉默

您好,第一笔非常棒的工作。但是,为什么要先将盒子解锁?我如何设法让盒子关闭直到4位数字是好数字?谢谢你。

斯图兹马斯特

我最喜欢的那个不是10岁的孩子

菲加

对不起,找不到链接。请更新
我找到的。观看完整视频。然后,您找到链接。

https://www.the-diy-life.com/crack-the-code-game-b ...

非常感谢:-)

米里兹第4步

文件在哪里(INO,STL?)

fred_dot_u

我也希望下载文件。这是一个很棒的项目。

Steviestickers

问题 11个月前

很棒,很乐意做这个,但是找不到激光切割文件?

egudim.photo

11个月前在第1步

请问您要共享激光切割的文件吗?

pasky3366

细节不错,打印文件在哪里?在PDF中,他们没有链接?

版权说明

破解代码游戏,基于Arduino的Puzzle Box
本文遵循CC BY-SA版权协议,转载请附上原文出处链接及本声明。
链接:https://chandianzi.cn/crack-the-code-game-arduino-based-puzzle-box.html
作者:thediylife
版权协议:CC BY-NC-SA
分类名称:arduino-10
资源标识:Crack-the-Code-Game-Arduino-Based-Puzzle-Box

生成海报
点赞 0

thediylife

我还没有学会写个人说明!

暂无评论

相关推荐

DIY自制arduino智能室内药草园-G

简介:智慧室内药草园在这本教学手册中,我将向您展示如何制作我的智能室内药草园!我对该项目有一些启发,首先是我对家用Aerogarden模型产生了一些兴趣。此外,我有一个未使用过的带有TFT触摸屏护罩的ArduinoMega,它已经在我的电子垃圾箱中呆了好几年了。我想出了为什么不尝试使用Arduino创建我自己的Aerogarden像药草园那样的机会,而我在隔离期间会有一些额外的时间!我最终对该项目做了一些额外的工作,因为我在每个土壤等分试样中都添加了湿度传感器,但是到目前为止,它已经被证明是有用的。总而言之,我对任何事情的结果都不满意!我刚刚完成了这个项目,并在2020年5月7日种植了一些罗勒

电子DIY:Arduino控制模型电梯-G

简介:Arduino控制的模型电梯在这本教程中,我将向您展示如何构建一个两层玩具电梯,该电梯具有工作的滑动门和可按需上下移动的轿厢。电梯的心脏是一个ArduinoUno(或本例中的AdafruitMetro),其顶部安装了AdafruitMotorShield。防护罩使驱动打开和关闭车门所需的两个伺服器以及使汽车上下运动的步进电机变得更加容易。实际的结构实际上是很容易的部分,可以按照您想要的任何方式进行制作。棘手的部分是使所有内容放入内部,并确保所有内容正确对齐。就是说,让我们开始吧!材料清单:ArduinoUno(或等效版本)Adafruit马达护罩穿孔板Arduino和Shield的接头连

让你的植物说话

简介:让植物说话在今天的教程中,我们将学习如何使用带有MP3播放器模块的Arduinonano进行工厂对话。基本上,我们将3个传感器连接到Arduino模块:LDR传感器。电容式湿度传感器。DHT22温湿度传感器。我们将在Arduino中读取传感器值并定义每个传感器的限制,然后基于这些限制,Arduino将向MP3模块发送命令以播放特定警报。在本教程中,我们不会编写任何代码脚本,而是使用XODide软件。如果您不熟悉XOD,则XOD是免费的开放源代码且功能强大的微控制器可视化编程软件。它使用图形界面将硬件和计算元素表示为节点,这些节点可以连接在一起以允许数据在对象之间流动。您可以从下面的链接下

自制一辆arduino主控的小型铲车

简介:JCB机器JCB机械非常受欢迎,因为它是民用工业中的重型建筑设备。JCB也被称为反铲装载机。它可用于非常快速地装卸卡车。它用于道路建设,卡车装卸以及更多其他用途。每个建筑公司都使用它,因为它足够快并且可以举起沉重的重量。步骤1:视频步骤2:使用的材料1,ArduinoNano-1个2.游戏杆模块-2个3.伺服电机(180度)-4号4.公对母跳线-根据要求5.公对公跳线-根据要求6.直流轴电机-2个7.按钮-2个8.迷你面包板9.电源-5V1Amps步骤3:3D零件这些是JCB的3D装配零件。步骤4:从物理建筑开始-伺服电机1首先使用Fevikwik将带有附接部件的臂固定在相应的插槽中。然