Stap 5: Code
int ledPin = 13; Kies de pin voor de LED
int inputPin = 12; 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 pin status int pinSpeaker = 11; Instellen van een spreker op een PWM-pin (digital 9, 10 of 11)
void setup {pinMode (ledPin, OUTPUT); / / LED als de uitgang pinMode verklaren (inputPin, INPUT); / / verklaren sensor als input pinMode (pinSpeaker, OUTPUT); Serial.begin(9600); }
void loop {val = digitalRead(inputPin); / / Lees invoerwaarde als (val == HIGH) {/ / controleren als de input is hoge digitalWrite (ledPin, hoge); / / schakelen LED ON playTone (900, 900); delay(100);
Als (pirState == LOW) {/ / we hebben net draaide op Serial.println ("bewegingsdetectie!"); / / wij alleen wilt afdrukken in de output wijzigen, niet staat pirState = hoog;}} anders {digitalWrite (ledPin, laag); / / schakelen LED uit playTone (0, 0); delay(300); als (pirState == HIGH) {/ / we hebben net draaide van Serial.println ("Motion eindigde!"); / / wij alleen wilt afdrukken in de output wijzigen, niet staat pirState = laag;}}} duur in msec., frequentie in hertz void playTone (lange duur, int freq) {duur * = 1000; int periode = (1.0 / freq) * 1000000; lange elapsed_time = 0; terwijl (elapsed_time < duur) {digitalWrite(pinSpeaker,HIGH); delayMicroseconds(period / 2); digitalWrite (pinSpeaker, laag); delayMicroseconds(period / 2); elapsed_time += (periode);}}
Dit is de code, uploaden naar de Arduino en Bekijk de magie gebeuren!