Ir al contenido
← Volver a Formación Arduino Principiante

09. Alarma de movimiento PIR con zumbador

Detecta presencia con un sensor PIR y dispara una alarma sonora y visual. Tu primer sistema de seguridad.

Dificultad: Principiante · Tiempo: 40 min · Cerebro: Arduino Uno

🧰 Lista de materiales

Arduino Uno R3 (ATmega328P)
Arduino Uno R3 (ATmega328P)
Lógica de la alarma
sin foto
Sensor PIR SR602
Detecta movimiento (infrarrojo pasivo)
sin foto
Zumbador activo TMB12A05 5 V
Alarma sonora (no requiere PWM)
LED 5 mm rojo difuso
LED 5 mm rojo difuso
Indicador visual
sin foto
Resistencias película metálica 1/4 W
220 Ω
Breadboard 830 puntos
Breadboard 830 puntos
Montaje

🎯 Qué vas a aprender

Cómo funciona un sensor PIR (infrarrojo pasivo) y cómo encadenar detección → reacción. Usarás un zumbador activo (perfecto para alarmas: con darle tensión ya pita).

📚 Teoría: el sensor PIR

Un PIR detecta los cambios de radiación infrarroja que emite un cuerpo caliente al moverse. No «ve» calor estático: reacciona al movimiento. Su salida es digital: HIGH cuando detecta, LOW en reposo. Es ideal para alarmas y luces automáticas.

NotaTras alimentarlo, el PIR necesita ~30-60 s de estabilización. Durante ese tiempo puede dar falsos positivos; el código añade un periodo de calentamiento.

🔌 Conexiones

ComponentePin
PIR VCC5 V
PIR GNDGND
PIR OUTD2
Zumbador activo +D8
Zumbador activo −GND
LED rojoD9 vía 220 Ω → GND

💻 Código completo

// Alarma de movimiento con PIR
const int PIN_PIR    = 2;
const int PIN_BUZZER = 8;
const int PIN_LED    = 9;

void setup() {
  pinMode(PIN_PIR, INPUT);
  pinMode(PIN_BUZZER, OUTPUT);
  pinMode(PIN_LED, OUTPUT);
  Serial.begin(9600);
  Serial.println("Calentando sensor PIR (30 s)...");
  delay(30000);          // estabilización del PIR
  Serial.println("Alarma armada.");
}

void loop() {
  if (digitalRead(PIN_PIR) == HIGH) {
    Serial.println("¡Movimiento detectado!");
    digitalWrite(PIN_LED, HIGH);
    digitalWrite(PIN_BUZZER, HIGH);
    delay(2000);         // alarma 2 s
    digitalWrite(PIN_LED, LOW);
    digitalWrite(PIN_BUZZER, LOW);
  }
  delay(100);
}

🛠️ Montaje paso a paso

  1. Alimenta el PIR (5 V y GND) y lleva su OUT a D2.
  2. Conecta el zumbador activo entre D8 y GND.
  3. Monta el LED con su resistencia en D9.
  4. Sube el sketch y espera el calentamiento; luego muévete frente al sensor.

🧩 Resolución de problemas

SíntomaCausaSolución
Salta sin movimientoAún calentando o corrientes de aireEspera el warm-up; aleja de fuentes de calor
No detectaRango/orientaciónApunta el domo a la zona; ~5 m máx.
Zumbador no suenaUsaste pasivoPara alarma usa el activo o tone()

🚀 Para ir más lejos

  • Añade un interruptor de armado y un LED de «sistema activo».
  • Sustituye el PIR por la placa controladora PIR USB-C/JST del inventario.
  • Combínalo con un relé para encender una luz potente al detectar.
← Volver a Formación Arduino