# main.py -- put your code here!
"""
原理:
(1)用IO口给TRIG触发测距,给最少10us的高电平信呈。
(2)模块自动发送 8 个 40khz 的方波,自动检测Echo是否有信号返回。
(3)Echo有信号返回,通过io输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。
"""
import machine
from machine import Pin
import time
Trig = Pin(5, Pin.OUT) #触发超声波模块发射超声波
Echo = Pin(4, Pin.IN) #接收超声波信号
while True:
# 给一个高电平触发信号维持20微秒,然后变成低电平
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() &#
ESP8266超声波测距
最新推荐文章于 2025-02-22 19:20:19 发布