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)


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