from machine import Pin, time_pulse_us
from time import sleep_ms, ticks_ms, ticks_diff
from hcsr04 import medehcsr04
trg = Pin(5, Pin.OUT)
ech = Pin(15, Pin.IN)
button = Pin(14, Pin.IN, Pin.PULL_DOWN)
led = Pin(25, Pin.OUT)
exeMed = False
atual = novo = button.value()
intervalo_aviso = 10000
ultimo_aviso = ticks_ms() - intervalo_aviso - 1
while True:
novo = button.value()
if novo != atual:
if novo == 1:
exeMed = True
atual = novo
sleep_ms(200)
if exeMed:
soma = 0
walterBlack = 0
while walterBlack < 5:
led.on()
sleep_ms(100)
d = medehcsr04(trg, ech)
print(f'Medição {walterBlack+1}: {d:.4f}cm')
soma += d
walterBlack += 1
sleep_ms(100)
media = soma / 5
print(f'Média: {media:.2f}cm')
exeMed = False
else:
led.off()
agora = ticks_ms()
if ticks_diff(agora, ultimo_aviso) > intervalo_aviso:
print("É necessário apertar o botão para iniciar as medições")
# intervalo_aviso = intervalo_aviso + 10000
ultimo_aviso = agora
sleep_ms(10)