banner
Centro de Noticias
Elija entre nuestra amplia gama de productos y servicios de clase mundial para vivir una experiencia verdaderamente extraordinaria.

Cómo utilizar un timbre para reproducir música con Raspberry Pi Pico

May 28, 2023

Con un zumbador piezoeléctrico económico, puede configurar alarmas o reproducir melodías completas.

Ya sea que estés creando un juego que emite un pitido cuando pierdes un turno, un despertador que te despierta o simplemente una linda pantalla que reproduce música de 8 bits, un zumbador piezoeléctrico de bajo costo puede ser una gran parte de tu Raspberry Pi Pico. proyecto. Los zumbadores extremadamente baratos (a menudo puedes encontrarlos por menos de 1 dólar cada uno) son muy simples de programar en MicroPython e incluso pueden variar la frecuencia para producir notas musicales.

Hay dos tipos de zumbadores piezoeléctricos: activos y pasivos. Los zumbadores activos harán ruido si simplemente están conectados a la corriente sin un microcontrolador involucrado, mientras que los pasivos no lo harán. Se prefieren los zumbadores pasivos para este tipo de proyectos porque ofrecen una mejor gama de sonidos, aunque en nuestras pruebas ambos funcionaron.

A continuación, le mostraremos cómo conectar la Raspberry Pi Pico a un zumbador piezoeléctrico y programarlo en MicroPython para reproducir una melodía corta.

Esto no podría ser más sencillo. Conecta el pin de tierra del zumbador a un pin GND en el Pico y el pin positivo del zumbador a un pin GPIO estándar en el pico, en nuestro caso GP15. Nuestro zumbador pasivo no tenía etiquetas negativas o positivas en sus pines y funcionaba con cualquiera de los dos conectados a cualquiera de los pines Pico.

1. Comience importando Pin y PWM desde la biblioteca de la máquina y duerma desde la biblioteca utime.

2.Inicializar PWM(también conocido como modulación de ancho de pulso) en el Pin 15 y asígnelo al zumbador variable.

3. Asigne una propiedad de frecuencia al timbre. Debes elegir un número que oscile entre 10 y 12.000. Cuanto mayor sea el número, más agudo será el sonido. Probemos con 500.

4.Establecer la propiedad duty_u16del objeto zumbadora 1000 . Esto hace que el timbre sea lo más fuerte posible. Un valor más bajo es más silencioso y 0 significa que no hay ningún sonido. Teniendo en cuenta lo silenciosos que son estos timbres, el volumen máximo no es nada alto.

5.Establecer un retraso de 1 segundoy luegoestablecer el deber en 0 para que el sonido se detenga. Si no hace esto, el zumbido continuará incluso después de que el programa haya terminado de ejecutarse.

Su código final para esta sencilla prueba debería verse así.

Como puedes utilizar diferentes frecuencias, puedes crear una gama completa de notas musicales. Hay algunas listas de frecuencias de notas musicales en línea y muchas de ellas se remontan a la biblioteca de tonos Arduino de Brett Hagman en Github. Usaremos estos valores para crear una lista que podamos usar para reproducir cualquier canción al principio de nuestro código.

1.Importar las bibliotecas necesariasyinicializar PWM en el pin 15.

2.Crea un diccionario llamado notascon los siguientes valores.

3.Crear una lista (también conocido como matriz) de notas por tu canción. Utilice la letra P para representar pausas en la música. Cada nota debe estar entre comillas.

Felicitaciones a la gente de este hilo por compartir las notas de este famoso riff.

4.Crea una función llamada tono de reproducción.que tomará cualquier frecuencia y la reproducirá a todo volumen.

5.Crea una función llamada tranquilizareso silenciará el timbre cambiando duty_u16 a 0.

6.Crea una función llamada playongque usará para iterar a través del conjunto de notas y tocar cada una o hacer una pausa cuando vea P.

Esto es lo que está pasando aquí. Primero, creamos un bucle for que recorre todos los valores de la matriz mysong. Si el valor es igual a P, activa el silencio y, si no, activa el tono de reproducción. Tenga en cuenta que el tono de reproducción requiere un valor de frecuencia numérico, por lo que debemos obtener el número de cada nota de la lista de tonos. Si simplemente tocamos el tono(mysong[i]), fallará porque intentará tocar la cuerda “E5”, en lugar de la frecuencia 659, que es el número entero que necesita.

Por cada tono o pausa, el sistema mantiene el estado durante 0,3 segundos de sueño. Si quieres un tempo más rápido, puedes reducir ese tiempo. Si quieres un tempo más lento, auméntalo.

7.Activar la función de reproducción de canciones.con el parámetro de canción.

Cuando ejecute este código, escuchará el timbre tocar una melodía familiar. Así es como debería verse el código completo:

Ahora ya sabes cómo reproducir música con Raspberry Pi Pico y un zumbador piezoeléctrico. Puedes hacer que esto reproduzca cualquier canción, siempre que tengas las notas.

Únase a los expertos que leen Tom's Hardware para obtener información privilegiada sobre las noticias entusiastas sobre tecnología de PC, y lo han hecho durante más de 25 años. Le enviaremos noticias de última hora y reseñas detalladas de CPU, GPU, IA, hardware de fabricante y más directamente a su bandeja de entrada.

Raspberry Pi captura imágenes en primer plano de la Luna

Raspberry Pi anima un letrero hecho con bombillas LED Phillips Hue

Este estuche compacto para SSD M.2 2230 luce increíblemente elegante

Por Avram Piltch29 de agosto de 2023

Por Paul Alcorn29 de agosto de 2023

Por Ash Hill28 de agosto de 2023

Por Anton Shilov28 de agosto de 2023

Por Francisco Pires28 de agosto de 2023

Por Aaron Klotz28 de agosto de 2023

Por Zhiye Liu28 de agosto de 2023

Por Anton Shilov28 de agosto de 2023

Por Anton Shilov28 de agosto de 2023

Por Ash Hill28 de agosto de 2023

Por Aaron Klotz28 de agosto de 2023

Frambuesa Pi Pico:Zumbador piezoeléctrico pasivo:Dos cables de puente:Inicializar PWMEstablecer la propiedad duty_u16a 1000Establecer un retraso de 1 segundoestablecer el deber en 0Importar las bibliotecas necesariasinicializar PWM en el pin 15Crea un diccionario llamado notasCrear una lista () de notasCrea una función llamada tono de reproducción.Crea una función llamada tranquilizarCrea una función llamada playongActivar la función de reproducción de canciones.Samuel Morse 😄🚦🤔🙇