Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // _____ _____ _____ _____
- // __| __ |__ __| _ |__ __|___ |__ __|_ |__
- // | |/ / |\ \ // || ___| || | |
- // | \ ||\ \// || ___| || |_ |
- // |__|\__\ __||_\__/ __||______| __||______| __|
- // |_____| |_____| |_____| |_____|
- //
- #include <Adafruit_NeoPixel.h>
- #ifdef __AVR__
- #include <avr/power.h>
- #endif
- #define PIN 1
- int Hold = 5000;
- Adafruit_NeoPixel strip = Adafruit_NeoPixel(28 , PIN, NEO_GRB + NEO_KHZ800);
- void setup() {
- // This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
- #if defined (__AVR_ATtiny85__)
- if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
- #endif
- // End of trinket special code
- strip.begin();
- strip.setBrightness(200);
- strip.show(); // Initialize all pixels to 'off'
- }
- void loop() {
- colorWipe(strip.Color(255, 0, 0), 200); //Red
- delay (Hold);
- colorWipe(strip.Color(0, 0, 255), 200); // Blue
- delay (Hold);
- colorWipe(strip.Color(0, 255, 0), 200); // Green
- delay (Hold);
- //knightRider(int r, int g, int b, int rounds, int width, int fade, int wait)
- knightRider(255, 0, 0, 5, 3, 5, 80);
- knightRider(0, 0, 255, 5, 3, 5, 80);
- knightRider(0, 255, 0, 5 , 3, 5, 80);
- // knightRider(0, 0, 255, 1, 3, 5, 10);
- // knightRider(255, 255, 255, 2, 2, 2, 50);
- // knightRider(255, 255, 255, 1, 6, 0, 25);
- // knightRider(255, 255, 255, 1, 1, 6, 25);
- // knightRider(10, 156, 40, 1, 7, 5, 20);
- // knightRider(10, 156, 40, 1, 1, 1, 20);
- // knightRider(199, 21, 13, 1, 3, 10, 20);
- // knightRider(39, 121, 28, 2, 15, 10, 20);
- // knightRider(255, 255, 255, 10, 2, 2, 5);
- // knightRider(255, 255, 255, 10, 2, 2, 1);
- // knightRider(255, 255, 255, 1, 2, 2, 100);
- // delay(Hold);
- }
- void colorWipe(uint32_t c, uint8_t wait) {
- for(uint16_t i=0; i<strip.numPixels(); i++) {
- strip.setPixelColor(i, c);
- strip.show();
- delay(wait);
- }
- }
- void knightRider(int r, int g, int b, int rounds, int width, int fade, int wait){
- int faktor = 20/(fade*2);
- int r2, g2, b2;
- for (int c = 0; c < rounds; c++) { // legt fest wie viele Runden abgespielt werden sollen
- for(int i=0; i<strip.numPixels()+width+fade; i++) { // gesamten Strip durchlaufen VORWÄRTS
- for(int j=0; j < width; j++){ // hier werden die Pixel (ohne den fade) generiert
- strip.setPixelColor(i-j, r, g, b);
- for(int f = fade; f > 0; f--) { // hier wird das fade generiert und an das Band angehängt
- r2 = (r / 20) * (f * faktor);
- g2 = (g / 20) * (f * faktor);
- b2 = (b / 20) * (f * faktor);
- strip.setPixelColor((i-width-fade+f), r2, g2, b2);
- }
- strip.setPixelColor(i-width-fade, 0, 0, 0); // löscht die Pixel nach dem Fade
- }
- strip.show();
- delay(wait);
- }
- for(int i = strip.numPixels(); i>0-width-fade-2; i--) { // gesamten Strip durchlaufen RÜCKWÄRTS (rw)
- for(int j = width; j > 0; j--){ //rw: hier werden die Pixel (ohne den fade) generiert
- strip.setPixelColor(i+j, r, g, b);
- for(int f = fade; f > 0; f--) { //rw: hier wird das fade generiert und an das Band angehängt
- r2 = (r / 20) * (f * faktor);
- g2 = (g / 20) * (f * faktor);
- b2 = (b / 20) * (f * faktor);
- strip.setPixelColor((i+width+fade-f+1), r2, g2, b2);
- }
- strip.setPixelColor(i+width+fade+1, 0, 0, 0); //rw löscht die Pixel nach dem Fade
- }
- strip.show();
- delay(wait);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment