#include <Adafruit_NeoPixel.h>
#include <avr/power.h>
#define PIN 7
#define NUMPIXELS 10
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 200;
int Felder[5];
int Minuten;
int Stunden;
int MinutenR;
int StundenR;
void setup() {
pixels.begin();
}
void loop() {
/*for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(255,255,255)); // weiß
pixels.show(); // This sends the updated pixel color to the hardware.
delay(delayval); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(0,255,0)); // grün
pixels.show(); // This sends the updated pixel color to the hardware.
delay(delayval); // Delay for a period of time (in milliseconds).
}
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(0,0,255)); // blau
pixels.show(); // This sends the updated pixel color to the hardware.
delay(delayval); // Delay for a period of time (in milliseconds).
}
*/
for(int i=0;i<NUMPIXELS;i++){
pixels.setPixelColor(i, pixels.Color(255,255,0)); // rot
pixels.show(); // This sends the updated pixel color to the hardware.
delay(delayval); // Delay for a period of time (in milliseconds).
}
MinutenR=35;
StundenR=8;
Stunden=StundenR;
Minuten=MinutenR/5;
FarbenWeg(); //Felder auf Farbe 0 setzen
delay(2000);
Variante4(); //Button6_Click
ButtonFaerben();
pixels.show(); // This sends the updated pixel color to the hardware.
delay(10000);
Minuten=MinutenR;
Stunden=StundenR;
Minuten=Minuten/5;
FarbenWeg(); //Felder auf Farbe 0 setzen
delay(2000);
Variante4(); //Button6_Click
ButtonFaerben();
pixels.show(); // This sends the updated pixel color to the hardware.
delay(10000);
Minuten=MinutenR;
Stunden=StundenR;
Minuten=Minuten/5;
FarbenWeg(); //Felder auf Farbe 0 setzen
delay(2000);
Variante2(); //Button6_Click
ButtonFaerben();
pixels.show(); // This sends the updated pixel color to the hardware.
delay(10000);
Minuten=MinutenR;
Stunden=StundenR;
Minuten=Minuten/5;
FarbenWeg(); //Felder auf Farbe 0 setzen
delay(2000);
Variante1(); //Button6_Click
ButtonFaerben();
pixels.show(); // This sends the updated pixel color to the hardware.
delay(10000);
}
void Variante4(){
// ' Grün=1 blau=2 rot=3
if (Minuten>=3){
Felder[3] = 1;
Minuten = Minuten - 3;
}
if (Minuten>=5){
Felder[5] = 1;
Minuten = Minuten - 5;
}
if (Minuten>=2){
Felder[2] = 1;
Minuten = Minuten - 2;
}
if (Minuten>1){
Felder[1] = 1;
Minuten = Minuten - 1;
}
if (Minuten==1){
Felder[0] = 1;
}
// Stunden=0;
if (Stunden>=3){
if (Felder[3]==1){
Felder[3] = 2;
}else{
Felder[3] = 3;
}
Stunden = Stunden - 3;
}
if (Stunden>=5){
if (Felder[5]==1){
Felder[5] = 2;
}else{
Felder[5] = 3;
}
Stunden = Stunden - 5;
}
if (Stunden>=2){
if (Felder[2]==1){
Felder[2] = 2;
}else{
Felder[2] = 3;
}
Stunden = Stunden - 2;
}
if (Stunden>1){
if (Felder[1]==1){
Felder[1] = 2;
}else{
Felder[1] = 3;
}
Stunden = Stunden - 1;
}
if (Stunden==1){
if (Felder[0]==1){
Felder[0] = 2;
}else{
Felder[0] = 3;
}
}
}
void Variante3(){
// ' Grün=1 blau=2 rot=3
if (Minuten>3){
Felder[3] = 1;
Minuten = Minuten - 3;
}
if (Minuten>5){
Felder[5] = 1;
Minuten = Minuten - 5;
}
if (Minuten>2){
Felder[2] = 1;
Minuten = Minuten - 2;
}
if (Minuten>1){
Felder[1] = 1;
Minuten = Minuten - 1;
}
if (Minuten==1){
Felder[0] = 1;
}
if (Stunden>3){
if (Felder[3]==1){
Felder[3] = 2;
}else{
Felder[3] = 3;
}
Stunden = Stunden - 3;
}
if (Stunden>5){
if (Felder[5]==1){
Felder[5] = 2;
}else{
Felder[5] = 3;
}
Stunden = Stunden - 5;
}
if (Stunden>2){
if (Felder[2]==1){
Felder[2] = 2;
}else{
Felder[2] = 3;
}
Stunden = Stunden - 2;
}
if (Stunden>1){
if (Felder[1]==1){
Felder[1] = 2;
}else{
Felder[1] = 3;
}
Stunden = Stunden - 1;
}
if (Stunden==1){
if (Felder[0]==1){
Felder[0] = 2;
}else{
Felder[0] = 3;
}
}
}
void Variante2(){
// ' Grün=1 blau=2 rot=3
if (Minuten>=5){
Felder[5] = 1;
Minuten = Minuten - 5;
}
if (Minuten>=3){
Felder[3] = 1;
Minuten = Minuten - 3;
}
if (Minuten>=2){
Felder[2] = 1;
Minuten = Minuten - 2;
}
if (Minuten>1){
Felder[1] = 1;
Minuten = Minuten - 1;
}
if (Minuten==1){
Felder[0] = 1;
}
// Stunden=0;
if (Stunden>=5){
if (Felder[5]==1){
Felder[5] = 2;
}else{
Felder[5] = 3;
}
Stunden = Stunden - 5;
}
if (Stunden>=3){
if (Felder[3]==1){
Felder[3] = 2;
}else{
Felder[3] = 3;
}
Stunden = Stunden - 3;
}
if (Stunden>=2){
if (Felder[2]==1){
Felder[2] = 2;
}else{
Felder[2] = 3;
}
Stunden = Stunden - 2;
}
if (Stunden>1){
if (Felder[1]==1){
Felder[1] = 2;
}else{
Felder[1] = 3;
}
Stunden = Stunden - 1;
}
if (Stunden==1){
if (Felder[0]==1){
Felder[0] = 2;
}else{
Felder[0] = 3;
}
}
}
void Variante1(){
// ' Grün=1 blau=2 rot=3
if (Minuten>5){
Felder[5] = 1;
Minuten = Minuten - 5;
}
if (Minuten>3){
Felder[3] = 1;
Minuten = Minuten - 3;
}
if (Minuten>2){
Felder[2] = 1;
Minuten = Minuten - 2;
}
if (Minuten>1){
Felder[1] = 1;
Minuten = Minuten - 1;
}
if (Minuten==1){
Felder[0] = 1;
}
if (Stunden>5){
if (Felder[5]==1){
Felder[5] = 2;
}else{
Felder[5] = 3;
}
Stunden = Stunden - 5;
}
if (Stunden>3){
if (Felder[3]==1){
Felder[3] = 2;
}else{
Felder[3] = 3;
}
Stunden = Stunden - 3;
}
if (Stunden>2){
if (Felder[2]==1){
Felder[2] = 2;
}else{
Felder[2] = 3;
}
Stunden = Stunden - 2;
}
if (Stunden>1){
if (Felder[1]==1){
Felder[1] = 2;
}else{
Felder[1] = 3;
}
Stunden = Stunden - 1;
}
if (Stunden==1){
if (Felder[0]==1){
Felder[0] = 2;
}else{
Felder[0] = 3;
}
}
}
void FarbenWeg(){
for(int i=0;i<6;i++){
Felder[i] = 0;
}
ButtonFaerben();
pixels.show();
}
void ButtonFaerben(){
//Felder einfärben
switch (Felder[0]) {
case 0:
pixels.setPixelColor(0, pixels.Color(100,100,100)); //weiß
break;
case 1:
pixels.setPixelColor(0, pixels.Color(0,255,0)); //grün
break;
case 2:
pixels.setPixelColor(0, pixels.Color(0,0,255)); //blau
break;
case 3:
pixels.setPixelColor(0, pixels.Color(255,0,0)); //rot
break;
}
switch (Felder[1]) {
case 0:
pixels.setPixelColor(1, pixels.Color(100,100,100)); //weiß
break;
case 1:
pixels.setPixelColor(1, pixels.Color(0,255,0)); //grün
break;
case 2:
pixels.setPixelColor(1, pixels.Color(0,0,255)); //blau
break;
case 3:
pixels.setPixelColor(1, pixels.Color(255,0,0)); //rot
break;
}
switch (Felder[2]) {
case 0:
pixels.setPixelColor(2, pixels.Color(100,100,100)); //weiß
break;
case 1:
pixels.setPixelColor(2, pixels.Color(0,255,0)); //grün
break;
case 2:
pixels.setPixelColor(2, pixels.Color(0,0,255)); //blau
break;
case 3:
pixels.setPixelColor(2, pixels.Color(255,0,0)); //rot
break;
}
switch (Felder[3]) {
case 0:
pixels.setPixelColor(3, pixels.Color(100,100,100)); //weiß
break;
case 1:
pixels.setPixelColor(3, pixels.Color(0,255,0)); //grün
break;
case 2:
pixels.setPixelColor(3, pixels.Color(0,0,255)); //blau
break;
case 3:
pixels.setPixelColor(3, pixels.Color(255,0,0)); //rot
break;
}
switch (Felder[5]) {
case 0:
pixels.setPixelColor(5, pixels.Color(100,100,100)); //weiß
break;
case 1:
pixels.setPixelColor(5, pixels.Color(0,255,0)); //grün
break;
case 2:
pixels.setPixelColor(5, pixels.Color(0,0,255)); //blau
break;
case 3:
pixels.setPixelColor(5, pixels.Color(255,0,0)); //rot
break;
}
}