社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  问与答

micropython TPYBoard v202 超声波测距

bodasister • 7 年前 • 1167 次点击  

实验目的

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

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)

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/4806
 
1167 次点击  
文章 [ 3 ]  |  最新文章 7 年前