智能教育之电子积木的评测实验
一个合作伙伴拿了几个他们的电子积木给我测试:
他们的这个东东是磁吸附式的,连接起来很方便。其主控模块恰好用的就是nodeMCU,而我的PythonPi恰好也支持NodeMCU作为前端的物联网分控设备,所以很方便的就实现了互联互通。只是他们好像对NodeMCU的固件进行了定制化的剪裁,通用的NodeMCU API接口有些不支持,所以还是调试了一两天才修改完毕。然后又对python接口部分进行下修改以适应中小幼编程教学的需要。
然后做个实验来看看效果,由于他们给的开关模块好像有些问题,所以我就用杜邦线外接到面包板上的一个按钮开关,同时再接个旋钮开关做调光。由于一个端口不能同时做GPIO的输出和pwm,但又只给了我一个led模块,所以中间还需要将led模块换一下连接的接口才能完整的演示两个功能。
实验的连接图如下:
抓下的代码图如下,各语句说明见代码中的注释:
该实验实现了两个功能:
用按钮开关控制led1的亮灭
用旋钮开关调节led2的亮度
而实际代码只有14行执行代码和4行导包代码,够简单的吧:)
实验效果的视频(10M多大)如下:
原始视频有100多M,结果压得狠了点,有些模糊了:(
实验结果的总结:
NodeMCU的能力毕竟有限,所以目前在控制指令之间留出了0.3秒的等待间隔,以确保连续的指令流都能得到执行。这也就是视频中点击执行按钮后,有一个明显的停顿才弹出代码执行完毕对话框的原因
合作伙伴提供的旋钮开关有很大的温度漂移。现在上海天有点冷,结果这来自广州的家伙被冻得哆哆嗦嗦的,所以视频里将该旋钮开关连上后表现的很不稳定,需要运行一段时间后才能慢慢稳定下来
NodeMCU的ADC(模数转换)好像能力有问题,视频里的实验是每秒读一次ADC的采样结果,但当外部输入不变时两次连续的读取有时竟然会出现很大的跳跃,目前还不清楚是否和旋钮开关的温度漂移有关,和通过I2C读取外部ADC的效果有很大的差距。但这个问题解决起来比较简单:PythonPi运行在树莓派上,可以通过树莓派用I2C接外部ADC来控制这些电子积木,精度和可靠性会比较有保证
总的来说,两者的初次结合还是很完美的哦,继续改进改进用于中小幼的编程教学还是绰绰有余的啦。
有对K12的STEM感兴趣的小伙伴吗?联系我啊:)
====================================================================================================
关注我的公众号及时获取推送的最新文章