MicroPython TPYBoard v202 超声波测距 esp8266
 
实验目的
了解超声波模块的工作原理
学习使用超声波模块测量距离
实验器材
TPYBoard v202 1块
超声波模块(HC-SR04)1个
micro USB数据线 1条
杜邦线 若干
超声波模块的介绍
实物图

工作原理
(1) 采用IO口Trig触发测距,给最少10us的高电平信号。
(2) 模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回。
(3) 有信号返回,通过 IO 口 Echo 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。
硬件连接
TPYBoard v002与超声波模块的接线图,如下:
| TPYBoard v202 | 超声波模块(HC-SR04) | 
| +5V | Vcc | 
| G5 | Trig | 
| G4 | Echo | 
| GND | Gnd | 

程序源码如下:
from machine import Pin
import time
Trig = Pin(5,Pin.OUT)
Echo = Pin(4,Pin.IN)
while True:
    Trig.value(1)
    time.sleep_us(20)
    Trig.value(0)
    while(Echo.value()==0):
        Trig.value(1)
        time.sleep_us(20)
        Trig.value(0)
    if(Echo.value()==1):
        ts=time.ticks_us()
        while(Echo.value()==1):
            pass
        te=time.ticks_us()
        tc=te-ts
        distance=(tc*0.034)/2
        print('Distance:',distance,'cm')
    time.sleep(2)
经测试,发现存在一点误差,还请大家多多指正。




