Capacitación Arduino · Buzzer

Buzzer pasivo
Una alarma
con tres niveles

El buzzer convierte pulsos eléctricos en sonido. Un potenciómetro hace de sensor: silencio, pitido intermitente o alarma continua. Simulado en Tinkercad y en OpenCircuits.

Salida de sonido tone() Bloques + C++

El componente

Buzzer: ¿pasivo o activo?

Disco piezo+ → D8− → GND vibra con cada pulso
Pasivo (recomendado)Activo
Cómo suenaNecesita una onda: tone(8, 1000)Suena solo con digitalWrite(8, HIGH)
NotasCualquier frecuencia: melodíasUn solo tono fijo
SimuladoresIgual al Piezo de Tinkercad y OpenCircuitsNo está en Tinkercad
Cómo reconocerloPor debajo se ve la placa verdeTapado con resina negra; suele traer pegatina
Para probar recomendamos el pasivo: hace exactamente lo mismo que en la simulación. Si en el kit tienes un activo, el mismo código con tone() también lo hace sonar, aunque con su tono propio.

Cómo funciona

Encender y apagar 1000 veces por segundo

tone(8, 1000): pin 8 → 1 ms El programa elige según el nivel (A0) 0 a 33 %silencio 34 a 66 %pi… pi… pi… 67 a 100 %piiiiiii
  1. tone(pin, frecuencia) enciende y apaga el pin muy rápido: el disco vibra y suena.
  2. Más frecuencia = sonido más agudo. 1000 Hz es un pitido claro.
  3. noTone(pin) lo deja en silencio.
  4. El potenciómetro en A0 hace de sensor (0 a 100 %) para elegir el sonido.

Para simular

Tinkercad lo tiene: se llama «Piezo»

En el kit real

Buzzer pasivo de 2 patas. La larga (o la marcada con +) va al pin.

En Tinkercad: «Piezo»

Qué revisarTinkercad traePon esto
Patas+ (roja) y − (negra)+ → D8, − → GND
Bloque «reproducir altavoz» · pin08
· tono (nota musical)6071 = 988 Hz ≈ 1000 Hz
· durante1 s0,5 s (alarma) · 0,25 s (pitido)
Bloque «desactivar el altavoz»pin 08

El «tono» de Tinkercad es una nota (60 = do central, 69 = la 440 Hz). En C++ se escribe directo en Hz.

El buzzer es una salida: para tener algo que hacer sonar, un potenciómetro en A0 hace de sensor (nivel de 0 a 100 %).

Paso 1 · Componentes

Búscalos en el panel de componentes de Tinkercad

Arduino Uno R3 ×1

Buscar: Arduino

Placa de pruebas pequeña ×1

Buscar: Placa de pruebas

Piezo ×1

Buscar: piezo. Es el buzzer pasivo.

Potenciómetro ×1

Hace de sensor: nivel de 0 a 100 %.

En Tinkercad el sonido se escucha por los parlantes del computador mientras la simulación está corriendo.

Paso 2 · Circuito

Así se ve en Tinkercad

Buzzer PITIDO

Paso 2 · Conexiones

Conexión por conexión

Alimentación
Arduino 5VRiel + inferior
Arduino GNDRiel − inferior
Potenciómetro (nivel)
—Potenciómetro (fila e)Columnas 14, 15, 16
Columna 14Riel −
Columna 16Riel +
Columna 15 (cursor)Arduino A0
Buzzer (fuera de la protoboard)
Pata +Arduino D8
Pata −Riel −
Todo va en los rieles de abajo (+ y −). En el kit, si el buzzer suena muy fuerte, pon una resistencia de 100 Ω entre D8 y la pata +.

Paso 3 · Código en bloques

Arrastra estos bloques · todo dentro de «siempre»

Antes de empezar

Variables → Crear variable: nivel.

Alarma: un tono de 0,5 s que se repite en cada vuelta (suena seguido). Pitido: 0,25 s de tono y 0,5 s de espera.
Entradaleer pin analógico A0
Matemáticasasignar al rango, comparar ( > )
Salidareproducir altavoz, desactivar el altavoz
Controlsiempre, si / si no, esperar

Paso 3 · Código C++

El mismo programa en texto

// C++ code
//
int nivel = 0;

void setup()
{
  pinMode(A0, INPUT);
  pinMode(8, OUTPUT);
}
tone(8, 988, 500): pin 8, 988 Hz, durante 500 ms. El programa sigue mientras suena.
void loop()
{
  nivel = map(analogRead(A0), 0, 1023, 0, 100);
  if (nivel > 66) {
    tone(8, 988, 500); // play tone 71 (B5 = 988 Hz)
  } else {
    if (nivel > 33) {
      tone(8, 988, 250); // play tone 71 (B5 = 988 Hz)
      delay(500); // Wait for 500 millisecond(s)
    } else {
      noTone(8);
    }
  }
}

Paso 4 · Simular

¡A probar!

  1. Sube el volumen del computador y pulsa Iniciar simulación.
  2. Con la perilla a la mitad se oye un pitido intermitente.
  3. Gírala casi al máximo: alarma continua. Al mínimo: silencio.
  4. Cambia el tono (71) por otra nota y escucha la diferencia.

Si algo no funciona

No suena nadaRevisa que el bloque diga pin 8 y que la pata + vaya a D8.
Suena siempre igualEl cursor del potenciómetro (columna 15) no llega a A0.
Un clic en vez de tonoSe usó «definir pin en ALTA»: un buzzer pasivo necesita tone.
Nunca se callaFalta «desactivar el altavoz» en el último «si no».

Paso 5 · Kit real

Del simulador al buzzer real

Mismas conexiones, mismo código

BuzzerArduino
Pata + (la larga)D8
Pata −GND

Si tu buzzer es un módulo de 3 pines (S, +, −): S → D8, + → 5V, − → GND. No hace falta ninguna biblioteca.

Pasivo o activo en el kit

  1. Conecta la pata + a 5V por un segundo: si suena solo, es activo; si hace un clic, es pasivo.
  2. Con el pasivo, el programa suena igual que en la simulación.
  3. Con un activo también funciona, pero el «tono» no cambia nada: siempre suena su nota.

Mientras suena, tone() no deja usar PWM en los pines 3 y 11.

Alternativa · OpenCircuits

En OpenCircuits el buzzer tiene bloques propios

Buzzer PITIDO Iniciar.bat → SensoresBuzzer pasivo · Alarma de 3 niveles

Los bloques nuevos

La categoría Buzzer trae los tres sonidos listos (a 1000 Hz) y la categoría Potenciómetro lee A0 ya convertido a 0 – 100. No hacen falta variables ni esperas.

Buzzersonar alarma · pitido intermitente · silencio
PotenciómetroPotenciómetro pin A0: valor de 0 a 100
Controlsiempre, si / si no

El pitido intermitente usa el reloj del Arduino (millis()), así que no detiene el programa.

// C++ code
//
void setup()
{
  pinMode(8, OUTPUT);
}
void loop()
{
  if (map(analogRead(A0), 0, 1023, 0, 100) > 66) {
    tone(8, 1000);
  } else {
    if (map(analogRead(A0), 0, 1023, 0, 100) > 33) {
      if ((millis() / 250) % 2) {
        tone(8, 1000);
      } else {
        noTone(8);
      }
    } else {
      noTone(8);
    }
  }
  delay(10); // Delay a little bit to improve simulation performance
}
Este texto lo escribe OpenCircuits a partir de los bloques. Funciona igual en el kit real, sin bibliotecas.

Para seguir

Retos

1 · Theremin

Que la perilla cambie la nota: asigna A0 al rango 48 a 84 y úsalo como tono.

2 · Melodía

Toca «Cumpleaños feliz» con varios bloques «reproducir altavoz» seguidos.

3 · Con un sensor real

Cambia el potenciómetro por el MQ2 o el HC-SR04: alarma de humo o de estacionamiento.

4 · Botón de silencio

Agrega un pulsador que calle la alarma durante 10 segundos.

← → para avanzar · + − acercar el circuito · F pantalla completa