-
- #include <util/delay.h>
- #include <avr/io.h>
- #include <avr/interrupt.h>
- #include "light_ws2812.h"
-
-
- //const uint8_t NUM_LEDS = 24; // Anzahl Leds
- #define NUM_LEDS 60
- struct cRGB leds[NUM_LEDS];
-
-
-
- void ledOff(int number) {
- leds[number].r = 0;
- leds[number].g = 0;
- leds[number].b = 0;
- ws2812_setleds(leds, NUM_LEDS);
- }
-
- void ledOn(int number) {
- leds[number].r = 255;
- leds[number].g = 150;
- leds[number].b = 30;
- ws2812_setleds(leds, NUM_LEDS);
- }
-
- const int delaytime = 400;
-
- void real_delay(int delaytime) {
- _delay_ms(delaytime);
- }
-
-
- int main(void)
- {
- while(1)
- {
-
- ledOn(0);
- real_delay(delaytime);
- ledOn(1);
- real_delay(delaytime);
- ledOn(2);
- real_delay(delaytime);
- for(uint8_t step = 3; step < NUM_LEDS; step++) {
- // last led off
- ledOff(step-3);
-
- // next led on
- ledOn(step);
- }
- }
- }
-