Hur man gör en Arduino pir sensor alarm (5 / 6 steg)
Steg 5: kod
int ledPin = 13. Välj den PIN-kod för LED
int inputPin = 12; Välj ingångsstift (för PIR sensor) int pirState = låg; Vi börjar, förutsatt att ingen rörelse upptäckts int val = 0; variabel för att läsa pin status int pinSpeaker = 11; Ställa in en högtalare på en PWM stift (digital 9, 10 eller 11)
void setup() {pinMode (ledPin, produktionen); / / förklara LED som output pinMode (inputPin, ingång); / / förklara sensor som ingående pinMode (pinSpeaker, produktionen); Serial.BEGIN(9600); }
void loop() {val = digitalRead(inputPin); / / läsa ingående om (val == hög) {/ / kolla om ingången är hög digitalWrite (ledPin, hög); / / slå LED på playTone (900, 900); delay(100);
om (pirState == låg) {/ / vi har bara vände på Serial.println ("Motion upptäckt!"); / / vi vill skriva ut på utgång ändra, inte staten pirState = hög;}} annat {digitalWrite (ledPin, låg); / / slå LED av playTone (0, 0); delay(300); om (pirState == hög) {/ / vi har just fyllt av Serial.println ("Motion slutade!"); / / vi vill skriva ut på utgång ändra, inte staten pirState = låg;}}} Antal uppdateringsförsök, frekvensen i hertz void playTone (lång varaktighet, int freq) {varaktighet * = 1000; int period = (1,0 / freq) * 1000000, lång elapsed_time = 0; medan (elapsed_time < varaktighet) {digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite (pinSpeaker, låg); delayMicroseconds(period / 2); elapsed_time += (period);}}
Detta är koden, ladda upp den till Arduino och se magin!