
Además de encender LEDs o leer botones, Arduino también puede controlar dispositivos que generan sonido. Uno de los más usados en prácticas iniciales es el buzzer, un actuador que permite emitir pitidos o alertas simples.
En este artículo aprenderás a utilizar un buzzer en dos ejercicios básicos: una alarma activada con botón y un sonido cuando se enciende un LED. Con esto introduces un nuevo tipo de actuador en tus proyectos y amplías las posibilidades de interacción.
🎯 Objetivo
Usar un buzzer como actuador de salida para emitir sonido en respuesta a una condición programada en Arduino.
🔊 ¿Qué es un buzzer?
Un buzzer es un componente electrónico que produce sonido cuando recibe una señal eléctrica. En Arduino se usa con frecuencia para crear:
- alarmas
- avisos sonoros
- señales de confirmación
- efectos simples de sonido
Es una excelente manera de añadir retroalimentación auditiva a un proyecto.
🧩 Tipos de ejercicio en este artículo
En este tema se trabajarán dos prácticas sencillas:
- Alarma con botón
- Al presionar el botón, el buzzer emite un sonido.
- Sonido cuando el LED enciende
- Cada vez que el LED se activa, el buzzer también suena.
Ambos ejercicios ayudan a comprender cómo Arduino puede controlar actuadores distintos al mismo tiempo.
🛠️ Materiales
- 1 Arduino Uno
- 1 buzzer
- 1 botón
- 1 LED
- 1 resistencia de 220Ω
- 1 resistencia de 10kΩ
- Protoboard y cables
⚡ Ejercicio 1: Alarma con botón
🔌 Conexión
Botón:
- Un terminal → 5V
- Otro terminal → Pin 7
- Resistencia de 10kΩ entre Pin 7 y GND
Buzzer:
- Pin positivo → Pin 8
- Pin negativo → GND
💻 Código Arduino
int boton = 7;
int buzzer = 8;
void setup() {
pinMode(boton, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
int estadoBoton = digitalRead(boton);
if (estadoBoton == HIGH) {
digitalWrite(buzzer, HIGH);
} else {
digitalWrite(buzzer, LOW);
}
}
📖 Explicación
- digitalRead(boton) detecta si el pulsador está presionado
- Si el botón está en HIGH, el buzzer se activa
- Si el botón no está presionado, el buzzer permanece apagado
Este ejercicio funciona como una alarma básica controlada manualmente.
🔔 Hacer que el buzzer suene intermitente
Para generar un sonido con una frecuencia específica en un pin de Arduino se utiliza la función tone(), ya que permite producir tonos definidos, similares a notas musicales. A diferencia de digitalWrite(), que solo activa o desactiva el buzzer, tone() genera una señal que permite controlar el tipo de sonido, haciéndolo más preciso y útil para alarmas, efectos o melodías.
🔊 ¿Para qué sirve tone()?
Se utiliza para:
- 🔔 emitir sonidos controlados
- 🎵 reproducir notas musicales
- 🚨 crear alarmas
- 📢 generar avisos sonoros
- 🎮 hacer efectos de sonido en proyectos
🧠 Sintaxis
tone(pin, frecuencia, duracion);
- pin → donde está conectado el buzzer
- frecuencia → en Hertz (Hz)
- duración → en milisegundos (opcional)
💻 Código Arduino - Ejemplos de uso de la función tone()
| 🔊 Con delay (suena 3 segundos) |
|---|
int boton = 7;
int buzzer = 8;
void setup() {
pinMode(boton, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
int estadoBoton = digitalRead(boton);
if (estadoBoton == HIGH) {
tone(buzzer, 1000, 3000); // suena 3 segundos
delay(3000); // evita que se repita muchas veces
} else {
noTone(buzzer); // apaga el buzzer
}
}
|
| 🎵 Sin delay (suena mientras presiona) |
|---|
int boton = 7;
int buzzer = 8;
void setup() {
pinMode(boton, INPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
int estadoBoton = digitalRead(boton);
if (estadoBoton == HIGH) {
tone(buzzer, 1000, 3000);
} else {
noTone(buzzer); // apaga el buzzer
}
}
|
💡 Ejercicio 2: Sonido cuando el LED enciende
🔌 Conexión
LED:
- Ánodo → Pin 9
- Cátodo → Resistencia de 220Ω → GND
Buzzer:
- Pin positivo → Pin 8
- Pin negativo → GND
💻 Código Arduino
int led = 9;
int buzzer = 8;
void setup() {
pinMode(led, OUTPUT);
pinMode(buzzer, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH);
digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(led, LOW);
digitalWrite(buzzer, LOW);
delay(1000);
}
📖 Explicación
- Cuando el LED se enciende, el buzzer también se activa
- Cuando el LED se apaga, el buzzer deja de sonar
- Ambos componentes trabajan al mismo tiempo como salidas controladas por Arduino
Este ejercicio muestra cómo una misma acción puede activar más de un actuador.
[warning title="Simulación en Wokwi" icon="check-circle"]
https://wokwi.com/projects/458870687877865473
[/warning]
⚙️ ¿Qué se aprende con estos ejercicios?
Con estas prácticas se refuerzan varios conceptos:
- uso del buzzer como actuador
- control de salidas digitales
- activación de sonido por condición
- coordinación entre diferentes componentes de salida
- diseño de alertas simples con Arduino
Además, el estudiante empieza a comprender que Arduino no solo puede mostrar resultados con luz, sino también con sonido.
🚀 Posibles mejoras
Estos ejercicios se pueden ampliar fácilmente:
- hacer que el buzzer emita pitidos intermitentes
- combinar buzzer, LED y botón en un sistema de alarma
- cambiar la duración del sonido con delay()
- usar patrones diferentes de encendido y sonido
⚠️ Errores comunes
❌ Conectar invertido el buzzer
❌ Confundir buzzer activo con buzzer pasivo
❌ No compartir GND correctamente
❌ Esperar melodías complejas usando solo digitalWrite()
❌ Conectar el LED sin resistencia
✅ Conclusión
El buzzer es un actuador sencillo pero muy útil para introducir sonido en proyectos con Arduino. Gracias a él, es posible crear alarmas, avisos y respuestas auditivas que hacen los circuitos más interactivos.
Con ejercicios como la alarma con botón o el sonido al encender un LED, el estudiante amplía su comprensión sobre el control de salidas y comienza a diseñar proyectos más completos, donde la respuesta del sistema no solo se ve, sino también se escucha.