首页 > 分享 > 不想做铲屎官了?教你DIY一个超萌的机器人宠物

不想做铲屎官了?教你DIY一个超萌的机器人宠物

养一只宠物既要有足够的钱,还要每天花心思照顾它,很多人连自己都照顾不好,又怎么照顾活泼好动的小动物,不要紧,现在有了一种新宠物——机器人宠物。

国外一个网友drum303自己动手做了一个可爱的机器人宠物——Twitch,它卖得了萌耍得了二,扮得了萝莉演得了女王,还能唱小曲陪你聊天解闷。使用的东西包括一个Arduino UNO板、一个Adafruit Pro Trinket板、一个LED点阵模块和3D打印的零件。

这个宠物机器人还有一个用来播放音频文件扬声器、一个电容触摸传感器和一个Arduino供电电源。

Twitch通过眼睛、声音和动作来表达感情,当你触摸它时,它会给你反馈。声音是从一些电影里的剪辑出来的。它可以表达快乐、悲伤、愤怒或者中性的情感,情感取决于你与它交互的多少:如果你离开TA太久,TA可能会生气,如果你老纠缠TA,它可能会烦你。

若要学习电子和机器人,没有比自己做一个机器人更好的办法了。下面是DIY机器人宠物的教程:(为了完成这个DIY,你还需要你点焊接的技能哦)

第一步:所需材料

Arduino Uno

Adafruit Wave Shield 1.1

带两个舵机的Mini Pan Tilt

LED点阵屏和背板(Backpack)

电容触摸传感器(我用了五个,但一个也可以)

一个播放音频文件的扬声器

一张用来存储声音文件的SD卡

一个Arduino供电电源

一个电路板

一个盒子用来装各种电子部件的(我用的是4*4*3的木质盒子)

电线、焊接所用常用工具等等

第二步:准备——Arduino Wave shield、LED点阵模块和Pan Tilt转台

首先需要拥有一个Adafruit Wave Shield,这个可以买到。如果你不想花钱,也可以自己用一个PCB板做一个,adafruit也有教程(https://learn.adafruit.com/adafruit-wave-shield-audio-shield-for-arduino/solder)。

SD卡内至少要复制一个音频文件,以确保你可能成功地运动dap_hc sketch(有关正确格式化文件的信息,请参阅下一步)。使用串行输出来协助调试。输出会指示可用的RAM,以及它找到的目录和文件名称,然后播放它们。

将扬声器焊接到扬声器引脚上。

然后将LED点阵屏焊接到背板上。注意,要正确地焊接。我第一次就焊倒了。背包库提供了一个样本sketch。确保你可以成功运行这个sketch。

构建平移倾斜工具组件。

第三步:准备SD卡

用Wave shield来播放Wave文件,以帮助机器人传达四种情绪状态:悲伤、快乐、生气、中性,以及充当触摸传感器激活时的声音。

我使用了来自不同电影中的10个不同的声音文件来表示不同的情绪状态,你也可以选择歌曲、动物的叫声或者一些网络用语:用小拳拳捶你胸口啦之类的,若你喜欢,你还可以把声音做成林志玲的。

尽管Wave shield支持音频文件可以使用8.3个字符来命名,但是为了节省空间,我命名每个文件都使用了2个数字。我相信一定有更有效的方式来解决空间问题,但是我暂时没有找到。

确保采样率为单声道,22KHz(或更低)和16位(或更低),否则无法播放。

我使用开源软件Audacity将音频文件全部转换为正确的格式(WAV)。

我确定好了几个我想在机器人中使用的文件,将它们组织成适当的情绪状态,并将其重命名,以便在代码中引用。

触摸时的声音:1.WAV - 8.WAV

中性的声音:10.WAV - 19.WAV

生气的声音:30.WAV - 39.WAV

悲伤的声音:50.WAV - 59.WAV

快乐的声音:70.WAV - 79.WAV

将在这些声音复制到SD卡中,然后将SD卡插入Wave shield上。

第四步:接线

按照下图所示接线。

Fritzing库(用于创建绘图的软件)不包括Wave shield的图片,但是使用相同的引脚即可。

Wave shield使用引脚10、11、12、13来与SD卡通信,2、3、4、5用于DAC(数字音频转换器),所以我们不要使用这些引脚来做别的事。

Arduino上的引脚A4和A5是与LED点阵模块通信的I2C线路。A4连接到板上SDA(标有“D”的),A5连接到板上SCL(标有“C”的)。

数字引脚6和9用于控制伺服。6连接到X伺服(上和下),9连接到Y伺服(左和右)。

引脚A0连接到电容式触摸传感器板的两个输出部分。如果你使用的是单触式传感器,则只需将两个探头(天线)连接到分线板上的输入线路,输出连接到A0。

第五步:代码

代码使用的是SoftwareSerial库,因为Wave播放器和Arduino上的Timer有冲突,所以你需要安装和使用这个库来让它工作。如果你熟悉标准的伺服库,虽然它要求你每50毫调用一次 "SoftwareServo::refresh()"来更新伺服,但它的工作原理也是一样的。你会在代码中看到它。

该软件也使用adafruit LED背板和LED发光二极管GFX库。

我把源码上传到github上了,你可以前往查看我的源码。

第六步:可能的后续步骤

我知道我的代码有些杂乱,它也可以有进一步的优化。我真的希望能修复波形文件名,并直接使用随机数来创建文件名,而不必为每个操作编写文件名。但是我没有找到好的办法。

我也希望能够将伺服运动做的更平滑自然,配合眼睛的动作更加一致,现在其实伺服运动在眼睛动之后才会动。

这里,你当然可以进一步地定制你的机器人,从我的经验中可以吸取一些教训。

你可以给机器人添加不同的传感器,或者创建不同的情绪,比如坏笑、眨眼之类的。如果你仔细研究代码,你可能会想出如何改变你宠物说话的频率。

或者你可以加一个红外传感器和接收器,与它进行交互,让它关闭电视。

我正考虑给它添加一个小的单声道放大器,因为现在的声音输出比我想要的要小。

怎么样?学会了吗?这样一个具有喜怒哀乐的机器人既可抚摸,又能互动、陪伴,简直就是宠物的标配。有了TA,生活会开心很多吧!

养一只这样的宠物肯定比养猫养狗轻松许多,不用给它铲屎,不用花钱买猫粮狗粮,放在自己的办公桌上偶尔挑逗一下美极了!缺点可能是它没有猫与狗的那种手感吧!

责任编辑:

相关知识

如果给宠狗划分一下等级, 那我想必已经是第五级的铲屎官了
猪猪侠的小宠物之呆萌的布袋狗超轻粘土创意手工DIY制作卡通玩具
全球首款!铲屎官必备的宠物陪伴机器人即将开启淘宝众筹!
还在发愁宠物太捣蛋?实用的养宠小技能,一次解决铲屎官头疼问题
家里养宠物好处多,但是如何喂养好宠物,铲屎官们这些技巧要记牢
自动铲屎、喂食、宠物陪伴机器人成天猫618爆款
一个对猫毛过敏的人,却做出了许多铲屎官想做却做不到的事情
618宠物经济崛起:自动铲屎、喂食、宠物陪伴机器人成今年爆款
宠物经济火热:自动铲屎、喂食、陪伴机器人成天猫618爆款
看了这个深圳宠物产品外观设计后:我想当铲屎官!

网址: 不想做铲屎官了?教你DIY一个超萌的机器人宠物 https://m.mcbbbk.com/newsview817283.html

所属分类:萌宠日常
上一篇: 桌面宠物 java 桌面宠物自制
下一篇: 做你的狗狗最喜爱的玩具:如何自制