Cómo usar el sensor de movimiento PIR HC-SR501 con Arduino

How to Use the HC-SR501 PIR Motion Sensor with Arduino

El HC-SR501 es un módulo de sensor de movimiento de infrarrojos pasivos populares (PIR) que detecta el movimiento midiendo los cambios de radiación infrarroja en sus alrededores. Se usa comúnmente en iluminación activada por el movimiento, sistemas de seguridad y proyectos de IoT. Este tutorial lo guiará a través de la configuración y el uso del HC-SR501 con Arduino.


Lo que necesitarás

  1. Módulo de sensor de movimiento PIR HC-SR501
  2. Arduino Board (por ejemplo, Uno, Mega, Nano)
  3. Cables de placa y jersey
  4. Una computadora con el Arduino IDE instalado

Paso 1: Comprender el sensor HC-SR501

El módulo HC-SR501 tiene sensibilidad ajustable y configuración de tiempo de retraso, lo que lo hace versátil para varias aplicaciones de detección de movimiento. Funciona con potencia de 5V y genera una señal alta cuando se detecta el movimiento.

HC-SR501 PINOUT

Alfiler Función
VCC Fuente de alimentación (5V)
AFUERA Señal de salida digital
Gnd Suelo

Configuración ajustable

  1. Sensibilidad: Ajuste el rango de detección (hasta ~ 7 metros).
  2. Tiempo de retraso: Ajuste la duración de la señal alta después del movimiento se detecta (aproximadamente 5 segundos a 5 minutos).

Paso 2: Cableado el HC-SR501 a Arduino

Aquí le mostramos cómo conectar el HC-SR501 a un Arduino Uno:

Pin HC-SR501 Alfiler de arduino
VCC 5V
AFUERA Pin 2
Gnd Gnd

Paso 3: cargar el código

Aquí hay un boceto de ejemplo para monitorear la detección de movimiento y mostrar el estado en el monitor en serie:

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2

void setup() {
  pinMode(pirPin, INPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    Serial.println("Motion detected!");
  } else {
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Paso 4: prueba la configuración

  1. Conecte el Arduino a su computadora a través de USB.
  2. Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
  3. Cargar el código haciendo clic en Subir.
  4. Abra el monitor en serie (Herramientas > Monitor en serie) y establecer la tasa de baudios en 9600.
  5. Muévase dentro del rango del sensor y observe el estado de movimiento impreso en el monitor en serie.

Opcional: controlar un LED con movimiento

Puede modificar el código para encender un LED cuando se detecte el movimiento:

Cableado el LED

Alfiler Alfiler de arduino
Anodo (+) Pin 13
Cátodo (-) Gnd

Código modificado

const int pirPin = 2; // Connect HC-SR501 OUT to pin 2
const int ledPin = 13; // Connect LED to pin 13

void setup() {
  pinMode(pirPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("HC-SR501 PIR Motion Sensor Test");
}

void loop() {
  int motionStatus = digitalRead(pirPin); // Read the sensor output

  if (motionStatus == HIGH) {
    digitalWrite(ledPin, HIGH); // Turn on LED
    Serial.println("Motion detected!");
  } else {
    digitalWrite(ledPin, LOW); // Turn off LED
    Serial.println("No motion detected.");
  }

  delay(500); // Update every 500ms
}

Aplicaciones del HC-SR501

  1. Iluminación activada por movimiento
  2. Alarmas de intruso
  3. Automatización inteligente del hogar
  4. Dispositivos IoT activados por la proximidad

Solución de problemas

  • No hay movimiento detectado: Asegúrese de que el sensor esté alimentado correctamente y la sensibilidad se ajuste adecuadamente.
  • Falsos desencadenantes: Reduzca el ruido ambiental (por ejemplo, fuentes de calor) y evite la exposición directa a la luz solar.
  • Lecturas inestables: Verifique si hay una fuente de conexión a tierra adecuada y de alimentación estable.

Conclusión

Has interactuado con éxito el sensor de movimiento HC-SR501 PIR con Arduino. Este sensor versátil es perfecto para la detección de movimiento en varios proyectos. ¡Experimente con características adicionales, como ajustar la sensibilidad o integrarla con otros componentes, para crear sistemas avanzados basados ​​en el movimiento!

Escribir un comentario

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.