from machine import Pin, ADC, PWM, time_pulse_us
from utime import sleep
import time, math
#Pines sensores
PIN_NTC_ADC=ADC(Pin(26))
PIN_LDR_INT=ADC(Pin(27))
PIN_LDR_EXT=ADC(Pin(28))
Servo_cortina=PWM(Pin(15))
#Pines LED
PIN_LED_ALERT_TEMP=Pin(6,Pin.OUT)
#Valores de referencia
#Valores obtenidos probando con el sensor
temp_max=32039 #Equivale a 26°
temp_min=36440 #Equivale a 20°
Luz_INT_MIN= 6399 #Equivale a 2399 Lux
DUTY_MIN = int(0.025 * 65535) # Equivale a 0° o cerrado
DUTY_MAX = int(0.075 * 65535) # Equivale a 90° o abierto
while True:
temp=PIN_NTC_ADC.read_u16()
#print(temp)
time.sleep(0.5)
if temp < temp_max or temp > temp_min:
PIN_LED_ALERT_TEMP.value(1)
else:
PIN_LED_ALERT_TEMP.value(0)
Servo_cortina.freq(50) #Ciclo cada 20 ms
Luz_interior=PIN_LDR_INT.read_u16()
#print(Luz_interior)
if Luz_interior > Luz_INT_MIN:
Servo_cortina.duty_u16(DUTY_MAX)
else:
Servo_cortina.duty_u16(DUTY_MIN)