Controle un tono de zumbador con Raspberry Pi Pico

Controle un tono de zumbador con Raspberry Pi Pico

El Raspberry Pi Pico es una placa de microcontrolador de bajo costo que facilita a los principiantes comenzar con proyectos de electrónica y aprender a codificar.

Para este proyecto, aprenderá cómo leer una señal analógica de un potenciómetro y convertirla en una señal PWM (modulación de ancho de pulso) para manipular la frecuencia o el tono de un zumbador con la ayuda del código MicroPython.

¿Qué piezas se necesitan?

Este proyecto se basa en Kitronik Inventor’s Kit para Raspberry Pi Pico. Todos los componentes electrónicos necesarios están incluidos en el kit; sin embargo, estos son componentes comunes que puede tener por ahí:

  • Zumbador de elemento piezoeléctrico
  • potenciómetro giratorio
  • 7 cables de puente macho-macho
  • Raspberry Pi Pico con pines de cabecera GPIO soldados
  • Tablero de circuitos

Si es nuevo en la modulación de ancho de pulso (PWM) y los potenciómetros, primero consulte nuestra guía sobre cómo usar un potenciómetro con su Raspberry Pi Pico, que describe cómo usarlo para ajustar el brillo de un LED con PWM.

Ensamblaje requerido

Electrónica y cableado en protoboard

Un cable puente (amarillo en la foto) conecta el lado izquierdo del potenciómetro al riel positivo (+) de la placa. Otro cable de puente conecta el lado derecho del potenciómetro al lado negativo (-) de la placa. Desde el pin central del potenciómetro, deberá pasar un cable de puente al pin GP26/A0 en el Pico.

El zumbador piezoeléctrico deberá tener un cable que vaya desde su pata negativa hasta el riel negativo de la placa de prueba y luego otra conexión desde su pata positiva hasta el pin GP15 en el Raspberry Pi Pico.

También deberá pasar un cable de puente desde un pin GND en Pico hasta el riel negativo en el protoboard, para conectarlo a tierra. Otro cable de puente conectará el pin de salida 3V3 en el Pico al riel positivo de la placa para alimentar los componentes.

Crear el código

Puede tomar el código del repositorio MUO GitHub. Descargue el archivo MicroPython llamado piezo-buzzer.py y luego cárguelo en su Pico a través de una computadora conectada por USB que ejecute Thonny IDE. Consulte cómo comenzar con MicroPython en Raspberry Pi Pico para obtener más información.

Las diversas partes del código hacen lo siguiente:

  • En la parte superior, importamos los módulos MicroPython de máquina , matemáticas y tiempo requeridos.
  • Luego se asigna una variable de zumbador al pin GP15 como una salida PWM.
  • Se asigna una variable de potenciómetro al convertidor de analógico a digital (ADC) en el pin GP26/A0 de Pico.
  • Definimos una función scale() que utiliza funciones matemáticas para convertir el rango del movimiento del potenciómetro en una salida para el zumbador.
  • El while: True infinite loop lee la entrada del potenciómetro, luego usa la función de escala para convertirla. Después de comprobar que no ha cambiado demasiado con respecto a la frecuencia anterior, envía la frecuencia calculada al zumbador mediante PWM (modulación de ancho de pulso).
listado de códigos para el proyecto del zumbador Pico

En resumen, se envían cientos de pulsos por segundo y el tono del zumbador cambiará entre 120 Hz y 5 kHz a medida que el potenciómetro se gira en sentido horario o antihorario. Girar el potenciómetro altera el voltaje que lee el pin de entrada analógica del Pico, que a su vez se usa para ajustar la frecuencia del zumbador usando PWM.

Ejecute el código de Thonny (haga clic en el ícono de reproducción o presione F5 en su teclado) y pruébelo usted mismo. Después de su primera ejecución, ¿los cambios en el código afectarán los resultados físicos? Por ejemplo, ¿qué sucede si cambia el rango (0 a 65535)? Esta parte del código se encuentra justo debajo de while True: donde se define la frecuencia .

Estableciendo el tono

Si se siente aventurero, puede intentar usar el zumbador para generar tonos musicales usando la biblioteca pi-pico-tones de martinkooij en GitHub. De forma predeterminada, esta biblioteca generará ondas sinusoidales; cuatro generadores de tonos pueden ejecutarse en cuatro pines Pico diferentes como usted elija. Tenga en cuenta que este proyecto se basa en C++ usando el SDK de Raspberry Pi Pico, en lugar de MicroPython, pero se proporcionan instrucciones completas en el archivo Léame de GitHub.

El zumbido de Pico Electronics

Felicitaciones: ha aprendido a leer la entrada analógica de un potenciómetro y convertirla en una señal PWM para controlar un tono de zumbador. Un potenciómetro es un dispositivo de entrada versátil para la electrónica. Un zumbador piezoeléctrico es otro componente útil: con la adición de un sensor de movimiento infrarrojo PIR, por ejemplo, puede detectar la presencia de intrusos y hacer sonar la alarma.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *