Stap 8: Lezing PIR sensoren
Zijn waarschijnlijk dat zult u reriggering, dus zorg ervoor dat de jumper in positie te brengen de H !
Zet van de PIR met 5V en verbind aan de grond. Sluit de uitgang aan op een digital pin. In dit voorbeeld zullen we pin 2 gebruiken.
De code is zeer eenvoudig, en is in feite gewoon houdt spoor van of de inbreng op pin 2 is hoog of laag. Het volgt ook de staat van de pin, zodat deze wordt afgedrukt een signaal wanneer beweging heeft gestart en gestopt:
/ * PIR sensor tester * /
int ledPin = 13; Kies de pin voor de LED
int inputPin = 2; Kies de invoer pin (voor PIR sensor)
int pirState = laag; We beginnen, ervan uitgaande dat geen bewegingsdetectie
int val = 0; variabele voor het lezen van de Pinstatus
VOID Setup {}
pinMode (ledPin, OUTPUT); declareren van LED als de uitgang
pinMode (inputPin, INPUT); sensor declareren als input
Serial.begin(9600);
}
void loop {}
Val = digitalRead(inputPin); lezen van de invoerwaarde
Als (val == HIGH) {/ / controleren als de ingang hoog is
digitalWrite (ledPin, hoge); Zet LED ON
Als (pirState == LOW) {}
We hebt zojuist ingeschakeld
Serial.println ("bewegingsdetectie!");
Wij willen alleen afdrukken op de uitvoer veranderen, niet staat
pirState = hoog;
}
} else {}
digitalWrite (ledPin, laag); uitschakelen LED
Als (pirState == HIGH) {}
We hebben net draaide van
Serial.println ("Motion eindigde!");
Wij willen alleen afdrukken op de uitvoer veranderen, niet staat
pirState = laag;
}
}
}
Vergeet niet dat er sommige tijden wanneer u niet nodig hebt een microcontroller. Een PIR-sensor kan worden aangesloten op een relais (misschien met een transistor buffer) zonder een micro!