El buzzer o zumbador es la forma más sencilla de que tu proyecto haga ruido: un pitido de alarma, un aviso de "listo" o hasta una melodía. Hay dos tipos que por fuera se ven casi iguales, el buzzer activo y el buzzer pasivo, pero se usan distinto. En esta guía te explicamos la diferencia, cómo reconocerlos y cómo conectarlos al Arduino.
suena solo con voltaje
toca el tono que elijas
ideales para Arduino
¿Qué es un buzzer o zumbador?
Un buzzer es un pequeño componente que convierte una señal eléctrica en sonido. Por dentro tiene una lámina que vibra muy rápido, miles de veces por segundo, y esa vibración es el pitido que escuchamos. Se usa en alarmas, timbres, juguetes, electrodomésticos y en casi cualquier proyecto que necesite avisar algo.
Para que la lámina vibre necesita una señal que se encienda y se apague muy rápido. La gran pregunta es: ¿quién genera esa señal? Ahí está la diferencia entre los dos tipos.
Diferencias entre buzzer activo y pasivo

| Buzzer activo | Buzzer pasivo | |
|---|---|---|
| Qué trae por dentro | Su propio oscilador: genera la señal solo | Nada: necesita que el Arduino le envíe la señal |
| Qué necesita para sonar | Solo voltaje (5 V) | Una señal que suba y baje (una onda) |
| Tono | Uno solo, fijo (el YHE12-05 suena a unos 2300 Hz) | El que elijas desde el código |
| En Arduino | digitalWrite(pin, HIGH) | tone(pin, frecuencia) |
| Ideal para | Alarmas, avisos y pitidos | Melodías, notas y tonos distintos |
En resumen: el activo es el más fácil, porque basta con encenderlo y apagarlo. El pasivo da más trabajo, pero a cambio puedes tocar cualquier nota.
¿Cómo saber si un buzzer es activo o pasivo?
Por fuera pueden ser idénticos: los dos suelen ser cilindros negros con la misma etiqueta blanca. La forma más segura de saberlo es probarlo:
- Conecta el pin + del buzzer (la pata más larga, o la marcada con "+") al 5V del Arduino y el otro pin a GND, solo por un momento.
- Si da un pitido continuo, es activo.
- Si solo hace un clic al conectarlo y luego se queda en silencio, es pasivo.
También puedes fijarte en la descripción del producto: en Nanoparuro cada buzzer indica si es activo o pasivo en su nombre.
Cómo conectar un buzzer activo al Arduino
El buzzer activo se conecta directo al Arduino, sin nada más: su pata + a un pin digital y su pata – a GND. Si aún no has usado una protoboard, revisa primero nuestra guía de cómo usar una protoboard.

| Buzzer activo | Arduino Uno |
|---|---|
| + (pata más larga) | Pin digital 7 |
| – | GND |
Código: un pitido cada segundo
Abre el Arduino IDE, copia este código y súbelo:
const int pinBuzzer = 7; // pata + del buzzer
void setup() {
pinMode(pinBuzzer, OUTPUT);
}
void loop() {
digitalWrite(pinBuzzer, HIGH); // suena
delay(200);
digitalWrite(pinBuzzer, LOW); // se calla
delay(800);
}
Cambia los valores de delay() para hacer pitidos más largos, más cortos o más seguidos. Con un buzzer activo no puedes cambiar el tono: siempre suena con su frecuencia propia.
Cómo conectar un buzzer pasivo al Arduino
El buzzer pasivo lo puedes usar suelto o en módulo. Los dos se programan con la función tone().
Opción 1: buzzer pasivo suelto
Conéctalo con una resistencia de 220 Ω entre el pin del Arduino y su pata +. La resistencia limita la corriente que pasa por el buzzer y así cuida el pin.

| Buzzer pasivo | Arduino Uno |
|---|---|
| + (pata más larga) | Resistencia de 220 Ω → pin digital 8 |
| – | GND |
Código: la escala Do, Re, Mi
const int pinBuzzer = 8; // va a la resistencia de 220 Ω
// Do, Re, Mi, Fa, Sol, La, Si, Do (frecuencias en Hz)
int notas[] = {262, 294, 330, 349, 392, 440, 494, 523};
void setup() {
pinMode(pinBuzzer, OUTPUT);
}
void loop() {
for (int i = 0; i < 8; i++) {
tone(pinBuzzer, notas[i]); // toca la nota
delay(300);
}
noTone(pinBuzzer); // deja de tocar
delay(2000);
}
La función tone(pin, frecuencia) genera la onda que necesita el buzzer pasivo: cuanto más alta la frecuencia, más agudo el sonido. Con la lista de notas puedes armar cualquier melodía.
Opción 2: módulo de buzzer pasivo ARD-BS5
El módulo ARD-BS5 trae el buzzer pasivo, su transistor y su resistencia en una pequeña placa, así que se conecta directo con 3 cables, sin piezas extra.

| Módulo ARD-BS5 | Arduino Uno |
|---|---|
| VCC | 5V |
| GND | GND |
| I/O | Pin digital 8 |
noTone().
Código para el módulo
Es el mismo código, con dos líneas más para dejarlo en silencio:
const int pinBuzzer = 8; // I/O del módulo
// Do, Re, Mi, Fa, Sol, La, Si, Do (frecuencias en Hz)
int notas[] = {262, 294, 330, 349, 392, 440, 494, 523};
void setup() {
pinMode(pinBuzzer, OUTPUT);
digitalWrite(pinBuzzer, HIGH); // en HIGH el módulo queda en silencio
}
void loop() {
for (int i = 0; i < 8; i++) {
tone(pinBuzzer, notas[i]); // toca la nota
delay(300);
}
noTone(pinBuzzer); // deja de tocar
digitalWrite(pinBuzzer, HIGH); // silencio
delay(2000);
}
¿Cuál elegir?
- Elige el activo si solo necesitas avisar: una alarma, un timbre, un pitido al presionar un botón o cuando un sensor detecta algo. Es el más simple de programar.
- Elige el pasivo si quieres música o tonos distintos: melodías, sonidos de juego, una alarma que sube y baja o un tono diferente para cada aviso.
Preguntas frecuentes
Mi buzzer pasivo no suena, ¿está malogrado?
Casi siempre no. Un buzzer pasivo no suena con digitalWrite(pin, HIGH) ni conectado directo a 5 V: necesita la onda que genera tone(). Revisa también que el cable de señal esté en el mismo pin que pusiste en el código.
¿La función tone() afecta a otros pines?
Sí. En el Arduino Uno, mientras tone() está sonando no funciona el PWM (analogWrite) en los pines 3 y 11. Además, tone() solo puede tocar un tono a la vez.
¿Cuál es la pata positiva del buzzer?
La más larga. Además, en la parte de arriba (o en la etiqueta) suele haber un + marcado del lado del pin positivo.
¿Cuál va en tu proyecto?
Elige según lo que quieras que suene.
📍 Recojo en Surco y San Miguel
Buzzer activo vs pasivo: diferencias y cómo usarlos con Arduino