回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

M10变形记:4-仰望小车M10版-红外遥控 简单

头像 rzyzzxw 2025.06.02 22 0

6.3 阴 周 二

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

ab38f805e14c268e93e7e734fd426db.jpg

目标任务:

1、写程序用红外遥控器控制仰望小车M10版。

2、认识一下pinpong库。

材料清单

  • M10 X1
  • M10扩展板组合 X1
  • 乐高仰望小车 X1
  • 乐高电机 X2
  • 乐高舵机 X1
  • 红外遥控器 X1

步骤1 认识pinpong库

欢迎访问 PinPong Python库教程文档! — pinpong 0.1 文档

 

image.png

我的理解,pinpong库就像一个桥梁,连通了Python和硬件模块。

下面是谢老师的文章,讲述了pinpong库开发的初衷。

image.png

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

例如在M10上使用舵机,先加载pinpongt和舵机库:

f3e68e95bcd3c2c39e7d3db3fdea707.png

pinpong初始化选择行空板,这里的行空板特指M10。

然后将pin1初始化到舵机对应的引脚P0口。

然后舵机servo1初始化到pin1, 这样子就可以经过pinpong库的桥梁作用控制舵机了。

6251a50cf9c5f6f87a859ea3b151c31.png

在下面的案例中,除了舵机(扩展板P0),还用到了红外接收(扩展板P14),同样使用pinpong库来连接。

行空板M10电机IO扩展板功能图.png

6.4

 

然后,当我读到官文档时,发现我的认识是不全面的,pinpong库的确实连接了运行python的微电脑主控和开源硬件模块,起到了桥梁作用,但是写程序时,并不是每一种模块都要手动架一次桥,因为大部模块的桥是自动搭建的,那些没有自动搭建的桥才需要我们去手动操作,下面图片来自官方文档:

 

c51fb9a65b003f06c428ee39f58327d.jpg

当然全部手动初始化一下也是可以的,只是会显得啰嗦一点。

后面的实践中,我会尝试按文档来行动。

步骤2 给仰望小车写程序

M10程序:

e4b47d207888cb0329013eb6674eb0d.png
image.png

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

6e0f894b3d068a7a709f04ff7a97823.png

开机画面:

yw.png

完整程序:

screenshots-仰望M10红外遥控.mp-1748923174572.png

测试通过了。

评论

user-avatar