6.3 阴 周 二
帅气的仰望小车,这一次用红外遥控器来控制它。

目标任务:
1、写程序用红外遥控器控制仰望小车M10版。
2、认识一下pinpong库。
材料清单
- M10 X1
- M10扩展板组合 X1
- 乐高仰望小车 X1
- 乐高电机 X2
- 乐高舵机 X1
- 红外遥控器 X1
步骤1 认识pinpong库
欢迎访问 PinPong Python库教程文档! — pinpong 0.1 文档

我的理解,pinpong库就像一个桥梁,连通了Python和硬件模块。
下面是谢老师的文章,讲述了pinpong库开发的初衷。

例如行空板M10是一个运行linux系统的微电脑,它上面安装了Python完全体,而不是直接对接硬件传感器执行器模块的经过改写的micropython,所以要在行空板M10上用python控制硬件,需要用pinpong库做为桥梁,将python上虚拟的pin口和硬件引脚接口上的传感器执行器连接起来使用它们,因PinPong库是一套专门写来控制开源硬件主控板的Pyhton库,基于Firmata协议并兼容MicroPython语法, 借助于PinPong库,直接用Python代码就能给各种常见的开源硬件编程。不知道我理解的对不对,请指正。
例如在M10上使用舵机,先加载pinpongt和舵机库:

pinpong初始化选择行空板,这里的行空板特指M10。
然后将pin1初始化到舵机对应的引脚P0口。
然后舵机servo1初始化到pin1, 这样子就可以经过pinpong库的桥梁作用控制舵机了。

在下面的案例中,除了舵机(扩展板P0),还用到了红外接收(扩展板P14),同样使用pinpong库来连接。
6.4
然后,当我读到官文档时,发现我的认识是不全面的,pinpong库的确实连接了运行python的微电脑主控和开源硬件模块,起到了桥梁作用,但是写程序时,并不是每一种模块都要手动架一次桥,因为大部模块的桥是自动搭建的,那些没有自动搭建的桥才需要我们去手动操作,下面图片来自官方文档:

当然全部手动初始化一下也是可以的,只是会显得啰嗦一点。
后面的实践中,我会尝试按文档来行动。
步骤2 给仰望小车写程序
M10程序:


先读取红外遥控器按键键值:(提示,遥控器要对着红外接收器,它有接距离和角度的要求)

开机画面:

完整程序:

测试通过了。
评论