铁熊 发表于 2019-7-23 17:36:49

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

# 问题来源

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

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

# 问题探究

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

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

https://i.loli.net/2019/07/23/5d36bac849cc844221.png
我们来看一下 mPython X 图形化编程软件上对应的超声波模块型号:**HC-SR04**,这也是我们在教学中最常用超声波传感器型号。

https://i.loli.net/2019/07/23/5d36bac82d37218380.png
HC-SR04 超声波模块外观对应如下图所示:

https://i.loli.net/2019/07/23/5d36bac89ea1b58655.jpg

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

https://i.loli.net/2019/07/23/5d36bac81a1a711045.png
可是再回到掌控板,我们从掌控板的官方 wiki 上可以看到它的技术参数,在它的“**工作电压**”这一栏上赫然写着 **3.3V**,似乎找到了问题所在。

https://i.loli.net/2019/07/23/5d36bac8a66a070964.png
# 问题解决

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

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

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

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


# 扩展思考

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

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

# 往期作品

## 创客技巧

- 创客项目缺少高颜值电路图?看这里就对了: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



汤果 发表于 2019-7-24 05:51:20

感谢铁熊老师的测评与温馨提醒!

gray6666 发表于 2019-7-24 13:43:18

铁熊 发表于 2019-7-23 17:36
# 问题来源

在创客教育教学过程中,超声波传感器是最常用的元器件。但是一不小心也容易出现一 ...

小细节大智慧,感谢铁熊老师分享

有德为善 发表于 2019-7-26 16:07:35

创客的注重电压问题,很多莫名的状况就发生在电压身上。谢谢铁雄老师分享。

江宇瀚 发表于 2019-7-26 17:39:10

铁熊 发表于 2019-7-23 17:36
# 问题来源

在创客教育教学过程中,超声波传感器是最常用的元器件。但是一不小心也容易出现一 ...

JackyZhang 发表于 2019-7-27 18:15:38

其实很多时候问题都出在细节上,我们经常没有注意{:5_148:}

gada888 发表于 2019-8-1 09:46:37

有意义的技术探讨

韩俊 发表于 2019-8-1 13:22:23

不错

szjuliet 发表于 2019-8-2 15:29:30

这种问题很容易忽略,出现了又往往不知究竟。
真牛!

rzyzzxw 发表于 2019-8-21 09:20:48

铁熊精品{:5_174:}

EmSECpn6 发表于 2019-9-15 17:21:29

AugustDY 发表于 2019-9-26 21:05:24

学习学习

半华生 发表于 2019-10-19 13:43:39

老师请问如果我想同时调用两个超声波应该怎么写我的程序

铁熊 发表于 2019-10-22 11:39:48

半华生 发表于 2019-10-19 13:43
老师请问如果我想同时调用两个超声波应该怎么写我的程序

图形模块中设置两个不同的超声波名称就行了

Alice七七 发表于 2021-9-9 05:47:00

许许多多的细节往往造成我们问题的来源,
页: [1]
查看完整版本: 铁熊玩创客 | 掌控超声波传感器?可能没你想的那么简单!