# main.py -- put your code here!
"""
超声波测距2.0新增:1.加上数据滤波程序,增加准确性
马玉华 2020-1-2
"""
import machine
from machine import Pin
import time
Trig = Pin(5, Pin.OUT)
Echo = Pin(4, Pin.IN)
count = 0
distance_list = [0,1,2,3,4]
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() == 1): #如果还是高电平就不断地运行这段代码,直到高电平结束后跳出循环
pass
te = time.ticks_us() #定下高电平结束时刻
tc = te - ts #算出高电平维持时间
distance = int((tc * 0.034) / 2) #计算出距离 #取整型后,得到的数值最多为四位数
if distance