from machine import Pin, I2C
import ssd1306
from machine import Pin, time_pulse_us
import time
trig_pin = Pin(4, Pin.OUT)
echo_pin = Pin(5, Pin.IN)
vermelho = Pin(17, Pin.OUT)
amarelo = Pin(18, Pin.OUT)
verde = Pin(19, Pin.OUT)
i2c = I2C(0, scl=Pin(22), sda=Pin(21))
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
while True:
trig_pin.value(0)
time.sleep_us(2)
trig_pin.value(1)
time.sleep_us(10)
trig_pin.value(0)
duration_us = time_pulse_us(echo_pin, 1)
distance = duration_us / 5800 #distância em metros
volume = round((distance * 100), 2)#volume já arredondado
if distance < 0.2:
vermelho.value(1)
amarelo.value(0)
verde.value(0)
oled.fill(0)
oled.text("Nivel da agua: ", 0, 10)
oled.text(str(volume) + "L" , 0, 25)
oled.text("Estado: Critico", 0, 40)
oled.show()
elif distance < 0.4:
vermelho.value(0)
amarelo.value(1)
verde.value(0)
oled.fill(0)
oled.text("Nivel da agua: ", 0, 10)
oled.text(str(volume) + "L" , 0, 25)
oled.text("Estado: Atencao", 0, 40)
oled.show()
else:
vermelho.value(0)
amarelo.value(0)
verde.value(1)
oled.fill(0)
oled.text("Nivel da agua: ", 0, 10)
oled.text(str(volume) + "L" , 0, 25)
oled.text("Estado: Normal", 0, 40)
oled.show()
time.sleep(1)
Loading
ssd1306
ssd1306