SKU 00041
Sensor PIR hc-sr501
$2,75
Disponible
4 disponibles
Consultar por WhatsApp
Datos rápidos
- Alimentación
- 4,5 a 20 V (5 V recomendado)
- Salida
- 3,3 V con movimiento, 0 V sin movimiento
- Alcance
- 3 a 7 m (potenciómetro de sensibilidad)
- Ángulo
- Cono de unos 110°
Características
Sensor de movimiento por infrarrojo pasivo: detecta el calor del cuerpo de personas y animales cuando se mueven frente a él, hasta unos 7 metros. Cuando detecta, su salida pasa a 3,3 V durante el tiempo que ajustes.
Funciona solo, sin Arduino (por ejemplo, con un módulo de relé para una luz), o conectado a un pin digital.
| Alimentación | 4,5 a 20 V (5 V recomendado) |
|---|---|
| Salida | 3,3 V con movimiento, 0 V sin movimiento |
| Alcance | 3 a 7 m (potenciómetro de sensibilidad) |
| Ángulo | Cono de unos 110° |
| Tiempo activo | De unos segundos a unos 5 minutos (potenciómetro de tiempo) |
| Modo | Puente: una sola vez (L) o repetitivo (H) |
| Arranque | Necesita cerca de 1 minuto para estabilizarse |
¿Para qué sirve?
- Alarmas y avisos de presencia
- Encender luces al pasar
- Ahorrar energía apagando equipos cuando no hay nadie
Diagrama de conexión de prueba
Placa usada: Arduino UNO
| Cable | Módulo | Arduino UNO | Nota |
|---|---|---|---|
| rojo | VCC | 5V | |
| amarillo | OUT | D2 | Salida del sensor |
| negro | GND | GND |
Código de prueba
// Prueba del sensor PIR HC-SR501: avisa en el Monitor serie y enciende el
// LED del pin 13 cuando detecta movimiento.
const int PIN_PIR = 2;
bool habiaMovimiento = false;
void setup() {
pinMode(PIN_PIR, INPUT);
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
// Al encenderse, el sensor necesita cerca de un minuto para estabilizarse
Serial.println("Esperando 60 segundos a que el sensor se estabilice...");
delay(60000);
Serial.println("Listo");
}
void loop() {
bool hayMovimiento = digitalRead(PIN_PIR) == HIGH;
digitalWrite(LED_BUILTIN, hayMovimiento ? HIGH : LOW);
if (hayMovimiento && !habiaMovimiento) Serial.println("¡Movimiento detectado!");
if (!hayMovimiento && habiaMovimiento) Serial.println("Sin movimiento");
habiaMovimiento = hayMovimiento;
delay(100);
}
Al encender, el código espera 60 s a que el sensor se estabilice. Para probar rápido, pon el potenciómetro de tiempo al mínimo y el puente en H. Abre el Monitor serie a 9600 baudios.
Precauciones
- Detecta cambios de calor: el sol directo, una estufa o el aire caliente pueden dar falsas alarmas.
- No detecta a través de vidrios ni paredes.
- Después de cada detección queda unos segundos sin poder activarse de nuevo: es normal.
- Es para interiores; afuera protégelo de la lluvia y del sol.
Fuentes consultadas: Tayda Electronics: HC-SR501 · Homemade Circuits: hoja de datos del HC-SR501. Ficha preparada por Electrodrone; verifica siempre el voltaje de tu módulo antes de conectarlo.