志童道合 | 做一个用行空板遥控的掌控小车车

2022-11-278148
AI 快速预览详细 收起
本文介绍了如何使用行空板和乐动掌控制作一个遥控小车。项目包括硬件清单(行空板、乐动掌控、电机、乐高积木)和软件设置(行空编程、mPython)。通过详细的步骤,您可以完成MQTT初始化、订阅主题、发送数据等操作,最终实现遥控小车的功能。适合家长和孩子一起动手实践,激发孩子的创造力。


童年很宝贵,但童年的快乐并不贵。
志童道合 | 做一个用行空板遥控的掌控小车车图1志童道合 | 做一个用行空板遥控的掌控小车车图2
很喜欢小林,寥寥几笔就绘出了童年的快乐。

童年生活在物质匮乏年代的农村,所玩的东西大多是房前屋后田间地头就地取材的东西。
泥巴就是经常玩的。
用泥巴可以塑造出自己梦想的东西,比如,小动物、小房子……还有小车车。
那时可以弯腰看雨后公路上汽车过后滴下的油渍,氤氲着散开反射着崎岖样的彩虹,就边汽车的尾气也有一点汽油的特殊香味。
有时用泥巴做了小车车,湿的时候容易散架,放干了轮子却是不圆。

再后来,家里有了小朋友,玩玩车车是少不了的,特别是玩了创客后,自己也能做车车。
有时想起来,陪孩子们玩创客,教的是小朋友,致敬的是自己的童年。

【目标任务】
1、用乐动掌控+电机+乐高积木搭一个小车车,编写遥控接收端程序,收到消息执行相应动作。
2、用行空板的板载热点连接掌控板,用SIOT发送消息控制掌控小车车的运动。志童道合 | 做一个用行空板遥控的掌控小车车图3
【器材清单】
行空板      1
乐动掌控   1
乐动电机   2
乐高积木   若干
【软件】
行空编程  mind+     0.7.2
掌控编程  mPython 0.7.6

STEP 1
(1) 检查SIoT是否开启
长按行空板的“Home”键进入菜单页,点击“应用开关”,检查SIoT服务是否开启,如果显示“已禁用”,点击SIoT选项,切换SIoT状态为“已启用”。
具体操作如图所示:
STEM教育 · 用行空板遥控的掌控小车车_image_1.webp
(2) MQTT-py库
要向SIoT平台发送数据,要有发送相关指令才能实现。但是现在行空板的指令区中没有这样的指令,该怎么办呢?
点击“拓展”,在官方库中找到“MQTT-py”并点击,完成添加。
STEM教育 · 用行空板遥控的掌控小车车_image_2.webp

(3) MQTT初始化

指令添加完成后,要使用MQTT构建物联网,首先需要使用指令 初始化MQTT,点击“设置”图标,将“SIoT服务器”的内容修改为行空板连接电脑的默认IP地址“10.1.2.3”。

STEM教育 · 用行空板遥控的掌控小车车_image_3.webp
【学习感悟:SIOT内置在行空板系统中,(1)中开启后就开始运行了,所以SIoT服务器就是行空板连接电脑的默认IP地址“10.1.2.3”。无论下面的案例中行空板用路由WIFI还是板载热点模式和掌控板组网物联,这里的设置都是一样的。所以行空板就是一个成熟的物联网数据中心了。

初始化设置完成后,MQTT发起连接,使用指令MQTT发起连接;连接成功后,需要保持连接,使用指令 MQTT保持连接永久。
STEM教育 · 用行空板遥控的掌控小车车_image_4.webp
要向SIoT平台发送数据,就需要先订阅要发送到SIoT平台的主题,使用指令 MQTT订阅 。需要特别说明的是,MQTT订阅指令中填写的主题,并且固定的格式为“项目ID/设备号”。
STEM教育 · 用行空板遥控的掌控小车车_image_5.webp

(4) 行空板向SIoT物联网平台发送数据
完成了“MQTT的初始化——发起连接——保持连接——订阅”这四个步骤后,接下来,就可以向SIoT平台发送数据了,使用 MQTT发布 指令。
STEM教育 · 用行空板遥控的掌控小车车_image_6.webp
(5) 启用行空板热点
行空板开启热点,默认IP为193.168.123.1。
STEM教育 · 用行空板遥控的掌控小车车_image_7.webp STEM教育 · 用行空板遥控的掌控小车车_image_8.webp STEM教育 · 用行空板遥控的掌控小车车_image_9.webp
STEP 2  编写行空板程序
第一个版本的程序是这样的:
用上下左右中五个按钮来发送消息,控制掌控小车运动。
这里用了2个主题,五条路分别传输五个按钮的消息,这样可以防止一路消息的排队和拥堵。实践证明,这样做的效果还是不错的。
志童道合 | 做一个用行空板遥控的掌控小车车图11
志童道合 | 做一个用行空板遥控的掌控小车车图4
行空板可以显示接收到的消息,所以现在不用掌控板接收也可以自行测试行空发送端。
STEP 3 掌控板小车编程
【提示】使用时要先开启行空板载热点。先开行空板,后开掌控板,掌控板方可通过热点与行空连接。
运行mPython0.7.6
设置---高级设置---更换主控---乐动掌控(如果用百灵鸽或者掌控宝做小车选择掌控板,程序相似。)
志童道合 | 做一个用行空板遥控的掌控小车车图7
添加---执行器---电机,将左轮电机接入M1接口,右轮电机接 M2接口。
志童道合 | 做一个用行空板遥控的掌控小车车图8
编写程序与调试
志童道合 | 做一个用行空板遥控的掌控小车车图5志童道合 | 做一个用行空板遥控的掌控小车车图6
志童道合 | 做一个用行空板遥控的掌控小车车图9
志童道合 | 做一个用行空板遥控的掌控小车车图10
STEP 4 “摇杆”控制的遥控器按钮能控制小车了,可是感觉不操作不够丝滑,想改成类似摇杆式的,于是开始尝试,经过一番尝试,完成了如下的程序。
【视频中一手拍摄一手操作,看起来也一般,其实比按钮式爽多了。水平有限,抛砖引玉】
志童道合 | 做一个用行空板遥控的掌控小车车图12
志童道合 | 做一个用行空板遥控的掌控小车车图13
  
【任务小结:经过迭代之后,达到了预定目标,技术所限,但是还有很大不足。期待大家改进。】

程序附后:
下载附件行空遥控掌控小车.rar

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(2)
Trump
Trump
问个问题,我按照您给得代码,将程序分别写入行空板和掌控板,行空板上5个按钮前、后、左、右和停都正常,掌控板上也提示连上了WIFI,但是按下行空板上5个按钮前、后、左、右和停,掌控板都无法接收到从SIoT收到信息,自然电机也不会转。我不知道问题出在哪里?我看你所给得代码,在创建SIoT连接时候。客户端ID 是空得,不知道是不是这个原因。
rzyzzxw
rzyzzxw
作者
回复Trump
空的
Doughnut
Doughnut
好快
- 没有更多了 -