掌控科学探究光线值_双掌控板离线与实时(广播与接收)

小海鸥
帖子创建于2019年11月14日 基础使用 904 次浏览 2 个赞 1 人关注

在朱老师发了他的科学探究文后,我问了几个问题,能不能掌控板离线(不用插电脑),电脑上显示科学探究的光线图呢?

朱老师给了思路“可以离线一个、连线一个、无线通信”,于是当天晚上,自己下载了mpython,开始探究下。

一、掌控板官方固件烧录

由于之前自己一直在mind+软件使用掌控板,这里接入mpython软件,第一件事应该是刷固件。新软件,新界面,这里烧录固件按钮藏在了设置区域。

官方固件烧录过程没有任何阻碍,非常通顺,开心。



二、练习掌控板获取光线值,探究功能初体验。

跟着朱现伟老师的掌控科学探究_1_采集光线值http://mc.dfrobot.com.cn/thread-299321-1-1.html,好好地做一遍基础先。

上传学习视频https://v.youku.com/v_show/id_XNDQzNTgyMzI1Mg==.html?spm=a2h3j.8428770.3416059.1

三、广播模块初体验


连夜阅读mpythonX的教程,在百灵鸽的教程中,




有点懂了,于是试试看吧。

最后我试出两个错误程序,发现接收端无法接收到光线值。

之后盛思林工给思路:广播发送后,接收端,实现功能建议,先单独实现一个功能再增加另一个功能。

化整为零,一步一步来,于是拆解开,然后细读盛思论坛中狸猫老师的mpythonX的玩转掌控板15—控制你的眼教程https://www.labplus.cn/posts/5d1ad9eb7f719d2556d1311f。


发现接收端要定义变量为无线广播接收消息。

于是这么一做,实现第一个功能,掌控板接收端的显示屏显示另一个掌控板的光线值,就很容易的实现。


上图为掌控板采集光线值的发射端的脚本。


上图为掌控板接收光线值的接收端的实现功能一:接收端显示发射端的光线值。

第一个功能解决了,离成功很近了,然而将打印数据到图表功能添加进去后,如下图所示,但是这样发现探究区域居然无法显示图表,而在右下角控制区显示了光线数值。


救命啊,这里发现了打印数据到图表需要的数据是整型数据,而发射端发送的消息的是字符串格式。这里就需要讲下数据类型了。

在内存中存储的数据可以有多种类型。

例如,一个人的年龄可以用数字来存储,他的名字可以用字符来存储。

Python 定义了一些标准类型,用于存储各种类型的数据。

Python有五个标准的数据类型:Numbers(数字)、String(字符串)、List(列表)、Tuple(元组)、Dictionary(字典)。

Python支持四种不同的数字类型:int(有符号整型)、long(长整型[也可以代表八进制和十六进制])、float(浮点型)、complex(复数)。


(这些全是自己查找的资料,不太专业的我,只记住这么一个关键:int可以将文本转数据,真复杂的数据类型)



所以改啊改,将第二个探究功能做了如下变动:


刷入程序到掌控板,哇看到了探究里的图表出来了,然而欢喜不过1秒,就报错了——因为有一个空值,通过打印send数据发现有空值。


所以这导致了之前的int出错。


所以要在非空状态下运行。

最后改一改。


革命终于成功。

探索成功的快乐,真的开心。

最后附上成功视频。

https://v.youku.com/v_show/id_XNDQzNTkxMzIwMA==.html?spm=a2h3j.8428770.3416059.1