import machine
import onewire
import ds18x20
import time
from machine import Pin
# Configuración del bus 1-Wire en el pin deseado (GPIO 21)
dat_pin = machine.Pin(21)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(dat_pin))
ledR = Pin(15, Pin.OUT)
ledA = Pin(2, Pin.OUT)
ledV = Pin(4, Pin.OUT)
# Bucle principal
while True:
roms = ds_sensor.scan()
if not roms:
print("No hay sensores DS18B20 detectados.")
else:
# Inicia la conversión de temperatura y espera a que termine
ds_sensor.convert_temp()
time.sleep_ms(750) # 750 ms para asegurar que la conversión ha terminado
for rom in roms:
temp = ds_sensor.read_temp(rom)
print(f"Temperatura: {temp:.2f}°C")
time.sleep(0.5) # Leer la temperatura cada 10 segundos
if temp < 20:
ledR.on()
ledA.off()
ledV.off()
elif temp >19 and temp <31:
ledR.off()
ledA.on()
ledV.off()
elif temp > 30:
ledR.off()
ledA.off()
ledV.on()