Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * Das Projekt soll wie folgt funktionieren:
- * Die Methode "lauflicht" hat eine innere und eine äußere for-Schleife
- * Die innere for-Schleife schlatet, bei 70 beginnend immer 5 LED hintereinander an und lässt diese dann bis 0 durchlaufen
- * Das ganze läuft dann über die äußere Schleife
- * bei blitzen und leuchten werden alle LED über eine for-Schleife nacheinander eingeschaltet. Dies sollte so schnell gehen das es so aussieht als würden alle gleichzeitig angeschaltet werden
- */
- #include <Adafruit_NeoPixel.h> //https://github.com/adafruit/Adafruit_NeoPixel
- #define PIN 9 //der pin auf dem die Neopixel angeschlossen werden
- #define NUMPIXELS 70
- Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
- int pause2 = 500;
- void setup(){
- pixels.begin(); // Initialisierung der NeoPixel
- }
- void loop(){
- lauflicht(20, 1000, 60); //lauflicht(dauer wie lange eine LED an ist, Pause nachdem ein druchlauf fertig ist, Helligkeit in %)
- delay(pause2);
- blitz(30);
- delay(pause2);
- leuchten();
- delay(2000);
- }
- void lauflicht(int dauer, int pause, int helligkeit){
- for (int x = 0; x <= 5; x++) { //mit dem Teil "x <= 5" werden die durchläufe des Lauflicht festgelet. Auch diesen wert kannst du ja etwas Variieren um es so hinzubekommen wie du möchtest.
- for (int i = 74; i >= 0; i--) { //in der Erklärung ist dies die innere Lauflicht for-Schleife
- pixels.setPixelColor(i, pixels.Color(255/100*helligkeit,178/100*helligkeit,0)); //Dieser Zahlenwert soll Gelb ergeben. Laut internet nimmt man dazu 100% rotanteil und ca 70% Grün Anteil, aber du kannst mit dem Zahlenwert ja etwas experimentieren um eine Schöneres Gelb hinzubekommen
- pixels.setPixelColor(i-1, pixels.Color(255/100*helligkeit,178/100*helligkeit,0));
- pixels.setPixelColor(i-2, pixels.Color(255/100*helligkeit,178/100*helligkeit,0));
- pixels.setPixelColor(i-3, pixels.Color(255/100*helligkeit,178/100*helligkeit,0));
- pixels.setPixelColor(i-4, pixels.Color(255/100*helligkeit,178/100*helligkeit,0));
- pixels.show();
- delay(dauer);
- pixels.setPixelColor(i, pixels.Color(0,0,0));
- pixels.setPixelColor(i-1, pixels.Color(0,0,0));
- pixels.setPixelColor(i-2, pixels.Color(0,0,0));
- pixels.setPixelColor(i-3, pixels.Color(0,0,0));
- pixels.setPixelColor(i-4, pixels.Color(0,0,0));
- pixels.show();
- }
- delay(pause-(35*x*x);
- }
- }
- void blitz(int zeitzwischen){
- pixels.fill(pixels.Color(255,255,255), 0, 70);
- pixels.show();
- delay(zeitzwischen);
- pixels.fill(pixels.Color(0,0,0), 0, 70);
- pixels.show();
- delay(zeitzwischen);
- pixels.fill(pixels.Color(255,255,255), 0, 70);
- pixels.show();
- delay(zeitzwischen);
- pixels.fill(pixels.Color(0,0,0), 0, 70);
- pixels.show();
- delay(zeitzwischen);
- pixels.fill(pixels.Color(255,255,255), 0, 70);
- pixels.show();
- delay(zeitzwischen);
- pixels.fill(pixels.Color(0,0,0), 0, 70);
- pixels.show();
- delay(zeitzwischen);
- }
- void leuchten(){
- pixels.fill(pixels.Color(255,255,255), 0, 70);
- pixels.show();
- delay(2000);
- pixels.fill(pixels.Color(0,0,0), 0, 70);
- pixels.show();
- delay(500);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement