怀若谷 发表于 2020-1-1 16:27:18

玩转舵机 | 猜拳机器人

       猜拳机器人,是创客教学中的一个经典案例,孩子们都很喜欢。通过这个项目的学习,孩子们可以学习舵机、超声波传感器的使用,以及掌握“随机数”积木的使用。该案例在网上有不少教程,我为什么还要写一个呢?我想通过这个案例让孩子们知道,学习了任何一个项目后,都要思考如何创新?而创新,有时只是改变了其中某一个方面,并不要觉得非得打破重组,做一个独一无二的东西出来。       拿猜拳机器人来说,增加一个挡板进行遮盖,就比裸露三个手臂的版本增加了神秘感,更能引起他人的好奇心,外观也更美观。将三个窗口再改为一个窗口,又将“技术”含量提高了不少,其实都是很容易做到的。      去年我还做过一个只用一个舵机加一个红外传感器的版本,比这两个更小巧。      有兴趣的朋友可参阅:不一样的“石头剪刀布”
功能介绍       当人在出拳区出拳后,猜拳机器人会在“石头”、“剪刀”、“布”三个手势间随机选择一个出拳。
演示视频https://v.qq.com/x/page/f3044vy6tru.html
制作过程 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设计激光切割图纸设计软件:LaserMakerNo.5 拼装盒体安装好底盒的5面
将超声波传感器安装到顶板上将舵机的连接线从背板的预留口中穿入重新连接主控板合上顶板No.5安装挡板将挡板插进顶板卡口(两款挡板安装方式相同)No.6安装舵机用热熔胶将塑料舵臂粘在木板件上安装到舵机的轴上,用螺丝紧固用一些纸板或者木板粘贴在舵机侧面,以填平*根据粘合面的不同而定,有些面不用
将舵机固定到盒体的背板上       单窗口版的,安装舵机时需要注意:两边的舵机需要倾斜一点的角度,以保证收拳时,手势能从窗口看到;收拳状态时,三个手势间必须有一定的间距,不能重叠,这也有可能需要通过调整程序才能做到。No.7安装手势部件根据中间的距离,切几段木棒,用热熔胶将转臂和手势部件连接起来。No.8测试       全部安装好后,我们需要经过反复调试。对于手势在窗口中的显示位置,需要进行反复微调。特别是单窗口版的,由于整个外型设计比较小,收拳状态下如果都平放,容易重叠造成卡住的问题。这需要调整舵机的角度来解决。对于自动收拳的时间间隔,也可以进行适当更改。

kylinpoet 发表于 2020-2-18 14:50:58

多谢分享,学习了。
页: [1]
查看完整版本: 玩转舵机 | 猜拳机器人