¡La respuesta es sí! Aunque no lo parezca, Arduino también puede hacer arte, y uno de los caminos más divertidos para lograrlo es… ¡la música!
Para eso existen los buzzers, unos pequeños dispositivos que convierten señales eléctricas en sonido. Ya los hemos visto en clases anteriores, pero hoy vamos a profundizar un poco más en cómo funcionan y cómo podemos usarlos para construir un nano piano que toca melodías reales.
Un buzzer es un componente electrónico que vibra al recibir corriente, y esa vibración produce un sonido. Dependiendo del tipo, el sonido puede ser más simple o tan variado como una canción.
Existen dos tipos principales de buzzer:
Tiene su propia frecuencia interna. Solo lo enciendes y suena (como un “¡bip!”)
Necesita que tú le digas qué frecuencia usar (¡perfecto para tocar canciones!).
Si al conectarlo al positivo y al negativo suena sin hacer nada, probablemente es activo.
Las notas musicales son frecuencias. Cuando enviamos una señal cuadrada a un buzzer pasivo con una frecuencia determinada, este produce una nota.
El Arduino tiene una función especial llamada tone() para generar estas frecuencias.
Para simular las “teclas” de nuestro piano, usaremos push buttons. Estos permiten que cuando presionamos un botón, el Arduino sepa que nota debe tocar.
Actividad 1: ¡Armemos nuestro Nano Piano!
Arma un piano eléctrico con un Arduino Nano, botones y un buzzer.
Arduino Nano
Protoboard
6 botones
6 resistencias de 10kΩ (pull-down)
Buzzer pasivo
Jumpers
Código de programación:
Conexiones:
// Pines de los botones
int botones[] = {2, 3, 4, 5, 6, 7, 8}; // 7 botones
// Frecuencias para las notas (Do, Re, Mi, Fa, Sol, La)
int notas[] = {262, 294, 330, 349, 392, 440, 494};
int buzzer = 9; // Pin conectado al buzzer
void setup() {
for (int i = 0; i < 6; i++) {
pinMode(botones[i], INPUT);
}
pinMode(buzzer, OUTPUT);
}
void loop() {
for (int i = 0; i < 6; i++) {
if (digitalRead(botones[i]) == HIGH) {
tone(buzzer, notas[i]);
return;
}
}
noTone(buzzer);
}
¿Qué significa tone()?
La función tone(pin, frecuencia) le dice al Arduino que genere una señal cuadrada de cierta frecuencia en un pin, lo que hace que un buzzer pasivo vibre y produzca un sonido. Por ejemplo: tone(9, 440);
Esto hace sonar el buzzer conectado al pin 9 con una frecuencia de 440 Hz, que es la nota La.
¿Qué pasaría si no usamos noTone()?
Si no usamos noTone(pin), el buzzer seguirá sonando indefinidamente con la última frecuencia activada, incluso si ya soltaste el botón. noTone() se encarga de detener el sonido cuando ya no se debe emitir ninguna nota. Sin noTone(), el buzzer podría sonar “atascado” o hacer ruido constante, y no tendría el efecto de “tecla suelta” como un piano real.
¿Por qué usamos return dentro del for?
Usamos return para que, en cuanto se detecte que un botón está presionado, se toque la nota correspondiente y se detenga el resto del bucle. Esto evita que se lean múltiples botones al mismo tiempo. Así aseguramos que solo una nota suene a la vez, como si tocaras una sola tecla del piano. Si no usáramos return, el loop podría seguir revisando los demás botones y producir sonidos extraños o mezclar notas accidentalmente.
Video con explicación:
Actividad 2: Toca tu primera canción
Con el orden de las notas intenta tocar alguna melodía.
Nano piano
¿Estrellita dónde estas?:
1 1 5 5 6 6 5
4 4 3 3 2 2 1
5 5 4 4 3 3 2
5 5 4 4 3 3 2
1 1 5 5 6 6 5
4 4 3 3 2 2 1
María tenía un corderito:
3 2 1 2 3 3 3
2 2 2 3 5 5
3 2 1 2 3 3 3
3 2 2 3 2 1
Quiz de repaso
Presentación Clase 9: Control de Servomotores
Código y conexiones
1. ¿Qué pasa si quemo plástico con el cautín?
Al quemar plástico, liberas humos tóxicos que te hacen daño. ¡Evítalo! Si se pega plástico a la punta, limpia con una esponja húmeda o lana metálica.
2. ¿Qué hago si me quemo con el cautín?
Si eres menor de edad, avisa a un adulto.
Enfría la zona con agua corriente por 10 minutos.
Cubre con una gasa estéril.
Consulta al médico si es grave (ampollas grandes o mucho dolor).
3. ¿Por qué mi cautín cambia de color en la punta?
Oxidación: Límpialo con frecuencia y mantén la punta estañada.
Temperatura alta: No sobrecalientes. Ajusta entre 350-400 °C.
Residuos: Usa estaño de calidad con flux y limpia tras cada uso.
4. ¿Cómo saber si mi cautín es de buena calidad?
Un buen cautín:
Mantiene la temperatura estable.
Permite ajustar la temperatura (idealmente entre 200-450 °C).
Tiene puntas reemplazables y de buena conducción térmica.
7. ¿Cómo ajusto la temperatura de mi cautín?
350-400 °C: Ideal para soldaduras estándar.
300-350 °C: Para componentes sensibles.
Si tu cautín no tiene ajuste, considera uno que lo permita.
8. ¿Qué hacer si mi cautín no calienta bien?
Limpia la punta, puede estar oxidada.
Revisa el cable y las conexiones.
Si sigue fallando, reemplaza el elemento calefactor o el cautín.