PIR Motion Sensor handledning (8 / 8 steg)
Steg 8: Läsa PIR-sensorer
Det troligt att du reriggering, så vara säker på att sätta bygeln i H läge!
Power PIR med 5V och Anslut mark till mark. Anslut sedan utdata till en digital pin. I det här exemplet ska vi använda stift 2.
Koden är mycket enkel och är i princip bara håller spår om indata till stift 2 är hög eller låg. Den spårar också tillståndet för stift, så att den skriver ut ett meddelande när rörelse har börjat och slutat:
/ * PIR sensor testare * /
int ledPin = 13. Välj den PIN-kod för LED
int inputPin = 2; Välj ingångsstift (för PIR-sensor)
int pirState = låg; Vi börjar, förutsatt att ingen rörelse upptäcks
int val = 0; variabel för att läsa pin status
void setup() {
pinMode (ledPin, produktionen); deklarera LED som utdata
pinMode (inputPin, ingång); deklarera sensor som indata
Serial.BEGIN(9600);
}
void loop() {
Val = digitalRead(inputPin); Läs indatavärde
om (val == hög) {/ / kolla om ingången är hög
digitalWrite (ledPin, hög); slå LED
om (pirState == låg) {
Vi har bara aktiverat
Serial.println ("Motion upptäckt!");
Vi vill skriva ut på utgång ändra, inte
pirState = hög;
}
} annat {
digitalWrite (ledPin, låg); Inaktivera LED
om (pirState == hög) {
Vi har just fyllt av
Serial.println ("Motion slutade!");
Vi vill skriva ut på utgång ändra, inte
pirState = låg;
}
}
}
Glöm inte att det finns vissa tillfällen när du inte behöver en mikrokontroller. En PIR-sensor kan anslutas till ett relä (kanske med en transistor buffert) utan en mikro!