如何成为魔术师(第2部分)。 技术后台

极客时间,你好! 如所承诺的,这是关于我们的魔法小世界的最后一篇文章的延续。 今天,我将向您介绍魔术任务的后台,做出了哪些决定以及我们如何得出结论,即该任务具有这样的场景和外观。


因为 在完成任务之前,我很喜欢电子技术,尤其是用C语言编程AVR微控制器,因此决定尝试最大程度地发挥这种潜力,从而有可能为任务增加最大的交互性,兴趣和激情! 另外,我真的不想让任务看起来像其他任务(当时在我们的城市工作)。


在考虑新场景时,我们明确地决定,我们将没有锁,没有钥匙,没有标准任务,总的来说,将电子设备的功能发挥到极致!


让我们仔细看一下技术部分,现在,我将告诉您如何使电子产品尽可能地统一



一般评论


我们将省略任务的初始实现(也许稍后再说),而将重点放在完成的时刻(此后任务具有最终形式)。


在讨论了该任务的新愿景之后,我意识到一个微控制器的功能已经很小,您需要连接一台计算机,将所有设备组合到一个系统中。 为了理解图片的完整性,编译了所有设备及其相互作用的示意图:



从图中可能会认为计算机是主要计算机,但这并非完全正确,它将起管理和播放音轨的作用,正如您在上一篇文章中已经注意到的那样,我们有很多。


Atmega16微控制器成为整个系统的核心(唯一的选择标准是足够数量的GPIO),它通过UART与计算机上的程序进行通信。 所有其他设备均在Atmega8微控制器上制造(就GPIO的数量而言,这是极好的,而且价格合理)。


大多数电路板分别焊接在最凉爽的双面面包板上,所有细节都放在DIP外壳中。 从追求的开始就保留了一些委员会。


电脑程序

主程序窗口:



紧急情况的扩展窗口:



错误窗口:



主板仅接收(!)来自其他设备的离散信号(通过可在照片中看到的光耦合器),与计算机通信,控制存储池中的LED。


板照片


主要魔法大炮:魔杖


魔杖是一点魔力,它的尖端内置了钕磁铁。 他只花了2美元,就使她成为了木材的好爷爷。 主要问题是要推入最大直径的磁铁,以使尖端尽可能薄。



现在,让我们仔细看看每个设备。


红枝


这本书



图书的音频事件由安装在架子上的预告片触发。 它最初是关闭的,要打开它,您需要带一根带有磁铁的魔杖。 这本书就像一个迷你保险箱:它具有电池(锂离子3S),一个簧片开关和一个控制机电闩锁的晶体管键(以免所有电流流过簧片开关。同时,您可以看到簧片开关内部发出漂亮的光芒,但不会持续很长时间)以及“保持”联系的可能性)。 这里的一切都很简单-提起魔杖,簧片开关通过电流,晶体管打开,闩锁螺栓缩回。 脚趾保险柜的内部看起来像这样:



最后的看法:



多比



因为 任务是以最具交互性的方式将袜子带到Dobby,因此选择取决于RFID技术。 为此,我必须在袜子上缝上一个小钥匙链(例如从入口处的对讲机),然后将与Dobby相同的手势放在袜子上。 Dobby图片的后面是RFID模块。


该设备基于Atmega8微控制器和流行的RC522 RFID模块。 提起袜子后(响应半径最大为4厘米是完美的),场效应晶体管打开盒子中的电磁闩锁,借助弹簧将盖子提起,信号被发送到主板,并且红颜色的灯在存储碗中亮起。


手续费

蓝枝


壁炉



壁炉自然是假的。 由型材和石膏板制成,用砖瓦粘合。


电子在Atmega8上组装。 每个砖块中均安装有拖车,并连接了蓝色LED灯条。 砖块本身位于窗帘的一侧,另一侧则制成带有复位弹簧的原始导轨。 首次单击任何积木时,所有按钮(其中有7个)点亮100毫秒,并使用步进电机将眼睛从图片上移开,信号将到达主板,内存将打开并且内存碗中的蓝灯点亮。


步进电机和LED灯带使用Darlington ULN2003晶体管组件进行控制(出于好奇,理论部分可以在此处阅读)。


现在,每次点击任何积木都会反转其状态(单击一次,然后单击下一步,然后关闭),等等。第一次单击任何积木时,红外传感器会隐藏在图片中:IR LED亮起,辐射正在从靠近的播放器处散发出来,到使用 集体农场 通过电阻器的精确调整可在输出端提供离散信号0或1。



还有一种针对杂散照明的解决方案(特别是如果用户开始将灯照在壁炉上的情况下会发生这种情况),主IR晶体管的开路中包含一个(遮蔽),当暴露在光线下时,它仅会关闭微控制器的反应。


触发红外传感器后,微控制器还会打开需要按下的所需组合的闪烁(突出显示),并且顺便说一下,按下的顺序也起作用。 闪烁所需的组合将关闭所有先前压过的砖块。


按下正确的组合后,借助比棺材更大的机电闩锁打开了图片。 为此,我什至只需要为此锁存器放置一个相当大的变压器。


(通常,这些锁存器很弱,尽管它们在峰值时消耗大量电流。您需要非常小心地控制它们,如果给它施加超过5秒的电流,它可能会烧坏,这就是我烧掉一个锁存器的方式)


访问技术节点和董事会


绿枝


棺材


桌子上的拖车上有一个不起眼的罐子,如果提起它,大锅中的绿灯会亮起,棺材会打开,其中有门的提示。



(这与多比的笑话在复活节彩蛋中所需要的罐子相同,在第一篇文章中有介绍)




当您第一次完全向上和向下按下手柄时(为此,您必须在门的背面放置2个端部开关才能对完全按下手柄做出响应),门上的蛇眼开始闪烁。



可以从提示中了解正确的开门算法:



后来发现,这个提示对于玩家来说非常复杂。 随后,它被一个更容易理解的代替

在暂停(5s)期间,微控制器仅挂起延迟,而在按下期间,变量增加。 因此,如果长时间长时间用力按手柄,无论如何它都会打开,顺便说一句,有些人以这种方式打开了门,却不知道他们是如何做的。 为了不使用单独的微控制器来制作新板来完成此简单任务,在迷宫板上找到了几个空闲的引脚,并且所有东西都连接在那里。


胸镜


在胸部的盖子上应用了10个魔术符号,并将芦苇粘在其下方。
用户需要将魔杖调整到3个正确的字符(顺序无关紧要。照片上带有对勾标记),但是其他图形也有簧片开关,即使不正确,也可以握住该魔杖以取消先前的单击(因此无法通过将魔杖握住来打开胸部)连续的所有字符)。 选择正确的符号后,胸中的电磁铁会打开(最喜欢的Atmega8和ULN2003在胸中)。 在此阶段,信号被发送到迷宫式拨号盘(通过一个MK键从一个MK的引脚到另一个MK的引脚的通用单元),并且旋转声在迷宫中开始旋转。



迷宫



我们低估了这个庞大的设计。 她花了很多时间和精力来创作,但是结果值得。 对于“墙上的黑色大物体”的工作,需要很多GPIO(所有操作都以最原始的方式完成-没有多路复用器/多路分解器,只有硬核!),所以我不得不将设备分解为功能单元-表盘和迷宫本身。 每个节点都在同一Atmega8上制成。


组装过程

在迷宫中,原理很简单(尽管那时似乎不太简单:)。 许多问题是由于球的路径末端存在球而引起的。 随机干扰一直在干扰开放式光耦合器的运行。


板照片

这些黄色电容器帮助解决了光耦合器随机运行的问题。


通过迷宫后,进入绿色球体的通道就会打开。 从车门上锁定了用于访问它的系统。 (就价格/收缩力而言,他是一个怪物!)。


最初,没有计划为比赛分配1个球,但是我不得不在最后阶段进行调整,因为 在磁性球中,它们可以“粘在一起”并分开,这是一个很大的问题,因此,为了在游戏中尽可能排除这种可能性,决定轮流发行球。 喂料是使用步进电机和从旧的纺丝杆上改良而来的挡板完成的。


机制照片

合力


象棋



经过深思熟虑,考虑了一个具有单一算法的任务(在某些条件下,玩家对此进行了保留)。 剩下的唯一事情就是实施一个象棋运动系统,并对棋手的动作做出反应:)


在集体农场生产的支持下,实施了以下trrrresh设计:


该机构由M8螺柱和螺母,中国轴承和木头制成。 在每个图中都安装了一块磁铁,借助该机构可以移动它们。 发动机和双头螺栓之间的连接是由胶枪的一部分制成的,这是我们的消耗品,因为硅胶的消耗量急剧增加。


板照片


谁知道,我们从哈利·波特国际象棋棋盘中拿走了棋子,它们仍然发出不同的声音,辉光等。 我不能只留下这些特征,我将这些披肩移到了木板下,结果发现,当它们与马同行时,它就近了,最后您可以听到堕落国王的声音。
赢得国际象棋胜利后,橱柜门打开(借助家具的气轨快速打开)。


在继续讨论最有趣的内容之前,我想谈一谈一个大锅(一碗记忆)和一个对讲机,以便在游戏过程中管理员和访客之间进行交流。


一碗回忆


首先,我的祖父在车库里发现了这种10升的铝制大锅,这是苏联烹调的一种特质:)长期以来,人们想念一碗用来吹起烟气(实际上是蒸汽)的记忆的想法一直困扰着人们,但我们还是采取了有效的措施过一会儿。


数量为6(!!!)的超声波加湿器,总功率约为100瓦,已成为雾化剂!



las,没有保存照片,但是设备非常简单,根据方案制作:



尺寸设计得很适合此系统在桌子上(抽屉空间)。


对讲机


我对模拟电路的了解不足,无法快速解决此问题。 经过漫长而失败的尝试(但后来证明,解决方案接近Chetrov!),我请赫尔森(Kherson)的朋友把我做成这样的设备。


过了一段时间我得到了这样的设备


前置放大器是在低噪声运算放大器NE5532上制成的,之后价格为TDA2006。


前置放大器电路

最后,我们进入房间中最复杂的系统之一-与黑暗之王的最后一战!


打架


这个想法是要使玩家(哈利·波特)与伏地魔至少有一个大致相似的“战斗”。 为了达到更好的效果,增加了风(2个风扇)。 我们考虑了很多选择,然后一个朋友告诉我有关可寻址WS2812 LED的信息。 现在,即使是最懒惰的Arduino驱动程序都在谈论他们做了什么很酷的事情,但后来WS2812鲜为人知,但它们成了我们的救赎! 没有他们,实现我们的想法简直是不现实的!


将5m LED条折叠成两半,并将舌簧开关的电线伸入内部。 前5m磁带被安全地刻录,以节省相同磁带的电源:)


我们通过设置时间开始开发:



一些麻烦增加了粉丝的数量。 如果您经常带/取下魔杖,然后使用继电器(最初我尝试通过继电器打开风扇),则微控制器只是拆了塔。 结果,我了解了通过光仿真器控制220V负载的能力。 在那之后,我不使用中继:)


还值得一提的是,需要大量的计算能力(Atmega8规模)来解决LED条形控制问题。 起初,磁带的工作挂得非常多,我们受了很长时间,我们无法理解为什么。 结果,我不得不在互联网上找到为该磁带编写磁带库的人,并寻求他的帮助。 原因很简单:MK没有时间在中断处理程序中执行代码,并且一旦我们修复了它,一切就可以完美地工作了!


板照片


微控制器程序
电脑程序


根据我们的想法,这应该是最后一篇文章,但是我们仍然想告诉您很多有趣的事情,因此我想宣布发布另外两篇关于如何在办公室制作真正的霍格沃茨(1)和鞭打以及未实现的想法(2) 的文章


会很有趣!

Source: https://habr.com/ru/post/zh-CN411059/


All Articles