Detector de movimiento con Arduino y sensor PIR

Un sensor PIR, es un dispositivo que detecta movimiento en su campo de visión. Funciona midiendo los niveles de radiación infrarroja (calor) que emiten los objetos en su entorno. 

Todos los objetos emiten radiación infrarroja, pero la cantidad aumenta con la temperatura. Un sensor PIR detecta cambios en los niveles de radiación infrarroja cuando un objeto caliente, como una persona o un animal, entra o sale de su campo de visión.

SENSOR DE MOVIMIENTO PIR HC-SR501

Cómo Funciona un Sensor PIR:

El sensor PIR tiene dos elementos sensibles a la radiación infrarroja, y están dispuestos de manera que uno capta la radiación de una parte del área monitoreada y el otro, de la otra parte. Cuando el sensor está inactivo (sin movimiento), ambos elementos detectan la misma cantidad de radiación infrarroja, lo que resulta en ninguna salida significativa. Sin embargo, cuando un objeto en movimiento (como una persona) pasa frente al sensor, uno de los elementos detecta un cambio en la radiación antes que el otro, lo que genera una diferencia que el sensor convierte en una señal de salida.

Ejercicio práctico SENSOR PIR:

Materiales Necesarios:

  • Arduino (UNO, Nano, etc.)
  • Sensor PIR (HC-SR501 es uno de los más comunes)
  • LED (opcional, para indicar detección)
  • Resistencia de 220Ω (para el LED)
  • Cables de conexión
  • Protoboard

Conexión del Sensor PIR al Arduino:

  1. Sensor PIR:
    • VCC: Conecta a 5V en el Arduino.
    • GND: Conecta a GND en el Arduino.
    • OUT: Conecta a un pin digital en el Arduino (por ejemplo, el pin 10).
  2. LED:
    • El ánodo (pierna larga) del LED se conecta al pin digital 13 del Arduino.
    • El cátodo (pierna corta) del LED se conecta a GND a través de una resistencia de 220Ω.

Diagrama de conexión:

Código de ejemplo:

int sensorpir = 12;
int led = 13;

void setup()
{
  //Asignamos las entradas y salidas
  pinMode(sensorpir,INPUT);
  pinMode(led,OUTPUT);
  Serial.begin(9600);
  digitalWrite(led,LOW);
}

void loop()
{

  digitalWrite(led,LOW);
  Serial.println(sensorpir);//El valor del sensor 
  if(digitalRead(sensorpir) == HIGH){
    Serial.println("Detectado movimiento por el sensor pir");
    digitalWrite(led,HIGH);
    delay(1000);
    digitalWrite(led,LOW);
  }
}

Explicación:

  • sensorPir: Define el pin donde está conectado el sensor PIR.
  • led: Define el pin donde está conectado el LED.
  • En el setup(), se configuran los pines del PIR y el LED, y se inicia la comunicación serial.
  • En el loop(), el programa verifica si el sensor detecta movimiento. Si se detecta movimiento, se enciende el LED y se imprime un mensaje en el monitor serial. Si no hay movimiento, el LED se apaga.

Ajustes del Sensor PIR:

El sensor PIR HC-SR501 tiene dos potenciómetros que permiten ajustar:

Sensor de movimiento PIR - Guia de trabajo para micro:bit
  • Sensibilidad o Distancia: Ajusta la distancia de detección.
  • Tiempo de retención: Ajusta el tiempo durante el cual el pin de salida permanece alto después de la detección.

(0) Comentarios

No registra comentarios, se el primero en comentar.
Publicar

Pública tu duda o comentario

Resuelve tus dudas con la comunidad.

*Obligatorio*