基于Arduino做的“鱿鱼游戏”BOSS面具,支持动作检测
更新时间:2024-10-16 16:17 浏览量:50
这是一个结合了3D打印、舵机、PIR传感器和DFPlayer MP3模块的DIY项目,旨在制作一个带有动画眼睛的"鱿鱼游戏"老板面具。当检测到动作时,面具的眼睛会移动并播放声音,非常适合万圣节使用。
这个项目是一个很好的起点,特别适合那些想控制眼球运动和播放特定音频文件的小伙伴们。通过协调PIR传感器检测到的运动、舵机的移动和DFPlayer的音频播放,你可以实现一个非常优秀的动画效果。
眼睛及面具本身都是使用标准3D打印机和PLA打印出来的。打印质量为中等,如果你想要更好的外观,可以打磨然后平滑地涂上颜料。
3D打印组件包括:
你可以选择使用不同颜色的眼球,甚至在打印后手绘。万向节对眼睛的平滑运动至关重要,使其能够模拟真实的动作。
3D打印文件可以文末下载。
步骤2:组装眼睛现在我们有了3D打印的部件,是时候开始组装眼睛了。我们将使用五个MG90S舵机来控制眼睑和眼球的运动。以下是需要的材料:
5个MG90S舵机校准舵机:确保所有舵机初始位置为90度。这对于确保动作的正确校准非常关键。
安装舵机:将每个舵机放入3D打印的舵机支架中。两个舵机控制眼睛的左右运动,两个控制上下运动,一个用于眼睑。
连接眼球:使用回形针线将舵机与眼球连接,形成连杆结构。这会将舵机的旋转传递给眼球运动。添加万向节确保眼球运动平滑。
连接眼睑:最后一个舵机将控制眼睑,使你的面具能够眨眼或闭眼。使用相同的方法将眼睑连接到舵机上。
眼睛的运动依靠伺服电机在两个轴上(上下和左右)进行操控。每只眼睛的运动由两个伺服电机控制,而眼睑的开合则由一个伺服电机控制。
在我们继续项目的其他部分之前,先来测试一下眼睛确保一切正常。
以下是测试的简单电路设置:
使用Arduino IDE上传代码,并观察运动。可以根据需要调整角度和延迟时间。
我们的设置第一部分涉及将五个舵机连接到Arduino Nano。这些舵机将控制以下运动:
舵机1:左眼的水平运动舵机2:左眼的垂直运动舵机3:控制眼睑舵机4:右眼的垂直运动舵机5:右眼的水平运动以下是IO引脚分配:
舵机1:数字2舵机2:数字3舵机3:数字5舵机4:数字6舵机5:数字9确保你的舵机有合适的外部电源供电,因为Arduino板载的5V供电不足以为多个舵机供电。
舵机控制代码使用Servo库来管理每个舵机的运动。它定义了左右移动以及眼睑上下移动的具体角度。设置部分初始化了每个舵机,设定初始位置,并包含一个循环,以便在定义的角度之间平滑过渡。眼球的运动是根据代码中设定的条件触发,确保眼睛按照预期动作。
代码可以在文末下载。
设计一块PCB来整合所有组件,包括DFPlayer、PIR传感器、舵机、扬声器和Arduino Nano。目的是创建一个更稳定的电路和原型。
组件包括:
Arduino Nano(主控制器)DFPlayer MP3模块(用于声音)PIR传感器(运动检测)5个舵机输入扬声器用于音频输出作者选择了PCBWay进行电路板制作。Gerber文件和电路原理图可以在这一链接中找到:[PCBWay项目链接](https://www.pcbway.com/project/shareproject/The_Face_maker101_c4124445.html)。如果你没有焊接经验,也可以使用PCBWay的组装PCB服务。
组件清单包括用于电源需求的电容、用于电机数字输入的电阻、用于传感器和扬声器的接线端,以及DFPlayer和Arduino Nano用的公母针座。
电阻和电容(用于功率调节)接线端(用于传感器和扬声器连接)公/母针座(用于DFPlayer、Nano和电机)之后把所有的组件焊接到位。
一切都安装好,接下来需要将主代码上传到Arduino Nano中。这段代码整合了PIR传感器、舵机和DFPlayer MP3模块。原理很简单:当PIR传感器检测到运动时,舵机会移动以打开眼睑并移动眼球,同时DFPlayer播放声音。
代码的关键组成部分包括:
DFPlayer Mini是一款简单、低成本的MP3播放器,可以播放存储在microSD卡上的音频文件。在这个项目中,它将在PIR传感器检测到运动时播放声音文件。
将DFPlayer的RX引脚连接到Arduino Nano的数字11,将TX引脚连接到数字10。将扬声器连接到DFPlayer的SPK+和SPK-引脚用于声音输出。PIR传感器将检测运动并触发舵机运动和音频播放。将PIR传感器的输出引脚连接到Arduino Nano的数字7。使用9V外部电源为电路供电,确保稳定性能。布线和编码完成后,就可以测试你的项目了。
将代码上传到Arduino Nano。确保PIR传感器放置在易于检测运动的地方。当PIR传感器检测到运动时,控制眼睑的舵机应打开,DFPlayer应播放预加载的声音文件。然后,舵机将以协调的顺序移动眼球。主代码使用DFPlayer库来控制音频播放,同时与PIR传感器的输出进行协调。当检测到运动时,代码触发舵机移动眼睛并同时开始音频文件播放。这种同步增强了效果,使眼睛显得更加逼真。代码有效处理各种情况,确保眼球运动和声音播放之间的无缝过渡。
注意:附带文件“1.mp3”包含了项目中使用的声音“I see you(我看见你了)”。只需将音频文件上传到SD卡(SD卡格式必须为FAT32)。
文件和代码文末下载。
现在我们可以把所有组件组合到面具中了。
插入支撑杆:将两个支撑杆连接到面具背面。安装舵机支架:使用热熔胶固定舵机支架(附有舵机和眼球)到杆上。安装PIR传感器:在面具的正面钻一个6mm的小孔,来放置PIR传感器。它是一个迷你PIR传感器,所以可以完美地适配孔位。最后,使用双面胶或其他方法将面具安装在墙上。使用9V电源为面具供电,一切便准备就绪。
你可以根据个人喜好自定义此面具,比如添加不同的声音或更复杂的眼球动作。
如果你想让你的面具更加吸引人,还可以添加LED灯,在检测到运动时亮起来,增强视觉效果。
原文地址:https://www.instructables.com/Face-With-Animatronic-Eyes-Motion-Detection-and-Vo/
项目作者:MertArduino
转载请注明来源信息