from machine import ADC, Pin
import time
import math
# Configuración de pines
ntc = ADC(Pin(28)) # Sensor NTC conectado al pin GP28
ldr = ADC(Pin(27)) # Sensor LDR conectado al pin GP27
led = Pin(15, Pin.OUT) # LED conectado al pin GP15
# Definir los umbrales de temperatura y luz
TEMP_UMBRAL = 30.0 # Temperatura en grados Celsius
LUZ_UMBRAL = 30000 # Umbral de luz en lux
# 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
print(f"Temperatura: {temperatura_c:.2f} °C, Luz: {valor_adc_ldr}")
# Evaluar condiciones y activar alerta
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)