from machine import Pin
import dht
import time
# dados para o sistema sistema
dados = {
"limite_temperatura": 30,
"intervalo_leitura": 2,
"pinos": {
"sensor_dht": 12,
"led_alerta": 18
}
}
# inicialização de hardware
dispositivos = {
"sensor": dht.DHT22(Pin(dados["pinos"]["sensor_dht"])),
"led": Pin(dados["pinos"]["led_alerta"], Pin.OUT)
}
# Função de leitura do sensores
def ler_sensores():
dispositivos["sensor"].measure()
leitura = {
"temperatura": dispositivos["sensor"].temperature(),
"umidade": dispositivos["sensor"].humidity(),
"time_leitura": time.time()
}
return leitura
# sistema de alerta
def verificar_alerta(leitura):
if leitura["temperatura"] > dados["limite_temperatura"]:
dispositivos["led"].on()
else:
dispositivos["led"].off()
# Programa principal
while True:
leitura = ler_sensor()
print("=== MONITORAMENTO DE TEMPERATURA ===")
for chave, valor in leitura.items():
print("\t",chave, ":", valor)
print('-' * 36)
verificar_alerta(leitura)
time.sleep(dados["intervalo_leitura"])
#APAGADOR TODOS OS LEDS
def apagar_leds():
dispositivos["led_frio"].off()
dispositivos["led_normal"].off()
dispositivos["led_quente"].off()
#classificação de temperatura
def classificar_temp(leitura):
apagar_leds()
if leitura["Temperatura"] <= 20:
dispositivos["led_frio"].on()
elif leitura["temperatura"] > 20 and leitura["temperatura"] <= 25:
dispositivos["led_normal"].on()
elif leitura["temperatuta"] > 25:
dispositivos["led_quente"].on()
#FUNÇÃO EXIBIR DADOS
def exibir_dados(leitura):
print('==== MONITORAMENTO DE TEMPERATURA ====')
for chave, valor in leitura.items():
print (chave, ':', valor)
print('-' * 38)
time.sleep(dados["intervalo_leitura"])
classificar_tem(leitura)
#LISTA DE GUARDAR DADOS
lista_temp =[]
#ALIMENTAR LISTA COM DADOS
#def historico_temp():
#PROGRAMA PRINCIPAL
while True:
leitura = ler_sensores()
exibir_dados(leitura)
time.spleep(0.2)Loading
esp32-devkit-c-v4
esp32-devkit-c-v4