¿Qué es un sensor de movimiento? ¿Cómo funciona? ¿Cómo hacer que funcione?

Introducción

Un sensor de movimiento infrarrojo pasivo (sensor PIR) es un sensor electrónico que mide la luz infrarroja emitida por los objetos dentro de su campo de visión.
Los sensores PIR se utilizan comúnmente en alarmas de seguridad y aplicaciones de iluminación automática. Los sensores PIR detectan el movimiento general, pero no proporcionan información sobre quién o qué se ha movido. Para ello se requiere un sensor de infrarrojos de imágenes.
¡Hemos realizado un proyecto utilizando el sensor PIR en una alarma de intrusión para tu hogar!

¿Cómo detecta el sensor el movimiento?

Todos los objetos con una temperatura superior al cero absoluto emiten energía térmica en forma de radiación electromagnética. Normalmente, esta radiación no es visible para el ojo humano porque irradia en longitudes de onda infrarrojas, pero puede ser detectada por el sensor de movimiento.

¿Cómo funciona el sensor?

El sensor de movimiento tiene dos ranuras, cada ranura está hecha de un material especial sensible a los infrarrojos. Cuando el sensor está inactivo, ambas rendijas detectan la misma cantidad de IR, la cantidad ambiental emitida desde la habitación. Cuando pasa un cuerpo cálido, como un humano o un animal, primero intercepta una mitad del sensor de movimiento, lo que provoca un cambio diferencial positivo entre las dos mitades. Cuando el cuerpo caliente sale de la zona de detección, ocurre lo contrario, generando el sensor un cambio diferencial negativo. Estos impulsos de cambio son los que se detectan.

Pin del sensor de movimiento

Pines del sensor de movimiento:

  • Vcc: En el pin 5V de la placa Arduino
  • Signal: Pin en uno de los pines de señal de la placa Arduino
  • GND: Debe conectarse a tierra

Detección con monitor en serie

Ahora veremos cómo mostrar la detección de un movimiento en el monitor serie.
int valeur_capteur=0; 
void setup (){
 Serial.begin(9600); 
}
void loop (){
  valeur_capteur=analogRead(A0); 
  if (valeur_capteur >100){ 
    Serial.println("Movimiento detectado");
  }
 if (valeur_capteur <100){
    Serial.println("Sin movimiento");
  }
  delay(200); 
}

Alerta luminosa con movimiento

Veremos cómo encender un LED en el sensor que detecta movimiento.

int valeur_capteur=0;
int valeur_led=0; 
int led_broche=11;
void setup (){
  pinMode(led_broche,OUTPUT); 
}
void loop (){
  valeur_capteur=analogRead(A0); 
  valeur_led=map(valeur_capteur,0,1023,0,255); 
  analogWrite(led_broche, valeur_led); 
}

Puedes sustituir el LED por una bombilla con relé para encender una habitación cuando alguien entra.

Alerta de ruido con movimiento

Ahora veremos cómo activar un zumbador cuando el sensor detecte movimiento.

int buzzer_broche=3;
int capteur_mouvement=A0; 
void setup (){
  pinMode(buzzer_broche,OUTPUT); 
}
void loop (){
  if (analogRead(capteur_mouvement)> 100){ 
    digitalWrite(buzzer_broche,HIGH); 
  }
  if (analogRead(capteur_mouvement)< 100){ 
    digitalWrite(buzzer_broche,LOW); 
  }
}

Este proyecto puede ayudarte a hacer una alarma para proteger una habitación, por ejemplo.