import machine
import utime
import tm1637
import lcd_api
import lcd_i2c
#LCD.lcd_init()
# Configuración de la pantalla LCD I2C
i2c = machine.I2C(0, sda=machine.Pin(0), scl=machine.Pin(1))
lcd = lcd_i2c.LCD_API(i2c, 16, 2) # 16x2 LCD
AnalogIn = ADC(0) #gp26 Entrada del sensor TMP36.
SetPoint = ADC(1) #gp27 Entrada voltaje de ajuste
#del setpoint de temperatura (Pot 5 ó 10 kOhm).
tmverde= tm1637.TM1637(clk=Pin(1), dio=Pin(0))
tmrojo= tm1637.TM1637(clk=Pin(2), dio=Pin(3))
tmverde.brightness(2)
tmrojo.brightness(2)
Conv = 3300 / 65535
Conv1=150/3300 #Conv1=100/3300
LED = Pin(15, Pin.OUT)
Relay = Pin(16, Pin.OUT) # Configura el pin del relé
LED.value(0)
Relay.value(0)
while True:
ValorPot=ADC.read_u16(SetPoint)
TempSP=Conv * ValorPot
SetTemp=0 + TempSP*Conv1
tmverde.number(int(SetTemp))
V = AnalogIn.read_u16()
mV = V * Conv
RoomTemp = (mV - 500.0) / 10.0 #Para LM35,
# Para TMP36, T=(Vo-500)/10
tmrojo.number(int(RoomTemp))
if RoomTemp < SetTemp:
Relay.value(1) # Activa el relé
LED.value(1) # Activa el led
else:
Relay.value(0) # Apaga el relé
LED.value(0) # Apaga el led
utime.sleep(1) # Espera 1 segundo antes de volver a activar el relé
# Enciende el relé durante 5 segundos
Relay.value(1) # Activa el relé
lcd.clear()
lcd.puts("Relay ON")
utime.sleep(5) # Espera 5 segundos
Relay.value(0) # Apaga el relé
lcd.clear()
lcd.puts("Relay OFF")
# Repite el ciclo
utime.sleep(1) # Espera 1 segundo antes de volver a activar el relé