基于Arduino的仿生面具

简介: 基于Arduino的仿生面具

DIY 万圣节恐怖惊喜:自制动态眼动和声音感应的仿生面具

引言

万圣节即将来临,你是否准备好制作一些既诡异又迷人的装饰来增添节日气氛呢?今天,我们将一起探索如何使用3D打印、伺服电机、PIR传感器和DFPlayer MP3模块来制作一个动态眼动和声音感应的仿生面具。这个项目不仅适合初学者,也是那些想要控制眼睛运动和播放特定音频文件的爱好者的理想起点。

步骤1:3D打印部件

首先,我们需要使用标准的3D打印机和PLA材料来打印仿生眼睛的部件和面具本身。打印出的部件质量中等,但如果想要更光滑的表面,可以进行打磨和上色。

3D打印组件列表:

  1. 面具(脸部)
  2. 两个眼球
  3. 两个眼睑
  4. 伺服电机支架(用于固定所有5个伺服电机)
  5. 万向节(使眼睛能够平滑运动)
  6. 两个支撑面具内部的横杆
  7. 一个背板,用于覆盖电子元件并便于挂在墙上

步骤2:组装动态眼动系统

接下来,我们将使用五个MG90S伺服电机来控制眼睑和眼球的运动。

所需组件:

  1. 5个MG90S伺服电机
  2. 金属线(我们使用了一些回形针来形成连接杆)
  3. 钳子和钢丝钳(用于塑形和剪切回形针)

组装过程:

  1. 居中伺服电机:确保所有伺服电机初始位置为90度,这对于确保运动校准至关重要。
  2. 安装伺服电机:将每个伺服电机放入3D打印的伺服电机支架中。两个伺服电机控制眼睛的左右运动,两个控制上下运动,一个控制眼睑。
  3. 连接眼球:使用回形针线连接伺服电机和眼球,形成连杆。万向节的加入确保了眼球运动的平滑性。
  4. 连接眼睑:最后一个伺服电机控制眼睑,使面具能够眨眼或闭眼。

步骤3:测试动态眼动系统

在继续其他部分之前,我们需要测试动态眼动系统以确保一切正常工作。

简单电路设置:

  1. 将伺服电机连接到面包板。
  2. 上传一个简单的伺服电机控制代码,使眼睛向各个方向移动并使眼睑眨眼。

步骤4:印刷电路板(PCB)

为了整合所有组件,包括DFPlayer、PIR传感器、伺服电机、扬声器和Arduino Nano,我们设计了一个印刷电路板(PCB)。

步骤5:面部主代码

现在,一切都组装好了,是时候将主代码上传到Arduino Nano了。这个代码整合了PIR传感器、伺服电机和DFPlayer MP3模块。

步骤6:最终组装

最后,我们将所有东西组装到面具中。

  1. 插入横杆:将两个支撑横杆固定在面具的背面。
  2. 安装伺服电机支架:使用热胶将伺服电机支架(带有伺服电机和眼睛)固定在横杆上。
  3. 安装PIR传感器:在面具前部钻一个小6mm的孔以放置PIR传感器。
  4. 放置扬声器:将扬声器放置在面具内部,确保其不可见。
  5. 安装PCB:将PCB固定在面具内部并进行所有必要的连接。
  6. 封闭面具:一旦一切都连接好并就位,使用后盖封闭电子元件。

最后,使用双面胶带或其他方法将面具挂在墙上。使用9V电源为面具供电,一切就绪!

这个项目结合了创造力、技术和一点恐怖元素,非常适合万圣节季节。通过一些调整,你可以根据自己的喜好定制这个面具,添加不同的声音或更复杂的眼动。制作愉快!

额外的想法: 如果你想让项目更加吸引人,可以添加在检测到运动时点亮的LED灯,增强视觉效果。


希望这篇博文能够帮助你制作出令人印象深刻的万圣节装饰!如果你有任何问题或需要更多帮助,请随时在评论区提问。祝你制作愉快!

希望你喜欢这个项目,并在构建过程中找到乐趣!如果你有任何问题或需要帮助,欢迎在评论区交流。

作者:Svan.


注意:本博文为不得在未经本人同意进行转载或者二次创作,违者必究!!!

目录
相关文章
|
大数据 开发者 程序员
连接真实世界,高德地图背后的算法演进和创新
出行是生活的重要部分。我们都习惯了出门用导航,但一个导航App背后,需要什么样的数据和算法来支撑呢?算法又如何来推动出行体验的进步和创新呢?在阿里CIO学院攻“疫”技术公益大咖说的第十四场直播中高德地图首席科学家任小枫将为大家讲解高德地图背后的算法的演进和创新,分别从地图制作、搜索推荐、路径规划、时
12604 1
|
前端开发 JavaScript Java
Java 开发中 Swing 界面嵌入浏览器实现方法详解
摘要:Java中嵌入浏览器可通过多种技术实现:1) JCEF框架利用Chromium内核,适合复杂网页;2) JEditorPane组件支持简单HTML显示,但功能有限;3) DJNativeSwing-SWT可内嵌浏览器,需特定内核支持;4) JavaFX WebView结合Swing可完美支持现代网页技术。每种方案各有特点,开发者需根据项目需求选择合适方法,如JCEF适合高性能要求,JEditorPane适合简单展示。(149字)
1336 1
|
监控 安全 数据安全/隐私保护
ERP系统中的组织架构与权限管理解析
【7月更文挑战第25天】 ERP系统中的组织架构与权限管理解析
1668 2
|
SQL JSON 分布式计算
干货 | Elasticsearch、Kibana数据导出实战
以下两个导出问题来自Elastic中文社区。 问题1、kibana怎么导出查询数据? 问题2:elasticsearch数据导出 就像数据库数据导出一样,elasticsearch可以么? 或者找到它磁盘上存放数据的位置,拷贝出来,放到另一个es服务器上或者转成自己要的数据格式?
干货 | Elasticsearch、Kibana数据导出实战
|
存储 自然语言处理 NoSQL
Vector | Graph:蚂蚁首个开源Graph RAG框架设计解读
引入知识图谱技术后,传统RAG链路到Graph RAG链路会有什么样的变化,如何兼容RAG中的向量数据库(Vector Database)和图数据库(Graph Database)基座,以及蚂蚁的Graph RAG开源技术方案和未来优化方向。
9102 2
Vector | Graph:蚂蚁首个开源Graph RAG框架设计解读
|
编译器 C# Windows
C#基础:手动编译一个.cs源代码文件并生成.exe可执行文件
通过上述步骤,应该能够高效准确地编译C#源代码并生成相应的可执行文件。此外,这一过程强调了对命令行编译器的理解,这在调试和自动化编译流程中是非常重要的。
2040 2
|
数据可视化 前端开发 JavaScript
前端框架与库-D3.js数据可视化基础
【7月更文挑战第21天】D3.js是Web开发中创建动态、交互图表的利器,适用于从基础条形图到复杂地理热力图的广泛需求。核心概念涉及数据绑定至DOM,支持动态更新。初学者常遇难题包括不当数据绑定、选择器误用、过渡动画过量及坐标轴配置失误。避免策略需善用`.data()`, `.enter().append()`, `.exit().remove()`管理数据,熟知选择器差异,适度应用`.transition()`, 并精准设定坐标轴。示例条形图代码展示了数据绑定至`<rect>`元素的过程,奠定基础,助你进阶复杂项目。
674 4
|
搜索推荐 开发者 SEO
CSDN 大规模抓取 GitHub 上的项目到 GitCode,伪造开发者主页引公愤
后续影响和发展方向 GitCode是CSDN开发的一个代码托管平台,为了快速获得搜索引擎流量,CSDN采用了惯用的手段,直接搬运大量内容进行填充。接下来,他们很可能会通过SEO农场来污染搜索引擎,以获得更多的流量。这种操作不仅对开发者极不尊重,也对整个互联网环境造成了严重的污染。 写在最后 GitCode 已经出来有挺长时间了,期间没闹出过什么问题。近期,不知道 GitCode 内部的哪位领导脑子被驴踢了,做出搬运 GitHub 的仓库来丰富自己平台内容的决定。 这种无视开发者权益、恶意搬运项目的行为,必将受到开发者社区的强烈谴责,尊重开发者的劳动成果,维护开源社区的良好氛围。开发者们也应团结
1154 1
|
C语言
C语言程序设计——if与else if的区别及用法
C语言程序设计——if与else if的区别及用法
Qt下载(使用国内镜像)
Qt下载(使用国内镜像)
9586 2