Arduino powered hemsökt pumpa (5 / 6 steg)
Steg 5: Källkoden
Denna kod loopar "ljusstyrka upp" och "ljusstyrka ner" på lysdioderna, kontrollera om motion på toppen och botten av cykeln. Om rörelse detekteras, anropar funktionen "freakout" orsakar blinkar och skratt. Det är allt!
/*
Det här är källkoden för känsliga
hemsökta pumpa byggd för Radio Shack.
Ursprungliga koden av Daniel Gentleman, thoughtfix.com
*/Ställ in Stifttilldelningar
int leftEye = 3; PWM stift 3
int rightEye = 5; PWM stift 5
int redBlink1 = 9;
int redBlink2 = 10;
int whiteBlink = 13.
int laughBox = 12; transistor till röst modul
int pirSensor = 7. passiv IR-sensorer
int pirState = 0; Starttillstånd IRStälla in pin lägen
void setup() {
pinMode (leftEye, produktionen);
pinMode (rightEye, produktionen);
pinMode (redBlink1, produktionen);
pinMode (redBlink2, produktionen);
pinMode (whiteBlink, produktionen);
pinMode (laughBox, produktionen);
pinMode (pirSensor, ingång);
}
Ogiltig loop () {
tona in från min till max i steg om 5 poäng:
för (int fadeValue = 0; fadeValue < = 255; fadeValue += 5) {
anger värdet (varierar från 0 till 255):
analogWrite (leftEye, fadeValue);
analogWrite (rightEye, fadeValue);
vänta 30 millisekunder
Delay(30);
}
pirState = digitalRead(pirSensor); Läs statligt av pirsensor värde:
om (pirState == hög) {/ / om rörelse detekteras
Freakout(); Freakout-rutinen
}
tona ut från max till min i steg om 5 poäng:
för (int fadeValue = 255; fadeValue > = 0; fadeValue-=5) {
anger värdet (varierar från 0 till 255):
analogWrite (leftEye, fadeValue);
analogWrite (rightEye, fadeValue);
vänta 30 millisekunder att se ljusreglering effekten
Delay(30);
}
pirState = digitalRead(pirSensor); Samma som ovan
om (pirState == hög) {
Freakout();
}
}
void freakout() {
digitalWrite (laughBox, hög); Skicka din ON-för alla stift
digitalWrite (leftEye, hög);
digitalWrite (rightEye, hög);
digitalWrite (redBlink1, hög);
digitalWrite (redBlink2, hög);
digitalWrite (whiteBlink, hög);
Delay(250);
digitalWrite (laughBox, låg); stänga av skratt-knappen
för (int jag = 1; jag < = 40; i ++) {/ / börja blinka mayhem
digitalWrite (leftEye, hög);
digitalWrite (rightEye, hög);
digitalWrite (redBlink1, låg);
digitalWrite (redBlink2, låg);
digitalWrite (whiteBlink, låg);
Delay(50);
digitalWrite (leftEye, låg);
digitalWrite (rightEye, låg);
digitalWrite (redBlink1, hög);
digitalWrite (redBlink2, hög);
digitalWrite (whiteBlink, hög);
Delay(50);
} / / Sluta blinka mayhem, stänga av allt
digitalWrite (redBlink1, låg);
digitalWrite (redBlink2, låg);
digitalWrite (whiteBlink, låg);
}