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.
Pines del sensor de movimiento:
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);
}
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.
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.