#include #ifdef __AVR__ #include // Required for 16 MHz Adafruit Trinket #endif // Which pin on the Arduino is connected to the NeoPixels? // On a Trinket or Gemma we suggest changing this to 1: #define LED_PIN 21 // How many NeoPixels are attached to the Arduino? #define LED_COUNT 125 #define DIMMCOUNT 3 #define TOUCHTIMER 300000 #define MCOUNTER 2000000 #define DTLOOPS 20 byte ww_brightn = 255; byte r_brightn = 0; byte g_brightn = 0; byte b_brightn = 0; byte ww_fade_LED = 17; byte r_fade_LED = 0; byte g_fade_LED = 0; byte b_fade_LED = 0; byte Master_Brightness = 150; boolean OldState[21] = {}; unsigned long touchCounter[21] = {}; unsigned long ModeCounter = 0; boolean allOn = 0; byte SMode = 0; byte TapCount[2] = {22,22}; byte touchSw[21] = {12,11,10,9,8,7,6,5,4,3,2,0,1,13,14,15,16,17,18,19,20}; byte SensorOn[21] = {}; byte Taps = 0; byte NumMax[22] = {}; byte DimmMax[2] = {}; byte LastDimm = 5; byte BrightMax[21] = {}; byte LastBright = 5; // Declare our NeoPixel strip object: Adafruit_NeoPixel strip(LED_COUNT+1, LED_PIN, NEO_GRBW + NEO_KHZ800); //Code void setup() { // These lines are specifically to support the Adafruit Trinket 5V 16 MHz. // Any other board, you can remove this part (but no harm leaving it): #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif pinMode(touchSw[0],INPUT); pinMode(touchSw[1],INPUT); pinMode(touchSw[2],INPUT); pinMode(touchSw[4],INPUT); pinMode(touchSw[5],INPUT); pinMode(touchSw[6],INPUT); pinMode(touchSw[7],INPUT); pinMode(touchSw[8],INPUT); pinMode(touchSw[9],INPUT); pinMode(touchSw[10],INPUT); pinMode(touchSw[11],INPUT); pinMode(touchSw[12],INPUT); pinMode(touchSw[13],INPUT); pinMode(touchSw[14],INPUT); pinMode(touchSw[15],INPUT); pinMode(touchSw[16],INPUT); pinMode(touchSw[17],INPUT); pinMode(touchSw[18],INPUT); pinMode(touchSw[19],INPUT); pinMode(touchSw[20],INPUT); strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) strip.show(); // Turn OFF all pixels ASAP strip.setBrightness(Master_Brightness); // Set BRIGHTNESS to about 1/5 (max = 255) Serial.begin(9600); //interrupts for LED on/off attachInterrupt(digitalPinToInterrupt(touchSw[0]), pin0_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[1]), pin1_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[2]), pin2_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[3]), pin3_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[4]), pin4_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[5]), pin5_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[6]), pin6_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[7]), pin7_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[8]), pin8_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[9]), pin9_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[10]), pin10_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[11]), pin11_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[12]), pin12_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[13]), pin13_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[14]), pin14_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[15]), pin15_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[16]), pin16_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[17]), pin17_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[18]), pin18_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[19]), pin19_HIGH, CHANGE); attachInterrupt(digitalPinToInterrupt(touchSw[20]), pin20_HIGH, CHANGE); //alle LEDs an for (size_t i = 0; i < 21; i++) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; strip.setBrightness(Master_Brightness); // Set BRIGHTNESS to about 1/5 (max = 255) //left LEDs if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp-1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4+1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i-1] == 0 || i == 0) { strip.setPixelColor(pixeltemp, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } //middle LEDs strip.setPixelColor(pixeltemp2, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp5, r_brightn, g_brightn, b_brightn, ww_brightn); //right LEDs if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp3+1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6-1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i+1] == 0 || i == 20) { strip.setPixelColor(pixeltemp3, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.show(); SensorOn[i] = 1; } allOn = 1; } void loop() { updateLEDs(); //delay(DTLOOPS); } //Interrupts void pin0_HIGH(){ SensorMode(0); } void pin1_HIGH(){ SensorMode(1); } void pin2_HIGH(){ SensorMode(2); } void pin3_HIGH(){ SensorMode(3); } void pin4_HIGH(){ SensorMode(4); } void pin5_HIGH(){ SensorMode(5); } void pin6_HIGH(){ SensorMode(6); } void pin7_HIGH(){ SensorMode(7); } void pin8_HIGH(){ SensorMode(8); } void pin9_HIGH(){ SensorMode(9); } void pin10_HIGH(){ SensorMode(10); } void pin11_HIGH(){ SensorMode(11); } void pin12_HIGH(){ SensorMode(12); } void pin13_HIGH(){ SensorMode(13); } void pin14_HIGH(){ SensorMode(14); } void pin15_HIGH(){ SensorMode(15); } void pin16_HIGH(){ SensorMode(16); } void pin17_HIGH(){ SensorMode(17); } void pin18_HIGH(){ SensorMode(18); } void pin19_HIGH(){ SensorMode(19); } void pin20_HIGH(){ SensorMode(20); } //Functions void SensorMode(int i){ Serial.print("High Interrupt with sensor: "); Serial.println(i); Serial.print(" SMode ="); Serial.println(SMode); //if old state was LOW (not touched) //Now touching if (OldState[i] == 0) { OldState[i] = 1; Serial.print("oldstate == 0 from "); Serial.println(i); touchCounter[i] = micros(); if (SMode == 0) { if(SensorOn[i] == 0){ LED_FUNC_On(i); } else if(SensorOn[i] == 1){ LED_Func_Off(i); } } if (SMode == 1) { if (i >= 4 && i <= 17) { wCd_Func(i); } } if (SMode == 2) { if (i >= 4 && i <= 17) { bD_Func(i); } } } //if old state was HIGH (touched) else if (OldState[i] == 1) { OldState[i] = 0; // Serial.print("oldstate == 1 from "); // Serial.println(i); // Serial.print("micro = "); // Serial.println(micros()); // Serial.print("touchcounter = "); // Serial.println(touchCounter[i]); // unsigned long temptime = micros(); if ( micros() > touchCounter[i]+TOUCHTIMER && Taps == 0) { //Serial.println("2000ms plus are counted"); //switch main modes if (Taps == 0) { TapCount[0] = i; Taps = 1; //mark startpoint has to get integrated into updateLEDs function if (SMode == 0) { strip.setPixelColor(i*3, 0, 30, 30, 0); strip.show(); } ModeCounter = micros(); //resetNumMax(); } } else if (Taps == 1) { if (micros() < ModeCounter+MCOUNTER) { ModeCounter = 0; //Enter AreaChange if (SMode == 0) { if (i < TapCount[0]-1 || i > TapCount[0]+1 ) { //Serial.println("enter AreaChange"); TapCount[1] =i; Taps = 0; AreaChange(); } } //Enter wColorDimm if (TapCount[0] == 0 && i == 1 || TapCount[0] == 1 && i == 0) { if (SMode != 1) { SMode = 1; } else if (SMode == 1) { SMode = 0; // resetNumMax(); Taps = 0; } } //Enter BrightDimm if (TapCount[0] == 19 && i == 20 || i == 19 && TapCount[0] == 20) { if (SMode != 2) { SMode = 2; } else if (SMode == 2) { SMode = 0; // resetNumMax(); Taps = 0; } } } else if (micros() > ModeCounter+MCOUNTER ) { Taps = 0; ModeCounter = 0; } } touchCounter[i] = 0; } } void LED_FUNC_On(int i){ if (SMode == 0) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; strip.setBrightness(Master_Brightness); // Set BRIGHTNESS to about 1/5 (max = 255) //left LEDs if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp-1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4+1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i-1] == 0 || i == 0) { strip.setPixelColor(pixeltemp, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } //middle LEDs strip.setPixelColor(pixeltemp2, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp5, r_brightn, g_brightn, b_brightn, ww_brightn); //right LEDs if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp3+1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6-1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i+1] == 0 || i == 20) { strip.setPixelColor(pixeltemp3, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.show(); SensorOn[i] = 1; } if (SMode == 1) { if (i != 4 && i != 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; strip.setBrightness(Master_Brightness); // Set BRIGHTNESS to about 1/5 (max = 255) //left LEDs if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp-1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4+1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i-1] == 0 || i == 0) { strip.setPixelColor(pixeltemp, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } //middle LEDs strip.setPixelColor(pixeltemp2, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp5, r_brightn, g_brightn, b_brightn, ww_brightn); //right LEDs if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp3+1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6-1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i+1] == 0 || i == 20) { strip.setPixelColor(pixeltemp3, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.show(); SensorOn[i] = 1; } if (i == 4 || i == 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; strip.setBrightness(Master_Brightness); // Set BRIGHTNESS to about 1/5 (max = 255) //left LEDs if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp-1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4+1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i-1] == 0 || i == 0) { strip.setPixelColor(pixeltemp, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } //middle LEDs strip.setPixelColor(pixeltemp2, 0, 30, 10, 0); strip.setPixelColor(pixeltemp5, 0, 30, 10, 0); //right LEDs if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp3+1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6-1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i+1] == 0 || i == 20) { strip.setPixelColor(pixeltemp3, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.show(); SensorOn[i] = 1; } } if (SMode == 2) { if (i != 4 && i != 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; strip.setBrightness(Master_Brightness); // Set BRIGHTNESS to about 1/5 (max = 255) //left LEDs if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp-1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4+1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i-1] == 0 || i == 0) { strip.setPixelColor(pixeltemp, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } //middle LEDs strip.setPixelColor(pixeltemp2, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp5, r_brightn, g_brightn, b_brightn, ww_brightn); //right LEDs if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp3+1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6-1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i+1] == 0 || i == 20) { strip.setPixelColor(pixeltemp3, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.show(); SensorOn[i] = 1; } if (i == 4 || i == 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; strip.setBrightness(Master_Brightness); // Set BRIGHTNESS to about 1/5 (max = 255) //left LEDs if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp-1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp4+1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i-1] == 0 || i == 0) { strip.setPixelColor(pixeltemp, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } //middle LEDs strip.setPixelColor(pixeltemp2, 30, 0, 15, 0); strip.setPixelColor(pixeltemp5, 30, 0, 15, 0); //right LEDs if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp3+1, r_brightn, g_brightn, b_brightn, ww_brightn); strip.setPixelColor(pixeltemp6-1, r_brightn, g_brightn, b_brightn, ww_brightn); } if (SensorOn[i+1] == 0 || i == 20) { strip.setPixelColor(pixeltemp3, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.show(); SensorOn[i] = 1; } } } void LED_Func_Off(int i){ if (SMode == 0) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; //Fading left neightbor if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp, 0, 0, 0, 0); strip.setPixelColor(pixeltemp4, 0, 0, 0, 0); //Fading not cause middle strip.setPixelColor(pixeltemp2, 0, 0, 0, 0); strip.setPixelColor(pixeltemp5, 0, 0, 0, 0); //Fading right neightbor if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp3, 0, 0, 0, 0); strip.setPixelColor(pixeltemp6, 0, 0, 0, 0); strip.show(); SensorOn[i] = 0; } if (SMode == 1) { if (i != 4 && i != 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; //Fading left neightbor if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp, 0, 0, 0, 0); strip.setPixelColor(pixeltemp4, 0, 0, 0, 0); //Fading not cause middle strip.setPixelColor(pixeltemp2, 0, 0, 0, 0); strip.setPixelColor(pixeltemp5, 0, 0, 0, 0); //Fading right neightbor if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp3, 0, 0, 0, 0); strip.setPixelColor(pixeltemp6, 0, 0, 0, 0); strip.show(); SensorOn[i] = 0; } if (i == 4 || i == 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; //Fading left neightbor if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp, 0, 0, 0, 0); strip.setPixelColor(pixeltemp4, 0, 0, 0, 0); //Fading not cause middle strip.setPixelColor(pixeltemp2, 0, 30, 10, 0); strip.setPixelColor(pixeltemp5, 0, 30, 10, 0); //Fading right neightbor if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp3, 0, 0, 0, 0); strip.setPixelColor(pixeltemp6, 0, 0, 0, 0); strip.show(); SensorOn[i] = 0; } } if (SMode == 2) { if (i != 4 && i != 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; //Fading left neightbor if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp, 0, 0, 0, 0); strip.setPixelColor(pixeltemp4, 0, 0, 0, 0); //Fading not cause middle strip.setPixelColor(pixeltemp2, 0, 0, 0, 0); strip.setPixelColor(pixeltemp5, 0, 0, 0, 0); //Fading right neightbor if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp3, 0, 0, 0, 0); strip.setPixelColor(pixeltemp6, 0, 0, 0, 0); strip.show(); SensorOn[i] = 0; } if (i == 4 || i == 17) { int pixeltemp = i*3; int pixeltemp2 = pixeltemp+1; int pixeltemp3 = pixeltemp+2; int pixeltemp4 = LED_COUNT-pixeltemp; int pixeltemp5 = LED_COUNT-pixeltemp2; int pixeltemp6 = LED_COUNT-pixeltemp3; //Fading left neightbor if (SensorOn[i-1] == 1) { strip.setPixelColor(pixeltemp-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp4+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp, 0, 0, 0, 0); strip.setPixelColor(pixeltemp4, 0, 0, 0, 0); //Fading not cause middle strip.setPixelColor(pixeltemp2, 30, 0, 15, 0); strip.setPixelColor(pixeltemp5, 30, 0, 15, 0); //Fading right neightbor if (SensorOn[i+1] == 1) { strip.setPixelColor(pixeltemp3+1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); strip.setPixelColor(pixeltemp6-1, r_fade_LED, g_fade_LED, b_fade_LED, ww_fade_LED); } strip.setPixelColor(pixeltemp3, 0, 0, 0, 0); strip.setPixelColor(pixeltemp6, 0, 0, 0, 0); strip.show(); SensorOn[i] = 0; } } } void wCd_Func(int i){ int itemp = i-3; //Normal LEDs ww_brightn = 255 -itemp*15; r_brightn = 0 + itemp*15; g_brightn = 0 + itemp*15 ; b_brightn = 0 + itemp*15 ; //fading LEDs ww_fade_LED = 17-itemp; r_fade_LED = 0+itemp; g_fade_LED = 0+itemp; b_fade_LED = 0+itemp; } void bD_Func(int i){ int itemp = i-3; Master_Brightness =itemp*15; } void updateLEDs(){ //allmodes for (size_t i = 0; i < 21; i++) { if (SensorOn[i] == 1) { LED_FUNC_On(i); } if (SensorOn[i] == 0) { LED_Func_Off(i); } // delay(DTLOOPS); } } void AreaChange(){ //make light on if (allOn == 0) { if (TapCount[0] < TapCount[1]){ for (size_t i = 0; i < TapCount[0]; i++) { LED_Func_Off(i); } for (size_t i = TapCount[0]; i <= TapCount[1]; i++) { LED_FUNC_On(i); } for (size_t i = TapCount[1]+1; i < 21; i++) { LED_Func_Off(i); } } if (TapCount[0] > TapCount[1]){ for (size_t i = 0; i < TapCount[1]; i++) { LED_Func_Off(i); } for (size_t i = TapCount[1]; i <= TapCount[0]; i++) { LED_FUNC_On(i); } for (size_t i = TapCount[0]+1; i < 21; i++) { LED_Func_Off(i); } } allOn = 1; } //make light off else if (allOn == 1) { for (size_t i = 0; i < 21; i++) { LED_Func_Off(i); } allOn = 0; } }