int t4 = 50; //Taster 4 an Pin 50
int tv4 = 0; //erster Tasterwert
int tvv4 = 0; //zweiter Tasterwert
int t5 = 53;
int tv5 = 0;
int tvv5 = 0;
int t6 = 22;
int tv6 = 0;
int tvv6 = 0;
int t7 = 32;
int tv7 = 0;
int tvv7 = 0;
int t8 = 35;
int tv8 = 0;
int tvv8 = 0;
int s1 = 34;
int sv1 = 0;
int svv1 = 0;
//int has1 = ;
//int hasv1 = 0;
//int hasvv1 = 0;
int p1 = 0; //Poti 1 an analogPin 0
int p2 = 1;
int p3 = 2;
int p4 = 3;
int v1 = 0; //erster Potiwert
int v2 = 0; //zweiter Potiwert
int v3 = 0;
int v4 = 0;
int v5 = 0;
int v6 = 0;
int v7 = 0;
int v8 = 0;
int i = 21; //allgemeiner Programmzähler
int r = 5; //Pin, an dem die roten LED's angeschlossen sind
int g = 6;
int b = 7;
int rw = 255; //analoger Wert für Rot (helligkeit)
int gw = 100;
int bw = 255;
int TasterRGB = 48; //RGB Umschalttaster an Pin 48
int twRGB = 0; //Tasterwert RGB
int RGB = 5; //Zähler für Farbprogramm
int Dimmstatus = 0; //Zähler zur Bestimmung des Dimmstatus
unsigned long zeit1 = 0; //Zeitvariable1
unsigned long zeit2 = 0;
void setup() {
Serial.begin(9600);
pinMode(r, OUTPUT);
pinMode(g, OUTPUT);
pinMode(b, OUTPUT);
while (i < 53) {
i++;
pinMode(i, INPUT);
}
i = 0;
}
void loop() {
v1 = analogRead(p1); //An Arduino 1
v1 = map(v1, 0, 1023, 240, 1);
if (v1 != v2) {
v2 = analogRead(p1); //1-27-XXX
v2 = map(v2, 0, 1023, 240, 1);
Serial.write(1);
delay(1);
Serial.write(27);
delay(1);
Serial.write(v2);
}
if(millis() - zeit1 > 200){
zeit1 = millis();
pinMode(TasterRGB, OUTPUT);
digitalWrite(TasterRGB, LOW);
pinMode(TasterRGB, INPUT);
twRGB = digitalRead(TasterRGB);
if(twRGB == 1){
if(RGB < 5){
RGB++;
}
else{
RGB = 0;
}
}
}
pinMode(t4, OUTPUT);
digitalWrite(t4, LOW);
pinMode(t4, INPUT);
tv4 = digitalRead(t4);
if(tv4 != tvv4){
pinMode(t4, OUTPUT);
digitalWrite(t4, LOW);
pinMode(t4, INPUT);
tvv4 = digitalRead(t4); //2-4-X
Serial.write(2);
delay(1);
Serial.write(4);
delay(1);
Serial.write(tvv4);
}
pinMode(t5, OUTPUT);
digitalWrite(t5, LOW);
pinMode(t5, INPUT);
tv5 = digitalRead(t5);
if(tv5 != tvv5){
pinMode(t5, OUTPUT);
digitalWrite(t5, LOW);
pinMode(t5, INPUT);
tvv5 = digitalRead(t5); //2-5-X
Serial.write(2);
delay(1);
Serial.write(5);
delay(1);
Serial.write(tvv5);
}
pinMode(t7, OUTPUT);
digitalWrite(t7, LOW);
pinMode(t7, INPUT);
tv7 = digitalRead(t7);
if(tv7 != tvv7){
pinMode(t7, OUTPUT);
digitalWrite(t7, LOW);
pinMode(t7, INPUT);
tvv7 = digitalRead(t7); //1-7-X
Serial.write(1);
delay(1);
Serial.write(7);
delay(1);
Serial.write(tvv7);
}
pinMode(t8, OUTPUT);
digitalWrite(t8, LOW);
pinMode(t8, INPUT);
tv8 = digitalRead(t8);
if(tv8 != tvv8){
pinMode(t8, OUTPUT);
digitalWrite(t8, LOW);
pinMode(t8, INPUT);
tvv8 = digitalRead(t8); //1-8-X
Serial.write(1);
delay(1);
Serial.write(8);
delay(1);
Serial.write(tvv8);
}
pinMode(s1, OUTPUT);
digitalWrite(s1, LOW);
pinMode(s1, INPUT);
sv1 = digitalRead(s1);
if(sv1 != svv1){
pinMode(s1, OUTPUT);
digitalWrite(s1, LOW);
pinMode(s1, INPUT);
svv1 = digitalRead(s1); //1-18-X
Serial.write(1);
delay(1);
Serial.write(18);
delay(1);
if(svv1 == 0){
Serial.write(2);
}
else{
Serial.write(svv1);
}
}
/* pinMode(has1, OUTPUT);
digitalWrite(has1, LOW);
pinMode(has1, INPUT);
hasv1 = digitalRead(has1);
if(hasv1 != hasvv1){
pinMode(has1, OUTPUT);
digitalWrite(has1, LOW);
pinMode(has1, INPUT);
hasvv1 = digitalRead(has1);
Serial.write(1);
delay(1);
Serial.write(24);
delay(1);
Serial.write(hasvv1);
}*/
//RGB Programmteil
if(RGB == 0){
analogWrite(r, 20);
digitalWrite(g, HIGH);
digitalWrite(b, HIGH);
}
if(RGB == 1){
analogWrite(g, 100);
digitalWrite(r, HIGH);
digitalWrite(b, HIGH);
}
if(RGB == 2){
analogWrite(b, 100);
digitalWrite(g, HIGH);
digitalWrite(r, HIGH);
}
if(RGB == 3){
analogWrite(r, 20);
analogWrite(g, 100);
analogWrite(b, 100);
}
if(RGB == 4){
if(millis() - zeit2 > 30){
zeit2 = millis();
if(Dimmstatus == 0){
rw--;
analogWrite(r, rw);
gw++;
analogWrite(g, gw);
if(rw == 100){
Dimmstatus = 1;
}
}
if(Dimmstatus == 1){
bw--;
analogWrite(b, b);
rw++;
analogWrite(r, rw);
if(bw == 100){
Dimmstatus = 2;
}
}
if(Dimmstatus == 2){
gw--;
analogWrite(g, gw);
bw++;
analogWrite(b, bw);
if(gw == 100){
Dimmstatus = 0;
}
}
}
}
if(RGB == 5){
digitalWrite(r, HIGH);
digitalWrite(g, HIGH);
digitalWrite(b, HIGH);
}
}