Arduino - Sensor PIR

Los sensores PIR le permiten detectar el movimiento. Se utilizan para detectar si un humano se ha movido dentro o fuera del rango del sensor. Se encuentran comúnmente en electrodomésticos y aparatos que se utilizan en el hogar o en las empresas. A menudo se les conoce como sensores PIR, "Infrarrojos pasivos", "Piroeléctricos" o "Movimiento IR".

Las siguientes son las ventajas de los sensores PIR:

  • De tamaño pequeño
  • Amplia gama de lentes
  • Interfaz sencilla
  • Inexpensive
  • Low-power
  • Fácil de usar
  • No te desgastes

Los PIR están hechos de sensores piroeléctricos, una lata de metal redonda con un cristal rectangular en el centro, que puede detectar niveles de radiación infrarroja. Todo emite radiación de bajo nivel, y cuanto más caliente está algo, más radiación se emite. El sensor de un detector de movimiento se divide en dos mitades. Esto es para detectar movimiento (cambio) y no promediar los niveles de IR. Las dos mitades están conectadas de modo que se anulan entre sí. Si la mitad ve más o menos radiación IR que la otra, la salida oscilará hacia arriba o hacia abajo.

Los PIR tienen configuraciones ajustables y tienen un cabezal instalado en las almohadillas de tierra / salida / alimentación de 3 pines.

Para muchos proyectos o productos básicos que necesitan detectar cuándo una persona ha salido o ingresado al área, los sensores PIR son excelentes. Tenga en cuenta que los PIR no le dicen la cantidad de personas alrededor o su cercanía al sensor. La lente a menudo se fija a un cierto barrido a distancia y, a veces, las mascotas de la casa las disparan.

Componentes requeridos

Necesitará los siguientes componentes:

  • 1 × tablero
  • 1 × Arduino Uno R3
  • 1 × sensor PIR (MQ3)

Procedimiento

Siga el diagrama del circuito y realice las conexiones como se muestra en la imagen siguiente.

Bosquejo

Abra el software Arduino IDE en su computadora. La codificación en el lenguaje Arduino controlará su circuito. Abra un nuevo archivo de dibujo haciendo clic en Nuevo.

Código Arduino

#define pirPin 2
int calibrationTime = 30;
long unsigned int lowIn;
long unsigned int pause = 5000;
boolean lockLow = true;
boolean takeLowTime;
int PIRValue = 0;

void setup() {
   Serial.begin(9600);
   pinMode(pirPin, INPUT);
}

void loop() {
   PIRSensor();
}

void PIRSensor() {
   if(digitalRead(pirPin) == HIGH) {
      if(lockLow) {
         PIRValue = 1;
         lockLow = false;
         Serial.println("Motion detected.");
         delay(50);
      }
      takeLowTime = true;
   }
   if(digitalRead(pirPin) == LOW) {
      if(takeLowTime){
         lowIn = millis();takeLowTime = false;
      }
      if(!lockLow && millis() - lowIn > pause) {
         PIRValue = 0;
         lockLow = true;
         Serial.println("Motion ended.");
         delay(50);
      }
   }
}

Código a tener en cuenta

El sensor PIR tiene tres terminales: V cc , OUT y GND. Conecte el sensor de la siguiente manera:

  • Conecte el + V cc a + 5v en la placa Arduino.
  • Conecte OUT al pin digital 2 en la placa Arduino.
  • Conecte GND con GND en Arduino.

Puede ajustar la sensibilidad del sensor y el tiempo de retardo a través de dos resistencias variables ubicadas en la parte inferior de la placa del sensor.

Una vez que el sensor detecta cualquier movimiento, Arduino enviará un mensaje a través del puerto serie para decir que se detecta un movimiento. El movimiento del sensor PIR se retrasará durante cierto tiempo para comprobar si hay un nuevo movimiento. Si no se detecta movimiento, Arduino enviará un nuevo mensaje diciendo que el movimiento ha finalizado.

Resultado

Verá un mensaje en su puerto serie si se detecta un movimiento y otro mensaje cuando el movimiento se detiene.