import machine
import dht
import time
sensor = dht.DHT22(machine.Pin(15))
#limites de temperatura e umidade
limite_temperatura_max = 40 # alerta defogo
limite_temperatura_alto = 35 # motor de resfriamento estragado
limite_umidade = 80 # alerta de vazamento
pin_led = machine.Pin(13, machine.Pin.OUT) #LED
pin_buzzer = machine.Pin(12, machine.Pin.OUT) #Buzzer
pin_botao = machine.Pin(14, machine.Pin.PULL_UP) #entrada pull-up interno
exibir_mensagens = False
ultima_exibicao = 0
# Definindo o intervalo de piscagem do LED e o tempo de beep do Buzzer
intervalo_piscagem_led = 0.5
tempo_beep_buzzer = 0.2
while True:
if not pin_botao.value():
exibir_mensagens = True
sensor.measure()
time.sleep(1)
temperatura = sensor.temperature()
umidade = sensor.humidity()
if umidade > limite_umidade:
print("Alerta: Há vazamento de água!")
if temperatura >= limite_temperatura_max:
print("Alerta: Pode haver algo pegando fogo!")
pin_buzzer.on() # Ativando o Buzer
time.sleep(tempo_beep_buzzer)
pin_buzzer.off()
# Piscando o LED
for _ in range(10):
pin_led.on()
time.sleep(intervalo_piscagem_led)
pin_led.off()
time.sleep(intervalo_piscagem_led)
elif temperatura >= limite_temperatura_alto:
print("Alerta: O motor de resfriamento está estragado!")
if exibir_mensagens:
print("A temperatura atual é:", temperatura)
print("A umidade atual é:", umidade)
ultima_exibicao = time.time()