Genera Tonos Musicales con Arduino: Guía Paso a Paso
Componentes y materiales
| Arduino UNO | × | 1 |
| Altavoz: 0.25 W, 8 Ω | × | 1 |
| Resistencia 221 Ω (150–220 Ω) | × | 1 |
Aplicaciones y servicios online
- Arduino IDE
Sobre el proyecto
En este proyecto explico cómo usar un Arduino para hacer música con solo un altavoz y una resistencia.
Como muchos proyectos similares, genera tonos que coinciden con las notas de un piano. Sin embargo, no usa una tabla de frecuencias (lookup table). En su lugar, calcula las frecuencias mediante una fórmula que acepta un número del 1 al 88, correspondiente a cada tecla de un piano de 88 teclas.
La librería Arduino ofrece tone() para generar ondas cuadradas, pero no produce tonos por debajo de 31 Hz. Un piano de 88 teclas tiene notas por debajo de ese límite, así que tone() no sirve para el rango completo. Mostraré cómo generar ondas cuadradas usando retardos simples (delayMicroseconds()).
El proyecto trabaja a nivel de microsegundos (millonésima de segundo). delayMicroseconds() no es fiable para retardos de miles de microsegundos, que a veces se necesitan, así que también enseñaré a superar esta limitación.
A pesar de estos retos, el código es muy compacto: cabe casi en una sola pantalla (sin comentarios). El código totalmente comentado está enlazado en la descripción del vídeo.
¡Espero que disfrutes el proyecto!
Código
Código del proyecto
El código está disponible como Gist en GitHub (ID: 1add672bc7957135ac4e212360acbc98).
Esquemáticos
Conecta el altavoz a GND y al pin 12 a través de una resistencia.
Proceso de manufactura
- Crea un Impresionante Sistema Ambilight para Monitor con Arduino
- Construya un mando a distancia IR universal con Arduino: Guía paso a paso
- Crea un Botón de Teclado Personalizado y "Apuñalable" con Arduino: Guía Paso a Paso
- Conectar Arduino Mega a módulo GPS NEO‑6M: Guía paso a paso
- Tres en raya con Arduino, matriz LED MAX7219 y carcasa de cartón
- Construye un voltímetro DIY con Arduino y pantalla Nokia 5110 – Guía paso a paso
- Electrodomésticos activados por voz: Control Bluetooth con Google Assistant
- Conexión de Arduino a NMEA‑0183: Guía Paso a Paso
- Puerta automática con Arduino y sensor ultrasónico HC-SR04
- Construye un Coche Bluetooth Controlado con Arduino Nano: Guía DIY Completa
- Domina Modbus en Arduino: Guía Paso a Paso