志童道合 | 做一个用行空板遥控的掌控小车车
本帖最后由 rzyzzxw 于 2022-11-27 15:30 编辑童年很宝贵,但童年的快乐并不贵。
很喜欢小林,寥寥几笔就绘出了童年的快乐。
童年生活在物质匮乏年代的农村,所玩的东西大多是房前屋后田间地头就地取材的东西。
泥巴就是经常玩的。
用泥巴可以塑造出自己梦想的东西,比如,小动物、小房子……还有小车车。
那时可以弯腰看雨后公路上汽车过后滴下的油渍,氤氲着散开反射着崎岖样的彩虹,就边汽车的尾气也有一点汽油的特殊香味。
有时用泥巴做了小车车,湿的时候容易散架,放干了轮子却是不圆。
再后来,家里有了小朋友,玩玩车车是少不了的,特别是玩了创客后,自己也能做车车。
有时想起来,陪孩子们玩创客,教的是小朋友,致敬的是自己的童年。
【目标任务】
1、用乐动掌控+电机+乐高积木搭一个小车车,编写遥控接收端程序,收到消息执行相应动作。
2、用行空板的板载热点连接掌控板,用SIOT发送消息控制掌控小车车的运动。
【器材清单】
行空板 1
乐动掌控 1
乐动电机 2
乐高积木 若干
【软件】
行空编程mind+ 0.7.2
掌控编程mPython 0.7.6
https://www.bilibili.com/video/BV1fK41197HH/?vd_source=72149e0bfdf8cadd8539f2d7819e5750
STEP 1
(1) 检查SIoT是否开启长按行空板的“Home”键进入菜单页,点击“应用开关”,检查SIoT服务是否开启,如果显示“已禁用”,点击SIoT选项,切换SIoT状态为“已启用”。具体操作如图所示:https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMDA4fGRjNTBkMGIxfDE2NjkxOTIwMzN8NzI3OTM3fDMxNDcxMw%3D%3D&noupdate=yes(2) MQTT-py库要向SIoT平台发送数据,要有发送相关指令才能实现。但是现在行空板的指令区中没有这样的指令,该怎么办呢?点击“拓展”,在官方库中找到“MQTT-py”并点击,完成添加。https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMDA5fDliZTk5NzlifDE2NjkxOTIwMzN8NzI3OTM3fDMxNDcxMw%3D%3D&noupdate=yes
(3) MQTT初始化指令添加完成后,要使用MQTT构建物联网,首先需要使用指令 初始化MQTT,点击“设置”图标,将“SIoT服务器”的内容修改为行空板连接电脑的默认IP地址“10.1.2.3”。https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMDI0fDhiNTgwOTU1fDE2NjkxOTIwMzN8NzI3OTM3fDMxNDcxMw%3D%3D&noupdate=yes
【学习感悟:SIOT内置在行空板系统中,(1)中开启后就开始运行了,所以SIoT服务器就是行空板连接电脑的默认IP地址“10.1.2.3”。无论下面的案例中行空板用路由WIFI还是板载热点模式和掌控板组网物联,这里的设置都是一样的。所以行空板就是一个成熟的物联网数据中心了。】
初始化设置完成后,MQTT发起连接,使用指令MQTT发起连接;连接成功后,需要保持连接,使用指令 MQTT保持连接永久。https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMDI1fDIxMjc3NmEwfDE2NjkxOTIwMzN8NzI3OTM3fDMxNDcxMw%3D%3D&noupdate=yes
要向SIoT平台发送数据,就需要先订阅要发送到SIoT平台的主题,使用指令 MQTT订阅 。需要特别说明的是,MQTT订阅指令中填写的主题,并且固定的格式为“项目ID/设备号”。https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMDI4fGE1NjQ1M2E3fDE2NjkxOTIwMzN8NzI3OTM3fDMxNDcxMw%3D%3D&noupdate=yes
(4) 行空板向SIoT物联网平台发送数据完成了“MQTT的初始化——发起连接——保持连接——订阅”这四个步骤后,接下来,就可以向SIoT平台发送数据了,使用 MQTT发布 指令。https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMDI2fDNiY2Q1OTVlfDE2NjkxOTIwMzN8NzI3OTM3fDMxNDcxMw%3D%3D&noupdate=yes(5) 启用行空板热点行空板开启热点,默认IP为193.168.123.1。https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMTUwfGM5OWRkYjE3fDE2Njk1MjA1MDJ8NzI3OTM3fDMxNDczMg%3D%3D&noupdate=yes https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMTQ5fDU0MDkzNTQzfDE2Njk1MjA1MDJ8NzI3OTM3fDMxNDczMg%3D%3D&noupdate=yes https://mc.dfrobot.com.cn/forum.php?mod=attachment&aid=MTUxMTQ4fGM0Yjg2YmI1fDE2Njk1MjA1MDJ8NzI3OTM3fDMxNDczMg%3D%3D&noupdate=yesSTEP 2编写行空板程序第一个版本的程序是这样的:用上下左右中五个按钮来发送消息,控制掌控小车运动。这里用了2个主题,五条路分别传输五个按钮的消息,这样可以防止一路消息的排队和拥堵。实践证明,这样做的效果还是不错的。
行空板可以显示接收到的消息,所以现在不用掌控板接收也可以自行测试行空发送端。
STEP 3 掌控板小车编程
【提示】使用时要先开启行空板载热点。先开行空板,后开掌控板,掌控板方可通过热点与行空连接。
运行mPython0.7.6
设置---高级设置---更换主控---乐动掌控(如果用百灵鸽或者掌控宝做小车选择掌控板,程序相似。)
添加---执行器---电机,将左轮电机接入M1接口,右轮电机接 M2接口。
编写程序与调试
STEP 4 “摇杆”控制的遥控器按钮能控制小车了,可是感觉不操作不够丝滑,想改成类似摇杆式的,于是开始尝试,经过一番尝试,完成了如下的程序。
【视频中一手拍摄一手操作,看起来也一般,其实比按钮式爽多了。水平有限,抛砖引玉】
【任务小结:经过迭代之后,达到了预定目标,技术所限,但是还有很大不足。期待大家改进。】
程序附后:
好快{:6_215:} 问个问题,我按照您给得代码,将程序分别写入行空板和掌控板,行空板上5个按钮前、后、左、右和停都正常,掌控板上也提示连上了WIFI,但是按下行空板上5个按钮前、后、左、右和停,掌控板都无法接收到从SIoT收到信息,自然电机也不会转。我不知道问题出在哪里?我看你所给得代码,在创建SIoT连接时候。客户端ID 是空得,不知道是不是这个原因。 Trump 发表于 2023-8-28 19:38
问个问题,我按照您给得代码,将程序分别写入行空板和掌控板,行空板上5个按钮前、后、左、右和停都正常, ...
空的
页:
[1]