Sensor de Movimiento PIR HC-SR501: Guía de Ajuste, Conexión y Uso con Arduino
El HC-SR501 es el sensor PIR (Infrarrojo Pasivo) más usado en proyectos Arduino. Detecta movimiento de cuerpos que emiten calor (personas, animales) por cambio de radiación infrarroja. Alcance: 3–7 m (ajustable). Ángulo: ~110°–120°. Alimentación: 4,5–20 V (típico 5 V). Salida: Digital 3,3 V / 5 V (HIGH = movimiento, LOW = reposo). Corriente: ~65 µA (standby). Dos potenciómetros onboard: Sensibilidad (Sx) y Tiempo de retardo (Tx). Jumper de modo: H (Retrigger / Re-disparo) y L (Single / No re-disparo). Ideal para alarmas, luces automáticas, domótica, robots, cámaras trampa.
Pinout del HC-SR501
| Pin | Nombre | Función |
|---|---|---|
| 1 | VCC | Alimentación 5 V (4,5–20 V) |
| 2 | OUT | Salida digital (HIGH al detectar) |
| 3 | GND | Tierra |
Ajustes Críticos (Potenciómetros y Jumper)
Sensibilidad (Sx) — Potenciómetro izquierdo (generalmente)
Gira horario → mayor sensibilidad (hasta ~7 m). Antihorario → menor (~3 m). Ajusta según entorno: alta para espacios abiertos, baja para evitar falsos positivos (corrientes aire, mascotas pequeñas).
Tiempo de Retardo (Tx) — Potenciómetro derecho
Tiempo que OUT permanece HIGH tras detectar. Horario → máx. ~300 s (5 min). Antihorario → mín. ~3 s. Para luces: 30–60 s. Para alarma: 5–10 s.
Jumper Modo Disparo (Trigger Mode)
- Posición H (Retrigger / Repeatable): Si hay movimiento continuo, el temporizador se reinicia (OUT se mantiene HIGH mientras hay actividad). Recomendado para luces.
- Posición L (Single / Non-retrigger): OUT pasa HIGH por tiempo Tx fijo; ignora nuevo movimiento hasta que vuelve LOW. Útil para conteo de eventos.
Conexión con Arduino
HC-SR501 Arduino Uno VCC ──────── 5V GND ──────── GND OUT ──────── D2 (cualquier pin digital)
OUT entrega 3,3 V (compatible con Arduino 5 V como HIGH). No necesita pull-up.
Código Arduino Básico
const int PIR_PIN = 2;
const int LED_PIN = 13; // LED onboard
void setup() {
pinMode(PIR_PIN, INPUT);
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600);
Serial.println("HC-SR501 Calentando... (30-60 s)");
delay(60000); // Estabilización inicial
Serial.println("Listo");
}
void loop() {
int motion = digitalRead(PIR_PIN);
if (motion == HIGH) {
digitalWrite(LED_PIN, HIGH);
Serial.println("¡Movimiento detectado!");
} else {
digitalWrite(LED_PIN, LOW);
}
delay(100);
}
Código con Interrupción (Más Eficiente)
const int PIR_PIN = 2; // Pin con interrupción (Uno: D2, D3)
volatile bool motionDetected = false;
void IRAM_ATTR pirISR() {
motionDetected = true;
}
void setup() {
pinMode(PIR_PIN, INPUT);
pinMode(13, OUTPUT);
attachInterrupt(digitalPinToInterrupt(PIR_PIN), pirISR, RISING);
Serial.begin(9600);
delay(60000);
Serial.println("Listo (interrupción)");
}
void loop() {
if (motionDetected) {
digitalWrite(13, HIGH);
Serial.println("Movimiento (ISR)");
delay(1000); // Anti-rebote simple
digitalWrite(13, LOW);
motionDetected = false;
}
}
Consideraciones Importantes
- Estabilización inicial: 30–60 s tras encender. Sensor se adapta al fondo térmico. Ignora lecturas en este periodo.
- Falsos positivos: Corrientes de aire caliente/frío, sol directo, calefactores, mascotas. Ajusta sensibilidad y posición.
- No detecta a través de cristal: El IR no atraviesa vidrio. Monta sensor en mismo lado que zona a vigilar.
- Montaje: Altura 2–2,5 m. Evita fuentes de calor en campo de visión. Orientar ligeramente hacia abajo.
- Consumo bajo: 65 µA → apto para batería (con regulador eficiente).
Proyecto: Luz Automática Escalera / Pasillo
const int PIR = 2;
const int RELAY = 7; // Módulo relé Active LOW
unsigned long lastMotion = 0;
const unsigned long TIMEOUT = 30000; // 30 s
void setup() {
pinMode(PIR, INPUT);
pinMode(RELAY, OUTPUT);
digitalWrite(RELAY, HIGH); // Relé OFF
}
void loop() {
if (digitalRead(PIR) == HIGH) {
lastMotion = millis();
digitalWrite(RELAY, LOW); // Luz ON
}
if (millis() - lastMotion > TIMEOUT) {
digitalWrite(RELAY, HIGH); // Luz OFF
}
}
Jumper en H (Retrigger) para que tiempo se reinicie con cada paso.
Conclusión
El HC-SR501 es sensor PIR barato, fiable y configurable. Claves: precalentar 60 s, ajustar sensibilidad/tiempo, elegir modo H (luces) o L (conteo), montar a 2 m sin calor directo. Combina con relé para cargas AC. Para exterior, usa versión IP66 (HC-SR505 mini o carcasa estanca). ¡Automatiza tu espacio!
Tecnología Industrial
- Domina las redes sociales para fabricantes: Guía completa en eBook
- AIaaS Desmitificado: La Guía Definitiva de IA como Servicio
- Domine la Gestión de Mantenimiento: Aumente la Eficiencia y Reduzca Costes
- Fundamentos de CMMS: La Guía Definitiva – Parte 1
- La Guía Definitiva de CMMS: Parte 4 – Elegir el sistema adecuado para su organización
- Volviendo a lo Básico: La Guía Definitiva de CMMS – Parte 3: Seleccionar características para una implementación exitosa
- Electricidad Fría Explicada: Guía Completa de Fundamentos de Circuitos LC
- Dominando las Pistas de Circuito: Guía Definitiva de Diseño de PCB
- Guía Definitiva de Equivalentes del LM311
- Guía de acoplamientos industriales: tipos, aplicaciones y selección eficiente
- Piezas SEW Eurodrive: Guía Completa de Calidad y Rendimiento