# 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)

BOOTSELLED1239USBRaspberryPiPico©2020RP2-8020/21P64M15.00TTT