上一篇文章我们已经介绍过了如果获取手柄的按钮、摇杆、方向键等信息;这一篇文章我们将继续上一次的主题,尝试一下如何在获取手柄数据后,控制舵机跟随摇杆方向转动以及如何触发电机转动。
#先看组装效果:
如上图,可见舵机和电机小风扇由同一块树莓派控制;外接同一块电源驱动;其中舵机由pca9685驱动板驱动;电机小风扇这次只是为了效果展示,所以直接由继电器控制电源开合(接通电源小风扇即可旋转)。
*舵机的接线示例可参考文章:舵机驱动实验;
*电机的接线以及更多的扩展,比如旋转方向控制,旋转速度控制等可参考文章:直流电机驱动实验;
*继电器的接线示例可参考文章:继电器实验;
#实验过程:
1、编写代码,然后保存为jiujiang.py;
2、连接手柄,可以通过蓝牙或者直接电线连,按上图接线,然后接通电源;
3、打开vnc,选择要执行的代码然后执行,执行效果见下图:
4、摆动摇杆或者按动按键,查看vnc画面是否有数值出现(有数据为正常);
5、按动R2键,可见电机小风扇转动;
6、摆动右侧摇杆,向右摆动可见舵机顺时针转动,当摇杆复位时,舵机也复位90度;当向左摆动摇杆可见舵机逆时针转动;舵机最大最小转动度数代码设置为170度和10度;这个可以自行调整。
#效果如下:
#注:其中舵机驱动部分我们采用了新的驱动方式,去掉了繁琐的驱动文件,采用CircuitPython的舵机驱动程序;这部分下一篇文章我们会详细介绍和实验。