LEDstripe_Kueche/LED_Kueche/LED_Kueche.ino

127 lines
2.5 KiB
Arduino
Raw Normal View History

2020-10-25 18:00:51 +00:00
#include <Adafruit_NeoPixel.h>
2020-12-17 18:13:07 +00:00
#define PIN_ONOFF 6
#define PIN_FUNCTION1 7
#define PIN_FUNCTION2 8
#define PIN_LEDS 9
2020-10-25 18:00:51 +00:00
#define NUM_LEDS 124
2020-12-17 18:13:07 +00:00
#define NUM_LEDS_X 6
2020-10-25 18:00:51 +00:00
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN_LEDS, NEO_GRB + NEO_KHZ800);
bool boolOnOff;
2020-12-17 18:13:07 +00:00
bool toggleOnOff;
2020-10-25 18:00:51 +00:00
int intColour;
2020-12-17 18:13:07 +00:00
bool toggleColour;
2020-10-25 18:00:51 +00:00
void setup() {
2020-12-17 18:13:07 +00:00
pinMode(PIN_ONOFF, INPUT);
pinMode(PIN_FUNCTION1, INPUT);
2020-10-25 18:00:51 +00:00
Serial.begin(9600);
boolOnOff = 1;
2020-12-17 18:13:07 +00:00
toggleOnOff = 0;
2020-10-25 18:00:51 +00:00
intColour = 0;
2020-12-17 18:13:07 +00:00
toggleColour = 0;
2020-10-25 18:00:51 +00:00
strip.begin();
strip.show(); // Initialize all pixels to 'off'
Serial.println("My Sketch has started");
}
void loop() {
2020-12-17 18:13:07 +00:00
if (boolOnOff) {
2020-10-25 18:00:51 +00:00
Serial.println("ON");
2020-12-17 18:13:07 +00:00
if (toggleColour) {
if (intColour < 3) {
intColour++;
}
else {
intColour = 0;
}
}
switch (intColour) {
case 0: setAll(0xff,0xff,0xff);
toggleColour = 0;
break;
case 1: setAll(0xff,0x00,0x00);
toggleColour = 0;
break;
case 2: setAll(0x00,0xff,0x00);
toggleColour = 0;
break;
case 3: setAll(0x00,0x00,0xff);
toggleColour = 0;
break;
default:setAll(0x00,0x00,0x00);
toggleColour = 0;
}
while (digitalRead(PIN_FUNCTION1)){
toggleColour = 1;
delay(250);
}
2020-10-25 18:00:51 +00:00
}
else {
Serial.println("OFF");
setAll(0x00,0x00,0x00);
}
showStrip();
2020-12-17 18:13:07 +00:00
if (toggleOnOff){
boolOnOff = !boolOnOff;
toggleOnOff = 0;
}
else{
boolOnOff = boolOnOff;
}
while (digitalRead(PIN_ONOFF)){
toggleOnOff = 1;
delay(250);
}
Serial.println(intColour);
2020-10-25 18:00:51 +00:00
}
// 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) {
2020-12-17 18:13:07 +00:00
for(int i = NUM_LEDS_X; i < NUM_LEDS; i++ ) {
2020-10-25 18:00:51 +00:00
setPixel(i, red, green, blue);
}
}
2020-12-17 18:13:07 +00:00
2020-10-25 18:00:51 +00:00