


大家好!我叫帕特里夏(Patrícia),住在巴西,很高兴与大家分享我的第一个项目。我的英语可能不太流利,但我会在谷歌翻译的帮助下尽力而为。如果你有任何问题,请毫不犹豫地在评论区用任何语言提出问题,我会尽力回答!在这篇文章中,我想向您介绍一个有趣的互动项目,一个由 Arduino 驱动的电子动画头骨。这个头骨可以进行眼睛和下巴的运动,使其成为一件令人着迷且身临其境的电子艺术作品。
项目概况:
这款电子动画头骨由两个作为眼睛的 5 毫米红色 LED 和三个作为控制眼睛和下巴运动的微型伺服电机组成,能创造出逼真的表情。但这个头骨真正的特别之处在于它具有对周围环境做出反应的能力。它配备了超声波传感器(HC-SR04),可以检测物体的接近程度,当有人接近或离开时,头骨可以做出不同的反应。眼睛和嘴巴动画的速度和强度变化多端,为附近的任何人提供互动和身临其境的体验。
如何计算所需电流:
-
LED:LED 的总电流为 0.04A (40mA)。
LED电流=2*(0.02A)= 0.04A(或40mA)
-
伺服系统:伺服系统的总电流为 1.65A (1650mA)。
伺服电流=3(0.22A)2.5=1.65A(或1650mA)
-
超声波传感器:传感器消耗约15mA。
传感器电流=0.015A(或15mA)
-
Arduino Uno:Arduino 消耗约 50mA 电流。
现在将所有电流相加:
所需总电流 = 0.04A (LED) + 1.65A (伺服) + 0.015A (传感器) + 0.05A (Arduino) = 1.755A (或 1755mA)
在极端情况下,所需的总电流为 1.755A (1755mA),但大多数情况下 1A 就足够了。
重要说明:
关于控制:
控制伺服电机时,最好使用 PWM(脉冲宽度调制)引脚,因为它可以实现更平滑、更精确的运动。尽管可以使用非 PWM 数字引脚控制伺服电机,但这可能需要更多工作和编程技能。因此,只要有可能,请选择 PWM 引脚进行伺服电机控制。
关于传感器:
HC-SR04超声波距离传感器不应连接到 Arduino PWM 引脚,因为它依赖于简单的脉冲协议来测量距离,而PWM引脚会生成具有可变脉冲宽度的脉冲信号。这种不兼容性可能会导致测量受干扰和不准确。为了实现可靠、准确的通信,请将传感器连接到 Arduino 的非 PWM 数字引脚。
结论:
制作电子动画头骨是一个独特且令人兴奋的项目,它融合了电子和艺术。Arduino 驱动的头骨能够对周围环境做出反应,增添了更多的互动性。如果您是 DIY 电子产品的粉丝,并且想要尝试一些创意,我希望这个项目能够激发您的灵感。请记住,无论您偏爱哪种语言,我都会帮助解决任何问题或进行解释。祝万圣节玩得开心,打造你的电子动画头骨!
材料
所需材料:
- 国家地理“人体”收藏中的人类躯体
- Arduino Uno 或类似品(我使用 Uno,然后将芯片放入 Standalone/Zatino中)
- 电解电容 1000uF 16V
- 2x 5mm 红色 LED
- 2x 330 欧姆电阻
- 3x SG90 9g 微型伺服电机
- 超声波传感器 HC-SR04
- 柔性电线/跳线
- 薄热缩管
- 快干胶
- 热熔胶
- 密封件(“婆婆的舌头”)
- 黑色双面毛毯
- 硬线
- 万能电路板 (PCB),用于组装头骨内部电路
- 钳子、剪刀、微型研磨机(理想)
- 电源 5V 和至少 1A。
第 1 步:眼睛


















- 使用微型研磨机为眼睛打孔。
注意:孔的尺寸必须足以放置伺服电机的传动轴,使其不会卡在孔中,防止电机烧毁;
- 切割伺服电机的“襟翼”以匹配头骨(见图);
- 用热熔胶粘合伺服电机;
- 切掉眼窝并丢弃;
- 切掉伺服电机的塑料“臂”,将带有速干胶水的圆形部分放在眼睛的顶部;
- 将眼睛安装到伺服电机上。
第 2 步:测试眼睛的角度


将眼睛放在正确的位置,以“直视前方90°”为中心轴;
向里和向外看:50° 或 130°
第 3 步:过线孔

在头骨上钻一个孔,让刚性下颌线穿过。
第 4 步:下巴






- 剪断下巴上的 2 个锁扣;
- 在下巴侧面打一个孔以安装刚性线;
- 将下巴伺服电机粘到头骨上(参看图片);
- 取一根硬线,弯曲一端的一小段,使其呈 L 形,以装入下巴上的孔中,并将线的另一端穿过步骤 2 中打的孔。
- 下巴伺服电机还包含一根尖端弯曲的电线,以适应来自钳口的电线。
OBS:下巴伺服电机的角度,按如下参数调整:
嘴巴闭合:140°
半开嘴:110°和90°
张嘴:70°
第 5 步:连接






- 如图所示进行连接;
- 在头骨底部再打一个孔,将伺服电机信号线(橙色线)以及万能电路板上的火线和零线穿过。
OBS:使用 Arduino Uno 或您选择的其他一种。
第 6 步:超声波传感器 HC-SR04 和最终组装






-
将超声波传感器放在头骨前面,尽可能靠近眼睛,模拟头骨在眼睛前面时会看起来是斗鸡眼;
-
制作一个木制支撑物或其他任何东西来支撑头骨,发挥你的创造力。
-
用毯子或另一块深色布覆盖整个电子部件以隐藏电子部件(传感器除外)。
第7步:程序代码
```c++
// 嘴巴:
int fechada = 140;
const int abertura1 = 110;
const int abertura2 = 90;
const int abertura3 = 70; // 伺服的最大启动
// 眼睛:
const int olhoEsquerdoFora = 50;
const int olhoEsquerdoDentro = 130;
int olhoEsquerdoFrente = 90;
const int olhoDireitoFora = 130;
const int olhoDireitoDentro = 50;
int olhoDireitoFrente = 90;
// 传感器引脚:
const int trigPin = 8; // 超声波传感器输出引脚(触发)
const int echoPin = 7; // 超声波传感器输入引脚(回声)
// 伺服电机引脚:
const int olhoEsquerdoPin = 3; // 用于左眼伺服的带 PWM 的数字引脚
const int olhoDireitoPin = 5; // 用于右眼伺服带 PWM 的数字引脚
const int mandibulaPin = 11; // 用于卡爪伺服的带 PWM 的数字引脚
const int enderecoOlhos = 0; // EEPROM 中用于存储眼睛位置的地址
const int enderecoMandibula = 2; // EEPROM 中用于存储钳口位置的地址
// 定义控制动画的距离。
const int distanciaLonge = 50; // 50厘米以上
const int distanciaMedia = 30; // 30 至 50 厘米之间
const int distanciaPerto = 15; // 小于或等于15厘米