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.
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:
- 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).
- 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:
- 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.
Pública tu duda o comentario
Resuelve tus dudas con la comunidad.
(0) Comentarios
No registra comentarios, se el primero en comentar.
Publicar