bodasister 发表于 2017-12-25 08:52:06

micropython TPYBoard v202 超声波测距



实验目的

了解超声波模块的工作原理
学习使用超声波模块测量距离

实验器材

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)

经测试,发现存在一点误差,还请大家多多指正。
页: [1]
查看完整版本: micropython TPYBoard v202 超声波测距