14975浏览
查看: 14975|回复: 3

[入门教程] 玩转micro:bit之模拟量的读取

[复制链接]
本帖最后由 珠韵 于 2017-10-5 23:20 编辑

今天要向大家分享的是micro:bit模拟量的读取。玩过Arduino的朋友都知道,有数字口(D口)和模拟口(A口),分的非常清楚。在micro:bit中,我们通过引脚说明图也能看清哪几个引脚是支持模拟量读取的。我们看下图玩转micro:bit之模拟量的读取图1
标注着Analog in的表示支持。
下面我们准备好器材:micro:bit+扩展板+电位器模块
玩转micro:bit之模拟量的读取图2
接下来,我们来写程序。
程序一:实现的功能为用点阵屏读取电位器输入的数值。
玩转micro:bit之模拟量的读取图3
实现的效果是,旋转电位器的旋钮,点阵屏会显示相应的数值。你会发现最大是1023,最小是2。
程序模块说明:analog read就是读取模拟量。pin P0是电位器连接的引脚P0。
通过这个程序,我们可以读取模拟量,测试一些支持模拟输入的传感器,例如声控、光敏、温度等。
但是点阵屏显示1个数字比较方便,显示多位数字就不方便了。
下面我介绍第二种方法,就是用串口通讯,在电脑端读取模拟量。
这里我们需要一个串口通讯软件,我用的是“串口调试小助手”。
第1步,找到板子的串口号,在设备管理器中查找。(具体方法就不展开了)
玩转micro:bit之模拟量的读取图4
我这里是COM12。
然后打开串口调试小助手”,并设置好端口,波特率为115200(经过测试,micro:bit的USB串口通讯波特率是115200)
等micro:bit写入相关程序后,再点击“打开串口”,按钮旁边的圆点就会变成红色。
玩转micro:bit之模拟量的读取图5
接下来写程序。
玩转micro:bit之模拟量的读取图6
程序说明:
serial write number 读取数字,这里读取的是P0的数值。
serial write line 我初步查询了一下,是写入字符串并回车换行。我这里内容为空,只起到回车作用。目的是为了让读取的P0值能分行显示。也可以实施省略本语句的效果。
后面的延时500,是为了不让读取的频率太快。
程序写入板子后,我们点击“串口调试小助手”的“打开串口”,右边的空白处就会显示数字了。这数字就是P0口读取的数值。
玩转micro:bit之模拟量的读取图7

小结:本文主要是关于模拟量读取的知识点。掌握了这个,我们就能轻松的掌握一些输入传感器的数值范围,例如声控模块,我们可以测试什么样的环境,它的值是多少。这对我们做作品是很有帮助的。
本人水平有限,文中估计还有不少错误,欢迎指正。


rzyzzxw  版主 来自手机

发表于 2017-10-5 23:31:17

吕老师,很厉害,学习了。
回复

使用道具 举报

rzyzzxw  版主

发表于 2018-5-4 08:38:23

吕老师开创性的教程引领我学习的整个过程。感谢。:handshake
回复

使用道具 举报

一路上有你2  中级技师

发表于 2021-7-28 09:14:55


想问一下micro:bit的数模转换是多少位的,参考电压是?为什么传感器接3.3V,获取到的模拟值最大是1023,反而接5V模拟值就没有这么大;这好像跟正常来说相反了。arduino的是没问题的,不是很清楚micro:bit的具体的情况
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail