Stjärna burk geigermätare utlöste LED dekoration (2012 remix) (2 / 3 steg)
Steg 2: Koden
Kopiera denna kod till en Arduino skiss och ladda upp till din mikrokontroller/*
Bildskärmar pulser från en geigermätare blekna mellan 3 strängar
av LED-lampor i sekvens.
*/
CONST int geigerPin = 8; ansluten till puls av geigermätare
int lampor = 1; räknaren för att hålla reda på var i vilken sekvens vi
PWM pis som LED strängarna är anslutna till:
int lights1 = 9;
int lights2 = 10;
int lights3 = 11;
maximal Ljusstyrkeinställningar för ljus - justera för att passa
int bright1 = 250;
int bright2 = 250;
int bright3 = 250;
steg för blekning in och ut - större siffror resultera i snabbare övergångar
int fadeIn = 5;
int fadeOut = 2;
void setup() {
Serial.BEGIN(9600); Använda följetong för felsökning
pinMode (geigerPin, ingång);
pinMode (lights1, produktionen);
pinMode (lights2, produktionen);
pinMode (lights3, produktionen);
analogWrite (lights1, bright1);
analogWrite (lights2, bright2);
analogWrite (lights3, bright3);
Serial.println ("setup färdiga");
}
int ledde = låg;
void loop() {
int val = digitalRead(geigerPin);
medan (val == låg) {
göra vad någonsin händer när ingen signal
Val = digitalRead(geigerPin);
}
Serial.println("Low");
medan (val == hög) {
vänta på puls till slut, 100us är en lång tid för en Arduino
Val = digitalRead(geigerPin);
}
puls färdiga
Lights ++; ökar värdet för räknaren
om (ljus == 1) {
Serial.println("Lights1");
tona ut strängen 3, bleknar i sträng 1
för (int fadeValue = bright1; fadeValue > = 0; fadeValue-= fadeOut) {
analogWrite (lights1, fadeValue);
Delay(30);
}
för (int fadeValue = 0; fadeValue < = bright3; fadeValue += fadeIn) {
analogWrite (lights3, fadeValue);
Delay(30);
}
}
om (ljus == 2) {
Serial.println("lights2");
tona ut strängen 1, bleknar i sträng 2
för (int fadeValue = bright2; fadeValue > = 0; fadeValue-= fadeOut) {
analogWrite (lights2, fadeValue);
Delay(30);
}
för (int fadeValue = 0; fadeValue < = bright1; fadeValue += fadeIn) {
analogWrite (lights1, fadeValue);
Delay(30);
}
}
om (ljus == 3) {
Serial.println("lights3");
tona ut sträng 2, bleknar i sträng 3
för (int fadeValue = bright3; fadeValue > = 0; fadeValue-= fadeOut) {
analogWrite (lights3, fadeValue);
Delay(30);
}
för (int fadeValue = 0; fadeValue < = bright2; fadeValue += fadeIn) {
analogWrite (lights2, fadeValue);
Delay(30);
}
ljus = 0;
}
Serial.println(Lights);
}