2018-5-4 12:05:26 [显示全部楼层]
14009浏览
查看: 14009|回复: 4

[入门教程] 玩转micro:bit-用BXY读取模拟量

[复制链接]
今天分享的是用BXY来玩micro:bit模拟量的读取。
在之前,学习过吕老师的玩转micro:bit之模拟量的读取,对我的学习有过很大的帮助。
这个帖子中,也是沿用了吕老师的思路,不过由串口助手换成了BXY。
玩过Arduino的朋友都知道,有数字口(D口)和模拟口(A口),传感器也有数字传感器(D)和模拟传感器(A),DF的传感器上有非常清楚的丝印。
而获取传感器的模拟值,对选择合适的阀值是很有用的呢。
玩转micro:bit-用BXY读取模拟量图2
在micro:bit中,我们通过引脚说明图也能看清哪几个引脚是支持模拟量读取的。我们看下图  
玩转micro:bit-用BXY读取模拟量图1
标注着Analog in的p0,p1,p2,p3,p4,p10表示支持。
下面我们准备好器材:micro:bit+扩展板+电位器模块
玩转micro:bit-用BXY读取模拟量图3
接下来,我们来写程序。
程序一:实现的功能为用点阵屏读取电位器输入的数值。
  玩转micro:bit-用BXY读取模拟量图4
实现的效果是,旋转电位器的旋钮,点阵屏会显示相应的数值。
我读出的最大是1020,最小是3。(不同模块会有差异的。)
程序模块说明:analog read就是读取模拟量。pin P0是电位器连接的引脚P0。
通过这个程序,我们可以读取模拟量,测试一些支持模拟输入的传感器,例如声控、光敏、温度等。
但是点阵屏显示1个数字比较方便,显示多位数字就不方便了。
下面我介绍第二种方法,用BXY读取模拟值。
1、下载安装BXY。 BXY是DF定制的一款运行于Windows平台的MicroPython编程IDE,界面简介,操作便利。为众多Microbit爱好者提供了一个简洁实用的平台。
QQ群:336213887 软件下载地址:https://gitee.com/dfrobot/iPy/raw/master/BXY.exe
2、程序界面:
玩转micro:bit-用BXY读取模拟量图5
3、写程序:其实也不用写了,文件-示例-Basic-analogread.py
玩转micro:bit-用BXY读取模拟量图6
#https://bxy.dfrobot.com.cn/
from microbit import *

while True:
  val = pin0.read_analog()
  print(val)
  sleep(50)

while True:  重复执行
val = pin0.read_analog()  读取pin0口的模拟量存入变量val
print(val)  打印变量
sleep(50)  延时50ms

4、点下载并运行,程序自动找到micro:bit下载
玩转micro:bit-用BXY读取模拟量图7
(初次使用可能会提醒安装驱动,按提示安装即可。)
点击串口监视器,模拟量就就读出来了。
玩转micro:bit-用BXY读取模拟量图8
转动电位器,可以看到变化的数值。
程序还有导出数据和保留时间戳功能。如果点击停止,再一次运行要重新点下载运行按钮。

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

本人水平有限,文中估计还有不少错误,欢迎指正。
文中多处引用了吕老师的原文,表示感谢,本文版权由吕老师和大圣老师共有。

ASH腻  管理员

发表于 2018-5-4 18:05:31

支持~ 顺便问下为什么叫大圣老师呀
回复

使用道具 举报

rzyzzxw  版主
 楼主|
来自手机

发表于 2018-5-4 20:03:53

本帖最后由 rzyzzxw 于 2018-5-4 21:15 编辑
ASH腻 发表于 2018-5-4 18:05
支持~ 顺便问下为什么叫大圣老师呀

我带孩子们玩创客的一个起点是郑州科技馆的创新展区,郑州科技馆官网有一个卡通老师叫大圣老师。所以我也叫了大圣老师,而且孩子们也超级喜欢齐天大圣哦!所以就这样叫起来了。
回复

使用道具 举报

ASH腻  管理员

发表于 2018-5-7 09:57:56

rzyzzxw 发表于 2018-5-4 20:03
我带孩子们玩创客的一个起点是郑州科技馆的创新展区,郑州科技馆官网有一个卡通老师叫大圣老师。所以我也 ...

哈哈哈哈 这个名字好~
回复

使用道具 举报

一路上有你2  中级技师

发表于 2021-7-28 09:11:45

想问一下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