from machine import ADC, Pin
import time
import math
 
# Configuración de pines
ntc = ADC(Pin(28))  # Pin GP28 para el NTC
ldr = ADC(Pin(27))  # Pin GP27 para el LDR
led = Pin(15, Pin.OUT)  # Pin GP15 para el LED
 
# Definir los umbrales de temperatura y luz
TEMP_UMBRAL = 30  # Umbral de temperatura en grados Celsius (ajustar según necesidad)
LUZ_UMBRAL = 30000  # Umbral de luz en lux (ajustar según necesidad)
 
# Bucle principal de monitoreo
while True:
    # Leer valor del ADC del NTC
    valor_adc_ntc = ntc.read_u16()
    # Convertir valor ADC a voltaje
    voltaje_ntc = valor_adc_ntc * 3.3 / 65535
    # Calcular resistencia del NTC
    resistencia_ntc = 10000 * (3.3 / voltaje_ntc - 1)
    # Calcular temperatura en Celsius usando la ecuación aproximada
    temperatura_c = 1 / (1 / (25 + 273.15) + (1 / 3950) * math.log(resistencia_ntc / 10000)) - 273.15
 
    # Leer valor del ADC del LDR
    valor_adc_ldr = ldr.read_u16()
 
    # Mostrar lecturas en consola para depuración
    print("Temperatura: {:.2f} °C, Luz: {}".format(temperatura_c, valor_adc_ldr))
 
    # Evaluar condiciones y activar alerta (encender LED)
    if temperatura_c > TEMP_UMBRAL or valor_adc_ldr < LUZ_UMBRAL:
        led.value(1)  # Encender LED
    else:
        led.value(0)  # Apagar LED
 
    # Esperar antes de la siguiente lectura
    time.sleep(1)
BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT