5303| 1
|
[项目] 玩转舵机 | 猜拳机器人 |
猜拳机器人,是创客教学中的一个经典案例,孩子们都很喜欢。通过这个项目的学习,孩子们可以学习舵机、超声波传感器的使用,以及掌握“随机数”积木的使用。 该案例在网上有不少教程,我为什么还要写一个呢?我想通过这个案例让孩子们知道,学习了任何一个项目后,都要思考如何创新?而创新,有时只是改变了其中某一个方面,并不要觉得非得打破重组,做一个独一无二的东西出来。 拿猜拳机器人来说,增加一个挡板进行遮盖,就比裸露三个手臂的版本增加了神秘感,更能引起他人的好奇心,外观也更美观。将三个窗口再改为一个窗口,又将“技术”含量提高了不少,其实都是很容易做到的。 去年我还做过一个只用一个舵机加一个红外传感器的版本,比这两个更小巧。 有兴趣的朋友可参阅:不一样的“石头剪刀布” 功能介绍 当人在出拳区出拳后,猜拳机器人会在“石头”、“剪刀”、“布”三个手势间随机选择一个出拳。 演示视频 制作过程 No.1 准备材料 材料清单: DF Arduino uno主控板 1块 DF V7.1扩展板 1块 超声波传感器 1个 180°舵机 3个 No.2 硬件连接 舵机分别接到7、8、13引脚 超声波传感器接到10、11引脚 No.3 编写程序 编程软件:Mind+ V1.6.1 正式编写程序前,先将3个舵机设置为90度。 断开电源,装上一个舵臂 再将舵机设置为180度,观察并确定舵机的转动方向,以便后面顺利地完成编程及安装工作。 根据舵机的转动方向及你想要安装的方向,决定出拳时的舵机角度和收拳后的舵机角度,然后编写程序。上图中的程序仅供参考。 编程思路:启动后,将舵机重置到初始角度(手臂倒下);当超声波传感器感知有物体在5cm范围内,则产生一个随机数(1~3),并将这个随机数赋给变量“出拳编号”,然后根据变量“出拳编号”的值控制对应引脚的舵机转动(出拳),等待3秒后,归位(收拳)。 编好程序,上传到主控板进行测试,确保每一个舵机都能按设想的角度转动。成功后需要拔下舵机连接线和超声波传感器的连接线,等待组装。 No.4 设计激光切割图纸 设计软件:LaserMaker No.5 拼装盒体 安装好底盒的5面 将超声波传感器安装到顶板上 将舵机的连接线从背板的预留口中穿入 重新连接主控板 合上顶板 No.5 安装挡板 将挡板插进顶板卡口(两款挡板安装方式相同) No.6 安装舵机 用热熔胶将塑料舵臂粘在木板件上 安装到舵机的轴上,用螺丝紧固 用一些纸板或者木板粘贴在舵机侧面,以填平 *根据粘合面的不同而定, 有些面不用 将舵机固定到盒体的背板上 单窗口版的,安装舵机时需要注意:两边的舵机需要倾斜一点的角度,以保证收拳时,手势能从窗口看到;收拳状态时,三个手势间必须有一定的间距,不能重叠,这也有可能需要通过调整程序才能做到。 No.7 安装手势部件 根据中间的距离,切几段木棒,用热熔胶将转臂和手势部件连接起来。 No.8 测试 全部安装好后,我们需要经过反复调试。对于手势在窗口中的显示位置,需要进行反复微调。特别是单窗口版的,由于整个外型设计比较小,收拳状态下如果都平放,容易重叠造成卡住的问题。这需要调整舵机的角度来解决。对于自动收拳的时间间隔,也可以进行适当更改。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed