Arduino Motion Sensing larm (5 / 5 steg)
Steg 5: Ladda upp skissen till din Arduino ombord
int inputPin = 2;
int pirState = låg;
int val = 0;
int pinSpeaker = 10;
void setup() {
pinMode (ledPin, produktionen);
pinMode (inputPin, ingång);
pinMode (pinSpeaker, produktionen);
Serial.BEGIN(9600);
}
void loop() {
Val = digitalRead(inputPin);
om (val == hög) {
digitalWrite (ledPin, hög);
playTone (300, 160);
Delay(150);
om (pirState == låg) {
Serial.println ("Motion upptäckt!");
pirState = hög;
}
} annat {
digitalWrite (ledPin, låg);
playTone (0, 0);
Delay(300);
om (pirState == hög);
Serial.println ("Motion slutade!");
pirState = låg;
}
}
}
void playTone (lång varaktighet, int freq) {
längd * = 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).
}
}