Alarma con sensor de movimiento PIR
Arma y desarma una alarma con un PIN y activa un LED cuando el sensor PIR detecta movimiento.
Qué vas a construir
Una alarma que se arma y se desarma con un PIN escrito en el monitor serie. Cuando está armada y el sensor PIR detecta movimiento, la alarma se activa y se queda encendida hasta que la desarmes.
Lo que aprendes
- Cómo leer un sensor digital de movimiento (PIR).
- Qué significa una alarma enclavada (se queda activa hasta una acción humana).
- Cómo combinar un control de acceso con un sensor.
Idea clave
El sensor PIR da HIGH cuando detecta movimiento y LOW cuando no. Si la alarma solo siguiera al sensor, se apagaría en cuanto el movimiento parara. Por eso la alarma queda enclavada: una variable guarda que hubo una alerta, y solo se borra cuando alguien desarma el sistema con el PIN.
Materiales en Tinkercad
- Arduino Uno R3
- Sensor PIR (en Tinkercad: busca PIR Motion Sensor)
- 1 LED rojo y 1 resistencia de 220 Ω
- Monitor serie
Nota para el docente: comprueba que tu versión de Tinkercad tenga el sensor PIR. Si no lo tiene, simula el movimiento con un pulsador en el pin 4.
Paso 1: Conexión
- PIR: salida (OUT) al pin 4, VCC a 5 V, GND a GND.
- LED de alarma: pin 8 → resistencia → LED → GND.
Paso 2: Código
const int PIR = 4;
const int ALARMA = 8;
const String PIN_CORRECTO = "4821";
bool armado = false;
bool alarmaActiva = false;
void setup() {
Serial.begin(9600);
pinMode(PIR, INPUT);
pinMode(ALARMA, OUTPUT);
Serial.println("Sistema listo. Escribe el PIN para armar o desarmar:");
}
void loop() {
if (Serial.available()) {
String intento = Serial.readStringUntil('\n');
intento.trim();
if (intento == PIN_CORRECTO) {
armado = !armado;
alarmaActiva = false;
Serial.println(armado ? "Armado" : "Desarmado");
} else {
Serial.println("PIN incorrecto");
}
}
if (armado && digitalRead(PIR) == HIGH) {
alarmaActiva = true;
}
digitalWrite(ALARMA, alarmaActiva ? HIGH : LOW);
}
Paso 3: Prueba
- Escribe
4821. Debe decir “Armado”. - Activa el sensor PIR (en Tinkercad, mueve el sensor o espera a que detecte). El LED debe encenderse.
- Cuando el sensor deje de detectar, el LED debe seguir encendido.
- Escribe
4821para desarmar. El LED debe apagarse.
Cómo sabes que lo lograste
- La alarma se enciende al detectar movimiento estando armada.
- La alarma sigue encendida después de que el movimiento para.
- Sin armar, el movimiento no activa la alarma.
- Puedes explicar qué es una alarma enclavada.
Qué salió mal
La alarma no se enciende. Revisa que el sistema esté armado (debe decir “Armado”). Revisa también el cable del PIR al pin 4.
La alarma se enciende sola. El PIR de Tinkercad puede necesitar unos segundos para estabilizarse. Espera antes de armar.
Siguiente clase
En la siguiente clase vas a registrar cada evento con una marca de tiempo, para poder revisar qué pasó y cuándo.