#include <EEPROM.h>
int channel = 0;
int channelSave = 0;
//R = 0
//G = 1
//B = 2
int vRed = 0;
int vGreen = 0;
int vBlue = 0;
int aRed = 0;
int aGreen = 1;
int aBlue = 2;
int pinR = 9;
int pinG = 10;
int pinB = 11;
int pinT = 4;
bool hasPressed = false;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(pinR, OUTPUT);
pinMode(pinG, OUTPUT);
pinMode(pinB, OUTPUT);
pinMode(pinT,INPUT_PULLUP);
vRed = EEPROM.read(aRed);
vGreen = EEPROM.read(aGreen);
vBlue = EEPROM.read(aBlue);
channel = EEPROM.read(channelSave);
analogWrite(pinR, vRed);
analogWrite(pinG, vGreen);
analogWrite(pinB, vBlue);
}
void loop() {
// put your main code here, to run repeatedly:
int potValue = analogRead(A0);
float percent = potValue / 1023.0;
EEPROM.write(channel, channelSave);
if(channel==0) {
vRed = 255*percent;
analogWrite(pinR, vRed);
} else if(channel==1) {
vGreen = 255*percent;
analogWrite(pinG, vGreen);
} else if(channel==2) {
vBlue = 255*percent;
analogWrite(pinB, vBlue);
}
if(digitalRead(pinT)==LOW) {
if(hasPressed==false) {
Serial.println("Gedrückt");
hasPressed = true;
channel = channel + 1;
channelSave = EEPROM.read(channel);
if(channel>2) {
channel = 0;
}
delay(100);
}
} else {
Serial.println("Nicht gedrückt");
hasPressed = false;
}
EEPROM.update(aRed,vRed);
EEPROM.update(aGreen,vGreen);
EEPROM.update(aBlue,vBlue);
}