#include #include #define NUM_LEDS 16 #define DATA_PIN 6 CRGB leds[NUM_LEDS]; int coler[16]; int s = 255; int v = 120; int starCol = 230; byte SlaveReceived = 0; void setup() { FastLED.addLeds(leds, NUM_LEDS); startLED(50); setAll(starCol); Serial.begin(9600); Wire.begin(8); Wire.onReceive(receiveEvent); } int readA0 = 0; int readA1 = 0; int readA2 = 0; int readA3 = 0; void loop() { show0(); for( int i = 0; i < NUM_LEDS; i++) { leds[i] = CHSV((coler[i]), (s), (v)); FastLED.show(); } } void receiveEvent (int howMany){ Serial.print("a0: "); int x0 = Wire.read(); Serial.println(x0); readA0 = x0; Serial.print("a1: "); int x1 = Wire.read(); Serial.println(x1); readA1 = x1; Serial.print("a2: "); int x2 = Wire.read(); Serial.println(x2); readA2 = x2; int x3 = Wire.read(); Serial.print("a3: "); Serial.println(x3); readA3 = x3; } void startLED(int t){ //start for( int i = 0; i < NUM_LEDS; i++) { int col = 220 + i*15; leds[i] = CHSV((col), (s), (v)); FastLED.show(); delay(t); } for( int i = 0; i < NUM_LEDS; i++) { int col = 220 + i*15; leds[i] = CRGB::Black; FastLED.show(); delay(t); } } void setAll(int t){ for( int i = 0; i < NUM_LEDS; i++) { coler[i] =t; leds[i] = CHSV((coler[i]), (s), (v)); FastLED.show(); } } void show0(){ coler[0] = starCol + readA3-20 + readA2-20; coler[1] = starCol + readA2-10; coler[2] = starCol + readA2; coler[3] = starCol + readA2-10; coler[4] = starCol + readA1-20 + readA2-20; coler[5] = starCol + readA1-10 ; coler[6] = starCol + readA1; coler[7] = starCol + readA1-10 ; coler[8] = starCol + readA1-20 + readA0-20; coler[9] = starCol + readA0-10; coler[10] = starCol + readA0; coler[11] = starCol + readA0-10; coler[12] = starCol + readA3-20 + readA0-20; coler[13] = starCol + readA3-10 ; coler[14] = starCol + readA3; coler[15] = starCol + readA3-10; } int getNR(int nr){ int erg = nr; if(nr > 15){ erg = nr -15; } return erg; }