from machine import Pin, ADC, PWM
import time
#Asignaciones de salidas y entradas
red = PWM(Pin(21)) # led verde
red.freq(1000)
blue = PWM(Pin(4))
led1 = Pin(19, Pin.OUT)#alarma
led2= Pin(2, Pin.OUT)#alarma
blue.freq(1000)
green = PWM(Pin(15))
green.freq(1000)
buzzer_pin = 26 # Pin del buzzer
# Configura el pin del boton
boton1 = Pin(14, Pin.IN)
boton2 = Pin(27, Pin.IN)
boton3 = Pin(35, Pin.IN)
# Configura el pin del potenciómetro
pot = ADC(Pin(33)) # Asume que el potenciómetro está conectado al pin 34
pot.atten(ADC.ATTN_11DB) # Configura la atenuación para un rango completo de 0 a 3.3V
#Configuracion del pin del buzzer
buzzer = PWM(Pin(buzzer_pin))
x=0 #Primer condidcional para que se puedan prender y apagar las luces con dos botones.
z=0 #Acumulador para activar y desactivar alarma
buzzer.duty(0) #Inicia el Buzzer en 0
print("GO")
#Inicio del sistema
while True:
if boton1.value() == 1:
x=1
if x == 1:
red.duty(1023)
blue.duty(1023)
green.duty(1023)
else:
red.duty(0)
blue.duty(0)
green.duty(0)
if boton3.value() == 1:
z=1
x=0
# print(x)
while x==1:
pot_value = pot.read() # Lee el valor del potenciómetro
led_duty = int(pot_value / 4095 * 1023) # Convierte el valor a un rango adecuado para el LED
red.duty(led_duty)
blue.duty(led_duty)
green.duty(led_duty) # Establece el ciclo de trabajo del LED
time.sleep(0.1) # Pequeña pausa para estabilidad
if boton2.value()== 1:
x=0
red.duty(0)
blue.duty(0)
green.duty(0)
while z==1:
print(z)
if boton1.value() == 1:
x=1
if x==1:
led1.value(1)
buzzer.duty(512)
time.sleep(0.1)
led1.value(0)
buzzer.duty(0)
time.sleep(0.1)
led2.value(1)
buzzer.duty(512)
time.sleep(0.1)
led2.value(0)
buzzer.duty(0)
time.sleep(0.1)
else:
led1.value(0)
led2.value(0)
buzzer.duty(0)
if boton3.value() == 0:
z=0
led1.value(0)
led2.value(0)
buzzer.duty(0)