# Importar las bibliotecas necesarias
import machine # Importa la biblioteca para interactuar con los componentes de la Raspberry Pi Pico
import time # Importa la biblioteca para manejar el tiempo
# Configurar los pines de los botones y del buzzer
boton1 = machine.Pin(9, machine.Pin.IN, machine.Pin.PULL_UP) # Configura el pin 9 como entrada con resistencia pull-up (botón 1)
boton2 = machine.Pin(10, machine.Pin.IN, machine.Pin.PULL_UP) # Configura el pin 10 como entrada con resistencia pull-up (botón 2)
boton3 = machine.Pin(11, machine.Pin.IN, machine.Pin.PULL_UP) # Configura el pin 11 como entrada con resistencia pull-up (botón 3)
boton4 = machine.Pin(12, machine.Pin.IN, machine.Pin.PULL_UP) # Configura el pin 12 como entrada con resistencia pull-up (botón 4)
buzzer = machine.PWM(machine.Pin(8)) # Configura el pin 8 como salida PWM (buzzer)
# Función para hacer sonar el buzzer con una frecuencia específica
def sonar_buzzer(frecuencia):
buzzer.freq(frecuencia) # Establece la frecuencia del buzzer
buzzer.duty_u16(1000) # Establece el ciclo de trabajo (volumen) del buzzer
# Bucle principal
while True:
# Comprobar si se ha presionado algún botón
if not boton1.value(): # Si se presiona el botón 1
sonar_buzzer(440) # Se hace sonar el buzzer con la frecuencia correspondiente a la nota La
elif not boton2.value(): # Si se presiona el botón 2
sonar_buzzer(494) # Se hace sonar el buzzer con la frecuencia correspondiente a la nota Si
elif not boton3.value(): # Si se presiona el botón 3
sonar_buzzer(523) # Se hace sonar el buzzer con la frecuencia correspondiente a la nota Do
elif not boton4.value(): # Si se presiona el botón 4
sonar_buzzer(587) # Se hace sonar el buzzer con la frecuencia correspondiente a la nota Re
else:
buzzer.duty_u16(0) # Si no se presiona ningún botón, se detiene el sonido del buzzer
# Esperar un breve tiempo para evitar el uso excesivo de CPU
time.sleep(0.1)