Sensor de Movimiento
Que es un sensor PIR ?
Un sensor PIR es un sensor capaz de detectar movimiento dentro de su rango de acción. La denominación PIR viene de “Passive Infrared”, de “Pyrolectric” o de “IR motion”. El componente principal es un sensor piroeléctrico que detecta niveles de radiación infraroja. Cualquier cosa emite pequeños niveles de radiación y cuanto más caliente es algo, más radiación emite. El sensor de movimiento está separado en dos mitades, esto es porque necesitamos detectar movimiento, es decir cambios en los valores de IR y no simplemente su valor. Las dos mitades están conectadas de manera que una anula a la otra, si una mitad ve más o menos radiación que la otra, la salida del sensor cambiará activándose o desactivándose. Resumiendo mucho mucho, cuando el sensor está inactivo, es porque las dos mitades están detectando el mismo valor de IR, la del ambiente o la habitación. Cuando un cuerpo caliente como una persona o un animal entran en la habitación, una mitad del sensor lo registra y se produce una diferencia positiva con la otra mitad, cuando la persona abandona la habitación ocurre lo mismo, en este caso la diferencia entre las dos mitades del sensor es negativa. Además del sensor pyrolectrico el circuito se completa con un montón de otros componentes (resistencias, condensadores, etc …). Al parecer la mayoría de sensores “de juguete” usan el chip BISS0001 (http://www.ladyada.net/media/sensors/BISS0001.pdf). Este chip se encarga de tomar la señal analógica del sensor y procesarla para convertirla en la señal digital de salida del sensor. Para proyectos en los que necesitas saber cuando una persona a entrado o se ha ido de una habitación o de una zona, los sensores PIR son geniales, son muy baratos, necesitan muy poca potencia, son bastante resistentes, tienen bastante rango de detección y son muy fáciles de conectar.
Estas son las especificaciones de nuestro sensor Voltaje de entrada: 4,5V – 20V DC Señal de salida: 0,3V (cuando se detecta movimiento) Distancia y ángulo de detección: máximo 7 metros y 110º
https://www.amazon.com/HC-SR501-Infrared-Pyroelectric-Detector-Microcontrollers/dp/B07RYRFZVM
Codigo.
/* * PIR sensor tester */ int ledPin = 13; // pin para el LED int inputPin = 2; // pin de entrada (for PIR sensor) int pirState = LOW; // de inicio no hay movimiento int val = 0; // estado del pin void setup() { pinMode(ledPin, OUTPUT); // declare LED as output pinMode(inputPin, INPUT); // declare sensor as input Serial.begin(9600); } void loop(){ val = digitalRead(inputPin); // read input value if (val == HIGH) { // check if the input is HIGH digitalWrite(ledPin, HIGH); // turn LED ON if (pirState == LOW) { // we have just turned on Serial.println("Motion detected!"); // We only want to print on the output change, not state pirState = HIGH; } } else { digitalWrite(ledPin, LOW); // turn LED OFF if (pirState == HIGH){ // we have just turned of Serial.println("Motion ended!"); // We only want to print on the output change, not state pirState = LOW; } } }