2023-10-20 09:07:59 [显示全部楼层]
20668浏览
查看: 20668|回复: 1

万圣节的电子动画头骨

[复制链接]
本帖最后由 fibx 于 2023-10-20 09:07 编辑

万圣节的电子动画头骨



大家好!我叫帕特里夏(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 步:眼睛

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

第 2 步:测试眼睛的角度

将眼睛放在正确的位置,以“直视前方90°”为中心轴;

向里和向外看:50° 或 130°

第 3 步:过线孔

在头骨上钻一个孔,让刚性下颌线穿过。

第 4 步:下巴

  1. 剪断下巴上的 2 个锁扣;
  2. 在下巴侧面打一个孔以安装刚性线;
  3. 将下巴伺服电机粘到头骨上(参看图片);
  4. 取一根硬线,弯曲一端的一小段,使其呈 L 形,以装入下巴上的孔中,并将线的另一端穿过步骤 2 中打的孔。
  5. 下巴伺服电机还包含一根尖端弯曲的电线,以适应来自钳口的电线。

OBS:下巴伺服电机的角度,按如下参数调整:

嘴巴闭合:140°

半开嘴:110°和90°

张嘴:70°

第 5 步:连接

  1. 如图所示进行连接;
  2. 在头骨底部再打一个孔,将伺服电机信号线(橙色线)以及万能电路板上的火线和零线穿过。

OBS:使用 Arduino Uno 或您选择的其他一种。

第 6 步:超声波传感器 HC-SR04 和最终组装

  1. 将超声波传感器放在头骨前面,尽可能靠近眼睛,模拟头骨在眼睛前面时会看起来是斗鸡眼;

  2. 制作一个木制支撑物或其他任何东西来支撑头骨,发挥你的创造力。

  3. 用毯子或另一块深色布覆盖整个电子部件以隐藏电子部件(传感器除外)。

第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厘米



附件:








下载附件HCSR04.zip

英文链接:Animatronic Skull With Arduino
英文作者:patymaker
中文翻译:fibx






昊盟  见习技师

发表于 2023-10-27 08:06:27

好复杂的创意
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail