5611| 4
|
[入门教程] HC-SR04超声波模块掌控下应用 |
本帖最后由 yywudao 于 2019-5-9 16:15 编辑 掌控板的编程IDE mPython X最近放出来 0.3.0版本(https://mpythonx.readthedocs.io/zh_CN/latest/mPythonX.html) 这次更新,内置了HC-SR04超声波模块的编程积木块。掌控的固件也相应的更新到了2019-5-5的版本。 昨天也体现下了HC-SR04在掌控下的应用,分享下使用心得。 超声波的使用原理简单说就是 Trig引脚给持续10us的高电平,模块就会发出8个40KHz的超声波信号。一旦模块发出超声波信号,Echo引脚就会产生高电平,直到接接收到遇见障碍物反射回来的超声波,高电平才会变成低电平。通过这个Echo引脚高电平到低电平的持续时间,可以换算出超声波行走的路程,即超声波与障碍物之间的距离: distance=time×340m/s÷2 (340m/s--超声波在空气中的传播速度,2--往返) 先贴程序: 手头是没有“印堂”(smd贴片晶体)的宽压超声波模块(今天听到的年度梗),实测无需外接5V电源,VCC可以直接接掌控的3.3V引脚供电,echo引脚也无需接分压电阻,直接连接掌控的数字输入引脚。 此次mPython X 超声波积木还未完全支持所有数字引脚,已反馈,后续会进行完善。对应的编程代码会用到一个名为“hcsr04”的模块,此模块还未内置到掌控的固件中,需要手动下载掌控的hcsr04.py文件到掌控板根目录下,后期也会内置到固件中。 (手动hcsr04.py 代码路径:https://raw.githubusercontent.co ... er/hcsr04/hcsr04.py) 补一个出自台湾赵英杰《超图解Python物联网实作入门》里的超声波传感器的代码,引脚定义做了些许的修改: [mw_shl_code=python,true]# HC-SR04 for mPython # 原代码出自赵英杰《超图解Python物联网实作入门》 # http://swf.com.tw # 如引用,请注明原出处--赵英杰 from machine import Pin import machine import time echoTimeout = 23200 # 58*400 = 23200 trigPin = Pin(Pin.P8, mode = Pin.OUT) echoPin = Pin(Pin.P9, mode = Pin.IN) trigPin.value(0) def distance(): trigPin.value(1) time.sleep_us(10) trigPin.value(0) pulseTime = machine.time_pulse_us(echoPin, 1, echoTimeout) if pulseTime > 0: return round(pulseTime / 58) else: return pulseTime while True: cm = distance() if cm> 0: print('Distance: ', cm, 'cm') else: print('Out of the detection range.') time.sleep(1)[/mw_shl_code] |
© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed