铁熊玩创客 | 掌控超声波传感器?可能没你想的那么简单!

2019-07-231.5万
精华项目
AI 快速预览详细 收起
本文探讨了在创客教育教学中使用掌控板连接超声波传感器时遇到的测距不准问题。通过对比掌控板与Arduino的工作电压差异,找到了问题所在。推荐使用宽电压版HC-SR04+超声波传感器模块,以确保测距准确。此外,还讨论了其他主控板如micro:bit、ESP32等可能遇到的类似问题。
# 问题来源

在创客教育教学过程中,超声波传感器是最常用的元器件。但是一不小心也容易出现一些问题,甚至某些问题还比较隐蔽,没有经验的话可能要查很久才能查到问题所在。

前几天就有几个老师来问我,为什么掌控板连接超声波传感器,测出来的距离总是不准呢?如下图所示,测出来的距离,四舍五入后基本都是为 0。

铁熊玩创客 | 掌控超声波传感器?可能没你想的那么简单!图2

# 问题探究

这个问题很有趣,现在大家习惯了 Arduino,在玩 Arduino 的时候很少会出现这个问题,不出现这个问题的话可能大部分人都没意识到。正好前两天拿到了掌控板的扩展板“掌控宝”,就拿超声波传感器来献祭一下吧。

我们先来看一下上面动图中对应的程序,该程序是在 mPython X 0.3.3 版本上编写。好像也没啥毛病啊?课时在掌控板上为啥就不行了呢?难道是掌控板的软件底层有 bug?


我们来看一下 mPython X 图形化编程软件上对应的超声波模块型号:**HC-SR04**,这也是我们在教学中最常用超声波传感器型号。


HC-SR04 超声波模块外观对应如下图所示:



再来看一下这个模块的技术参数,从下表中可以看到,它的工作电压一栏写着 **5V**,好像也没有什么问题啊,Arduino 的工作电压不就是 5V 么?


可是再回到掌控板,我们从掌控板的官方 wiki 上可以看到它的技术参数,在它的“**工作电压**”这一栏上赫然写着 **3.3V**,似乎找到了问题所在。


# 问题解决

那有没有办法解决这个问题呢?一般有几个办法:

- 方法一(不推荐):使用一个 3.3-5V 电压转换模块,将它们的电压转换一致即可,可是这种方法对课堂教学来说可能很不方便;
- 方法二(不推荐):使用引脚电压是 5V 的扩展板,但是也可能会跟其他传感器冲突;
- 方法三(**推荐**):使用同时兼容 3.3V、5V 的**宽电压版超声波传感器模块**或其他兼容掌控板的超声波传感器模块。

我们可以从淘宝上找到相应的模块,价格和普通的 HC-SR04 超声波模块也差不多,这种超声波模块,一般型号名称为 **HC-SR04+**,后面多了一个“+”号,但有些店家的模块,名称上面也没有“+”号,具体还得看技术参数。


当然市面上还有其他兼容 3.3V 的超声波模块,此处仅以宽电压版本的 HC-SR04+ 为例。同样的程序,换上 HC-SR04+ 这个超声波模块后,效果就正常了,如下图所示。

铁熊玩创客 | 掌控超声波传感器?可能没你想的那么简单!图1

# 扩展思考

其实这个问题除了在掌控板上会出现之外,在使用 micro:bit 的过程中我们可能也会碰到类似的问题,另外在其他基于 ESP32 或 ESP8266 芯片的主控板上也有同样的问题,因为这些主控板的工作电压都是 3.3V。


# 广告时间

最后再打个小广告:欢迎关注我的个人公众号“铁熊玩创客”,不 kan 定 xin 期 qing 更新创客制作、技术教程以及一些胡言乱语。

铁熊玩创客 | 掌控超声波传感器?可能没你想的那么简单!图3

# 往期作品

## 创客技巧

- 创客项目缺少高颜值电路图?看这里就对了:https://mc.dfrobot.com.cn/thread-289862-1-1.html
- 小白也能学会的激光切割创意盒子设计方法:https://mc.dfrobot.com.cn/thread-276550-1-1.html

## 桌面机器人

- 桌面萌宠 Pando,这个机器人靠卖萌为生好多年:https://mc.dfrobot.com.cn/thread-35162-1-1.html
- 桌面萌宠 Pandy,谁说智能车不能卖萌:https://mc.dfrobot.com.cn/thread-36721-1-1.html
- 吃货战车:谁说泡面只能用来填肚子:https://mc.dfrobot.com.cn/thread-34679-1-1.html
- 纯野生黑科技,分分钟教你自制最skr的全向麦熊小车:https://mc.dfrobot.com.cn/thread-268968-1-1.html
- 不会垃圾分类?教你制作一个瓦力机器人来帮你:https://mc.dfrobot.com.cn/thread-296340-1-1.html

## 智能家居

- Hey Siri, 打开 HAY 旋转灯:https://mc.dfrobot.com.cn/thread-26865-1-1.html
- Hey Siri,请告诉我传感器数据:https://mc.dfrobot.com.cn/thread-28859-1-1.html

## 创意生活

- HAY,你好 ── DIY HAY旋转灯:https://mc.dfrobot.com.cn/thread-26212-1-1.html
- DIY 你的专属酷炫照片投影灯:https://mc.dfrobot.com.cn/thread-26900-1-1.html
- 好色灯:你们吸猫,我吸色:https://mc.dfrobot.com.cn/thread-34483-1-1.html
- DIY 你的专属酷炫照片投影灯:https://mc.dfrobot.com.cn/thread-26900-1-1.html
- 没有什么问题是猜拳不能解决的:https://mc.dfrobot.com.cn/thread-38060-1-1.html
- 律动头饰皇冠:每个女孩心中都有一个公主梦:https://mc.dfrobot.com.cn/thread-267927-1-1.html

## 学生作品

- 陈朔:戒烟帽:https://mc.dfrobot.com.cn/thread-280204-1-1.html
- 梁立昊:体感骑行安全帽:https://mc.dfrobot.com.cn/thread-280093-1-1.html

## HCRbot 机器人(SLAM)


- HCRbot 系列 1──HCRbot 机器人简介:https://mc.dfrobot.com.cn/thread-26938-1-1.html
- HCRbot 系列 2──HCRbot 硬件介绍与设置:https://mc.dfrobot.com.cn/thread-26939-1-1.html
- HCRbot 系列 3──HCRbot 上位机 PC 端软件设置:https://mc.dfrobot.com.cn/thread-26975-1-1.html
- HCRbot 系列 4──HCRbot下位机设置(树莓派版):https://mc.dfrobot.com.cn/thread-27020-1-1.html
- HCRbot 系列 5──HCRbot下位机设置(Odroid XU4版):https://mc.dfrobot.com.cn/thread-27161-1-1.html
- HCRbot 系列 6──HCRbot 底层驱动 OpenCR 设置:https://mc.dfrobot.com.cn/thread-27296-1-1.html
- HCRbot 系列 7──启动 HCRbot 机器人:https://mc.dfrobot.com.cn/thread-28248-1-1.html
- HCRbot 系列 8──远程控制 HCRbot 机器人:https://mc.dfrobot.com.cn/thread-29354-1-1.html
- HCRbot 系列 9──控制 HCRbot 机器人绘制平面地图(SLAM):https://mc.dfrobot.com.cn/thread-29936-1-1.html

## 其他

- 掌控板 | 让掌控板像 Mixly 串口监视器一样绘图:https://mc.dfrobot.com.cn/thread-288929-1-1.html




创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(13)
Alice七七
Alice七七
许许多多的细节往往造成我们问题的来源,
半华生
半华生
老师请问如果我想同时调用两个超声波应该怎么写我的程序
铁熊
铁熊
作者
回复半华生
图形模块中设置两个不同的超声波名称就行了
AugustDY
AugustDY
学习学习
EmSECpn6
EmSECpn6
rzyzzxw
rzyzzxw
铁熊精品
szjuliet
szjuliet
这种问题很容易忽略,出现了又往往不知究竟。
真牛!
韩俊
韩俊
不错
gada888
gada888
有意义的技术探讨
JackyZhang
JackyZhang
其实很多时候问题都出在细节上,我们经常没有注意
江宇瀚
江宇瀚
有德为善
有德为善
创客的注重电压问题,很多莫名的状况就发生在电压身上。谢谢铁雄老师分享。
gray6666
gray6666
小细节大智慧,感谢铁熊老师分享
汤果
汤果
感谢铁熊老师的测评与温馨提醒!
- 没有更多了 -