Stap 5: De broncode
Deze code wordt de "helderheid up" en "helderheid omlaag" op de LED's, zoeken naar beweging aan de boven- en onderkant van de cyclus. Als beweging wordt gedetecteerd, roept de functie van de "freakout" waardoor het knipperen en gelach. Dat is alles!
/*
Dit is de broncode voor de beweging gevoelige
Haunted pompoen gebouwd voor Radio Shack.
Oorspronkelijke code door Daniel Gentleman, thoughtfix.com
*/Pin-toewijzingen instellen
int leftEye = 3; PWM pin 3
int rightEye = 5; PWM pin 5
int redBlink1 = 9;
int redBlink2 = 10;
int whiteBlink = 13;
int laughBox = 12; transistor aan stem module
int pirSensor = 7; passieve infrarood sensoren
int pirState = 0; IR begintoestandPin modi instellen
VOID Setup {}
pinMode (leftEye, OUTPUT);
pinMode (rightEye, OUTPUT);
pinMode (redBlink1, OUTPUT);
pinMode (redBlink2, OUTPUT);
pinMode (whiteBlink, OUTPUT);
pinMode (laughBox, OUTPUT);
pinMode (pirSensor, INPUT);
}
void loop () {}
fade-in van min tot max in stappen van 5 punten:
voor (int fadeValue = 0; fadeValue < = 255; fadeValue += 5) {}
Hiermee stelt u de waarde (bereik van 0 tot 255):
analogWrite (leftEye, fadeValue);
analogWrite (rightEye, fadeValue);
30 milliseconden wacht
delay(30);
}
pirState = digitalRead(pirSensor); Lees de stand van de pirsensor-waarde:
Als (pirState == HIGH) {/ / als beweging wordt gedetecteerd
Freakout(); Bel de freakout routine
}
fade-out van max naar de min in stappen van 5 punten:
voor (int fadeValue = 255; fadeValue > = 0; fadeValue-=5) {}
Hiermee stelt u de waarde (bereik van 0 tot 255):
analogWrite (leftEye, fadeValue);
analogWrite (rightEye, fadeValue);
wacht 30 milliseconden het dimmen effect zien
delay(30);
}
pirState = digitalRead(pirSensor); Hetzelfde als hierboven
Als (pirState == HIGH) {}
Freakout();
}
}
ongeldig freakout() {}
digitalWrite (laughBox, hoge); Verzenden van eerste ON voor alle pinnen
digitalWrite (leftEye, hoge);
digitalWrite (rightEye, hoge);
digitalWrite (redBlink1, hoge);
digitalWrite (redBlink2, hoge);
digitalWrite (whiteBlink, hoge);
delay(250);
digitalWrite (laughBox, laag); lach knop uitschakelen
voor (int i = 1; ik < = 40; i ++) {/ / beginnen te knipperen mayhem
digitalWrite (leftEye, hoge);
digitalWrite (rightEye, hoge);
digitalWrite (redBlink1, laag);
digitalWrite (redBlink2, laag);
digitalWrite (whiteBlink, laag);
delay(50);
digitalWrite (leftEye, laag);
digitalWrite (rightEye, laag);
digitalWrite (redBlink1, hoge);
digitalWrite (redBlink2, hoge);
digitalWrite (whiteBlink, hoge);
delay(50);
} / / Afwerking knipperen mayhem, alles uitschakelen
digitalWrite (redBlink1, laag);
digitalWrite (redBlink2, laag);
digitalWrite (whiteBlink, laag);
}