Det finnes ulike typer bevegelsessensorer. Den vi har brukt her er en digital sensor av typen PIR (passive infrared). Denne sensoren reagerer på infrarød stråling, eller varme om du vil. Den registrerer endringer i bakgrunnsstrålingen og gir høyt signal ut når det skjer en endring. Sensoren vi har testet har fast følsomhet og arbeidsvinkel. På noen sensorer kan dette justeres. Når sensoren trigger går det 15 sekunder før den slukker igjen.
Bevegelsessensoren har tre terminaler. +5V (rød), jord (svart) og signal (gul). Signallederen går høy når den blir trigget og forblir høy i 15 sekunder etter at den har sluttet å bli trigget. Her er det bare å koble opp sensoren med den +5V og jord, og koble signallederen til en digital inngang.
Denne sensoren egner seg godt til automatisk tenning av lys i for eksempel kjeller og gårdsplasser.
Her følger et eksempel på en program som gjør at en lysdiode lyser så lenge sensoren er trigget. Sensoren sender ut 5V på den gule ledningen når den registrerer bevegelse, og holder dette signalet i 15 sekunder etter at den slutter å registrere bevegelse, Denne koden er ganske omfattende i forhold til eksemplet under, men hvis du vil gjøre flere ting når bevegelse blir registrert, kan dette eksempelet brukes og bygges ut.
Koden for eksempelet kan finnes i biblioteket vårt, PLabExamples/examples/07.OtherSensors/PIR.
Oppkoblingen vises til høyre.
Koden kan også gjøres mer kompakt enn koden fra biblioteket.
void setup(){
pinMode(5, INPUT);
pinMode(8, OUTPUT);
}
void loop(){
digitalWrite(8, digitalRead(5));
}
GitHub: Examples/PIR/Compact/Compact.ino
Den kompakte koden som gjør akkurat det samme som programmet over. Dette er tilstrekkelig hvis du ikke trenger å bygge ut funksjonaliteten til programmet.