问题来源
在创客教育教学过程中,超声波传感器是最常用的元器件。但是一不小心也容易出现一些问题,甚至某些问题还比较隐蔽,没有经验的话可能要查很久才能查到问题所在。
前几天就有几个老师来问我,为什么掌控板连接超声波传感器,测出来的距离总是不准呢?如下图所示,测出来的距离,四舍五入后基本都是为 0。
问题探究
这个问题很有趣,现在大家习惯了 Arduino,在玩 Arduino 的时候很少会出现这个问题,不出现这个问题的话可能大部分人都没意识到。正好前两天拿到了掌控板的扩展板“掌控宝”,就拿超声波传感器来献祭一下吧。
我们先来看一下上面动图中对应的程序,该程序是在 mPython X 0.3.3 版本上编写。好像也没啥毛病啊?课时在掌控板上为啥就不行了呢?难道是掌控板的软件底层有 bug?
我们来看一下 mPython X 图形化编程软件上对应的超声波模块型号:HC-SR04,这也是我们在教学中最常用超声波传感器型号。
HC-SR04