Nota
¡Hola! ¡Bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook! Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 junto a otros apasionados.
¿Por qué unirse?
Soporte de expertos: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances exclusivos: Accede anticipadamente a anuncios de nuevos productos y adelantos exclusivos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones festivas y sorteos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo!
Piano de Frutas
Este proyecto es un simple piano de frutas que lee la entrada de un sensor táctil MPR121 y reproduce música a través de un DAC. En otras palabras, hemos convertido frutas en un teclado, permitiéndote tocar música simplemente tocándolas.
Componentes necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
---|---|---|
Elite Explorer Kit |
300+ |
También puedes comprarlos por separado desde los enlaces a continuación.
INTRODUCCIÓN DEL COMPONENTE |
ENLACE DE COMPRA |
---|---|
- |
|
- |
|
- |
Cableado
Esquema
Código
Nota
Puedes abrir el archivo
02_fruit_piano.ino
bajo la rutaelite-explorer-kit-main\fun_project\02_fruit_piano
directamente.O copia este código en Arduino IDE.
Nota
Para instalar la biblioteca, utiliza el Administrador de Bibliotecas de Arduino y busca «Adafruit MPR121» e instálala.
¿Cómo funciona?
Aquí hay una explicación paso a paso del código:
Inicialización de Biblioteca y Objetos:
Importa las bibliotecas necesarias: biblioteca
Wire
(para comunicación I2C), bibliotecaAdafruit_MPR121
(para controlar el MPR121), bibliotecaanalogWave
(para generar formas de onda analógicas) ypitches.h
(que define las frecuencias de las notes). Crea instancias de los objetosAdafruit_MPR121
yanalogWave
. Define un array de notes para almacenar la note correspondiente a cada canal táctil.setup()
:Inicializa la comunicación Serial y espera a que comience. Verifica e inicializa el MPR121; si no se encuentra, imprime un mensaje de error en el monitor serial y detiene la ejecución. Inicializa el objeto
analogWave
y establece la frecuencia inicial de la onda sinusoidal a 10Hz.loop()
:Lee los canales actualmente tocados del MPR121. Itera a través de todos los canales, verifica cuál está tocado y reproduce la note correspondiente. Añade una pequeña demora entre cada iteración.
Reproducir note
playNote()
:La función
playNote
toma un parámetronote
y establece la frecuencia del DAC para reproducir la note correspondiente. Demora por un período para reproducir la note. Deja de reproducir la note.