Stap 5: De code
Deze code doet gewoon een recht afgesneden tussen de snaren, maar ik zou willen toevoegen een fade of een kruis-los in latere versies...
Upload de volgende code naar uw microcontroller:
Const int geigerPin = 12; aangesloten op pulse uit geigerteller, gronden aangesloten ook int lichten = 1; teller voor strijkers int lights1 = 9; pins die de LEDs zijn aangesloten te definiëren int bright1 = 200; instellen van helderheid, 0-255 VOID Setup {} int geleid = laag;
int lights2 = 10;
int lights3 = 11;
int bright2 = 200;
int bright3 = 200;
Serial.begin(9600); Seriële gebruiken voor foutopsporing
pinMode (geigerPin, INPUT); pinnen ingesteld op inputs en outputs
pinMode (lights1, OUTPUT);
pinMode (lights2, OUTPUT);
pinMode (lights3, OUTPUT);
analogWrite (lights1, bright1); overschakelen op string 1
analogWrite (lights2, 0);
analogWrite (lights3, 0);
Serial.println("Setup");
}
void loop {}
int val = digitalRead(geigerPin);
terwijl (val == LOW) {}
doen wat er gebeurt als er geen signaal is
Val = digitalRead(geigerPin);
}
zo kreeg de start van een puls, iets doen passende
Ik zou een LED te schakelen zodat u kunt zien dingen werken
digitalWrite (13, geleid);
geleid =! geleid;
Serial.println("low");
terwijl (val == HIGH) {}
wachten op de pols om te beëindigen, 100us is een lange tijd voor een Arduino
Val = digitalRead(geigerPin);
}
Pulse klaar
lichten ++; _ / / verhogen de teller te gaan naar de volgende tekenreeks
Als (lichten == 1) {}
analogWrite (lights1, bright1); inschakelen van reeks 1
analogWrite (lights2, 0);
analogWrite (lights3, 0);
Serial.println("lights1");
}
Als (lichten == 2) {}
analogWrite (lights1, 0);
analogWrite (lights2, bright2); string 2 inschakelen
analogWrite (lights3, 0);
Serial.println("lights2");
}
Als (lichten == 3) {}
analogWrite (lights1, 0);
analogWrite (lights2, 0);
analogWrite (lights3, bright3); koord 3 inschakelen
Serial.println("lights3");
verlichting = 0; de teller instellen
}
Serial.println(Lights);
}
Stekker in, zet, vinden een fabriek voor het decoreren van :)