diff --git a/LED_Kueche/LED_Kueche.ino b/LED_Kueche/LED_Kueche.ino new file mode 100644 index 0000000..9a8cd56 --- /dev/null +++ b/LED_Kueche/LED_Kueche.ino @@ -0,0 +1,126 @@ + + #include + + #define PIN_ONOFF 2 + #define PIN_FUNCTION1 3 + #define PIN_FUNCTION2 4 + #define PIN_LEDS 5 + #define NUM_LEDS 124 + + Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN_LEDS, NEO_GRB + NEO_KHZ800); + + bool boolOnOff; + int intColour; + + void setup() { + Serial.begin(9600); + boolOnOff = 1; + intColour = 0; + strip.begin(); + strip.show(); // Initialize all pixels to 'off' + Serial.println("My Sketch has started"); + } + + + + void loop() { + + if (onOff(PIN_ONOFF,boolOnOff)) { + setColour(PIN_FUNCTION1,intColour); + Serial.println("ON"); + } + else { + Serial.println("OFF"); + setAll(0x00,0x00,0x00); + } + showStrip(); + } + + +// Neopixel senden an Streifen + + void showStrip() { + #ifdef ADAFRUIT_NEOPIXEL_H + // NeoPixel + strip.show(); + #endif + } + + +// Neopixel setze einzelnen Pixel + + void setPixel(int Pixel, byte red, byte green, byte blue) { + #ifdef ADAFRUIT_NEOPIXEL_H + // NeoPixel + strip.setPixelColor(Pixel, strip.Color(red, green, blue)); + #endif + } + + +// Neopixel setze ganzen Streifen + + void setAll(byte red, byte green, byte blue) { + for(int i = 6; i < NUM_LEDS; i++ ) { + setPixel(i, red, green, blue); + } + } + + +// Entstörung des Schaltsignal des Tasters durch Delay | Anmerkung an mich ggf. nur die abfallende Flanke abfragen? und/oder mit Flankenmerker statt Schleife arbeiten + + bool pressedKey (int keyIn) { + if (digitalRead(keyIn) == 1) { + delay(500); + if (digitalRead(keyIn) == 1) { + while (digitalRead(keyIn) == 1) { + delay(500); + } + return 1; + } + else { + return 0; + } + } + else { + return 0; + } + } + + +// Schaltet den LED-Streifen Ein und/oder Aus + + bool onOff(int pinOnOff, bool varOnOff) { + if (pressedKey(pinOnOff)) { + Serial.print("Pressed"); + Serial.println(pinOnOff); + varOnOff = !varOnOff; + } + return varOnOff; + } + + +//Setzt die Farbe des LED-Streifens + + void setColour(int pinSetColour, int varColour) { + if (pressedKey(pinSetColour)) { + if (varColour < 3) { + varColour++; + } + else { + varColour = 0; + } + } + switch (varColour) { + case 0: setAll(0xff,0xff,0xff); + break; + case 1: setAll(0xff,0x00,0x00); + break; + case 2: setAll(0x00,0xff,0x00); + break; + case 3: setAll(0x00,0x00,0xff); + break; + default:setAll(0x00,0x00,0x00); + } + + } +