打造一个表情丰富蘑菇机器人,它能根据触碰和时间变化情绪,并通过灯光、运动和声音来表达
按它、戳它,或让它在你的桌面上轻轻发光。Moody Mush 通过光、声和运动来表达不同的情绪。这是一款互动蘑菇机器人,设计上注重对初学者友好,同时力求呈现出富有表现力又可爱的视觉效果。
Moody Mush 使用九个触摸传感器和一个红外遥控器作为输入,输出方面则配备两个舵机、一个8×8 LED矩阵和一个MP3播放器。大多数MCU开发板需要额外的模块或焊接才能实现这些功能,但MakerPort已内置驱动模块,使项目电子部分变得非常简单,无需选择额外模块,也无需焊接。
所有3D模型均设计为无需支撑打印,组装时除伺服电机自带的螺丝外,其他部分无需使用螺丝。部分部件打印时间较长,但整体结构搭建简单明了。
对于想要进一步探索的用户,第10步包含代码概览,可让您添加新模式或自定义Moody Mush的行为方式。
它是如何运作的
Moody Mush 有三种模式,您可以通过红外遥控器在它们之间切换。打开电源后,按下开/关按钮以激活模式1。按 MODE MODE MODE 按钮可循环切换模式(模式1 → → 模式2 → → 模式3)。以下是红外遥控器的说明及各按键功能。
模式1:红外遥控模式
Moody Mush 由 IR 遥控器完全控制。它最初呈橙黄色的帽子颜色,你可以自由更改颜色或移动帽子。在此模式下,Moody Mush 表现得像一盏可爱且可移动的灯。
模式2:半交互式模式
Moody Mush 以蓝色帽子颜色开始。虽然仍可通过遥控器更改帽子颜色,但动作反应取决于触控传感器。短按触碰被识别为轻拍,Moody Mush 会表现出惊讶的反应;长按则被识别为抚摸或拥抱,它会朝触摸方向轻轻靠近。这些反应在该模式下是固定的。
模式3:全交互模式
在这种模式下,莫迪·穆什有自己的情绪。情绪从中性(绿色盖帽颜色)开始,并随着你的抚摸和时间的推移而变化。莫迪·穆什喜欢拍打和拥抱,这会让它的情绪变得更积极;而戳它则会使其情绪变得消极。随着时间的推移,它的情绪会逐渐回归中性。
情绪通过帽子的颜色表达出来,颜色在彩虹色系中不断变化:
•中性 → 绿色
•正向 → 向红色
•负向 → 向紫色
它的反应也会根据当前的情绪而变化。当莫迪·穆什情绪低落时,被碰触可能会生气,拒绝抚摸或拥抱,并且容易歪头。当它情绪高涨时,受到抚摸会变得欣喜,有时甚至会跳舞。下表展示了莫迪·穆什的情绪如何影响其帽子的颜色和反应。
运动机构
Moody Mush 的盖子由两个伺服电机驱动,每个电机都连接到一个简单的连杆机构。这使得盖子可以平稳地向前、向后和向侧面倾斜。我经常在机器人颈部设计中看到这种类型的机构被使用。
所有部件均在 Autodesk Fusion 中设计。建模前,使用 MotionGen 计算了连接长度(关节位置),可快速检查运动范围。
你将学到的内容
本项目将教你如何结合3D打印、触控感应、LED灯、声音以及基于伺服电机的运动控制,使用MakerPort和MicroBlocks创建一个富有表现力的机器人。
你需要准备的物品
•MakerPort 和 USB 数据线(包含在 MakerPort 基础套件中)
•用于MP3文件的microSD卡(包含在MakerPort Basic套件中)
•8×8 RGB LED矩阵及连接线(包含在MakerPort基础套件中)
•12针易连接触控传感器线缆(包含在MakerPort基础套件中)
•9个触点和背板(包含在MakerPort基础套件中)
•12V 2A 带开关的电源适配器
•44键红外遥控器
•2 × SG90微型伺服电机(Miuzei)
-------------- 构建步骤 -------
步骤1:3D打印
您可以从本网站的CAD部分或通过此链接下载STL文件。所有零件均可使用标准FDM打印设置并无需支撑。对于喷嘴(1)和盖子(2),我本人添加了底座,因为它们打印时间较长且接触面积较窄,我不想冒险导致打印失败。
以下是主要的3D打印设置:
•材质:PLA
•喷嘴尺寸:0.4 毫米
•支持:无
•层高:0.2 毫米(默认)
•填充密度:15–20%(默认)
•筏板/边缘:取决于床体附着力。
在这些部件打印的同时,您可以继续进行第2至第3步。
步骤2:创建与上传声音
我使用 jsfxr 创建了五个 Moody Mush 的语音音效(依偎、喜悦、惊吓、被戳、愤怒)。你可以在这里下载这些音效,也可以使用你自己的原创音效。如果你自己制作,请将文件夹命名为“30”,MP3 文件名必须以 001、002 开头,如下所示。
要上传文件夹,请将MakerPort右侧的开关拨到“文件”位置,并使用USB数据线连接到您的电脑。当开关处于“文件”位置时,MakerPort会作为U盘使用。只需将文件夹复制到MakerPort中即可。如果您的MakerPort上已有名为“30”的文件夹,请先重命名旧文件夹(例如“30_not_used”),或将其删除后再添加新文件夹。
步骤3:设置红外遥控器
我用了一台家里找到的红外遥控器。我不确定所有44键遥控器是否使用相同的红外码,所以如果您的遥控器输出不同的码,您需要相应地修改程序。
如何检查您的IR代码
MakerPort 在“MicroBlocksBlocksBlocks 程序”文件夹中包含许多示例程序。请检查您控制器的红外代码:
1. 将 MakerPortPort 右侧的开关设置为“文件”
2. 在 MicroBlocks 的“MicroBlocksBlocksBlocks 程序”目录下的“Remote Control”文件夹中,打开名为“Remote Control Codes Display.ubp”的程序。
3. 将 MakerPort 上的开关设置为“code”位置。
4. 运行程序。
5. 按下遥控器上的按钮,相应的红外码就会出现在 MicroBlocks 中。
以下是来自我控制器的红外码,请检查您的控制器是否与这些值匹配。
如何修改程序
如果您的红外码不匹配,请按照以下步骤操作:
1. 从本网站的代码部分下载“MoodyMush.udp”,或直接通过此链接打开。
2. 在“当启动时”块中的三个变量“IR_code_LED”、“IR_code_motion”和“IR_code_mode”的对应值进行修改,使其与控制器中的代码相匹配。
3. 保存程序。
步骤4:安装舵机接头
要将伺服角座正确安装到位,请按照以下步骤操作,安装前需先将伺服电机对准0度位置。
1. 将两个伺服电机连接到 MakerPort 的 Servo1/222 端口。
2. 打开“MoodyMush.udp”(或步骤3中的修改程序)。
3. 确认“when started”块中的“ini_deg1”和“ini_deg2”已设置为0。这些变量定义了两个伺服电机的初始位置(0度)。
4. 将 MakerPort 设置为“code”位置并连接。程序将自动上传。
5. 运行程序,两个电机将移动到0度位置。
6. 将单臂喇叭插入两个输入连接器(7、8),然后如图所示,将每个组件连接到其伺服电机,并用螺丝固定。
步骤5:组装驱动机构
1. 将H型柱(6)插入电机底座(4),直到听到“咔哒”声为止。
2. 将两个伺服电机安装到电机底座(4)上,并用螺丝固定。
3. 其余部件可按任意顺序组装。请参考图示完成驱动机构。
步骤6:调整初始位置
初始位置时,盖子底座应与底座平行。但由于驱动机构存在机械间隙,可能会略微倾斜。在此步骤中,您将按以下方式调整初始位置:
1. 将两个伺服电机连接到MakerPort的Servo1/2端口。确保左侧电机为Servo1(上部接口),右侧电机为Servo2(下部接口)。电机编号也印在电机底座上。
2. 运行“MoodyMush.udp”。
3. 如果帽底倾斜,可通过修改“when started”块中的“ini_deg1”和“ini_deg2”值来调整,使其与底座平行。在我的情况下,ini_deg1 = 8 和 ini_deg2 = –88 能很好地实现这一效果。
步骤7:将触控传感器安装到盖子上
帽子上有九个触控传感器。在此步骤中,您需要将全部九个传感器安装好。
1. 帽子上有九个用于触点的孔,这些孔为非通孔设计,以便实现无支撑打印。您可以使用触点本身从外部穿孔,也可以使用手钻等工具进行穿孔。插入每个触点后,可从内部用固定背板将其牢固固定。
安装前,请剪去每个固定背板上的小“凸起”,以便正确贴合。
2. 将12针易连接线缆通过盖子内部的线缆固定结构连接到九个触点上。请确保引脚编号与图中所示触点位置一致。
步骤8:组合所有部件
这是最后的组装步骤。
1. 将驱动机构放入杆内,并顺时针旋转,直到听到“咔哒”声。确保方向正确:驱动机构的背面是印有“back”文字的一侧,而杆的正面则是带有手和脚的一侧。
2. 将LED面板的中心电缆穿过盖子内部的电缆固定结构。
3. 将盖子插入驱动机构的盖板底座,同时握住LED面板。推压直至发出“咔哒”声。确保LED面板已正确卡入盖板底座。
4. 将LED面板线缆和触摸传感器线缆穿过驱动机构的背面,伺服电机线缆穿过正面,然后如图所示将所有线缆连接到MakerPort。
5. 将MakerPort放置在底座上。带复位按钮的一侧为正面,带电源连接器的一侧为背面。
6. 将电缆整理好,避免干扰伺服电机或盖子的运动。使用扎带、扎线或橡皮筋是不错的选择。
7. 将底座插入杆体,对齐三角标记,然后顺时针旋转,直到卡住为止。
步骤9:开始游戏吧!
将电源线从背面连接,然后检查您的Moody Mush是否正常工作。
如果你想修改程序,只需将USB线从背面连接即可,无需拆卸任何部件。
提示:如果伺服电机停止后发出嗡嗡声,可能是过载。请检查以下内容:
•帽子已完全插入。
•输入接口不接触任何电缆。
•电缆没有绑得太紧。
步骤10:代码概览(可选)
在此步骤中,我将简要说明程序的工作原理。这并非Moody Mush的最佳实现方式,但如果你有兴趣修改程序或了解其内部逻辑,这个概述可能会有所帮助。
对于模式3,关键变量包括“情绪”、“四个概率”(greatjoy_probability、dance_probability、anger_probability 和 refusal_probability)以及“倾斜度”。“情绪”值范围为-100到100。这四个概率和倾斜度会根据当前的情绪状态而变化。
该程序由九个模块组成。MicroBlocks 的一个特点是并行任务执行,因此每个模块负责单一功能,以避免堵塞。通过分离各模块,它们可以并行运行。
本文编译自hackster.io





