MicroPython TPYBoard v202 超声波测距 esp8266 | 典型实例 | 技术支持 | MicroPython


当前位置:首页>技术支持>典型实例>MicroPython TPYBoard v202 超声波测距 esp8266

MicroPython TPYBoard v202 超声波测距 esp8266

 

实验目的

 

了解超声波模块的工作原理

学习使用超声波模块测量距离

 

实验器材

 

TPYBoard v202 1

超声波模块(HC-SR041

micro USB数据线 1

杜邦线 若干

 

 

超声波模块的介绍

 

实物图

 

1.jpg

工作原理

 

(1) 采用IOTrig触发测距,给最少10us的高电平信号。

(2) 模块自动发送 8 40khz 的方波,自动检测是否有信号返回。

(3) 有信号返回,通过 IO Echo 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2

 

硬件连接

 

TPYBoard v002与超声波模块的接线图,如下:

 

TPYBoard v202

超声波模块(HC-SR04

+5V

Vcc

G5

Trig

G4

Echo

GND

Gnd

2.png

 

程序源码如下:

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)


经测试,发现存在一点误差,还请大家多多指正。