byte led_red_pin = 11;
byte led_green_pin = 10;
byte led_blue_pin = 9;
byte led_pins[3] = {led_red_pin, led_green_pin, led_blue_pin};
int led_red_value = 0;
int led_green_value = 0;
int led_blue_value = 0;
int led_values[3] = {led_red_value, led_green_value, led_blue_value};
byte button_pin = 2;
bool button_read = false;
bool button_on = false;
bool switch0 = false;
unsigned long button_millis = 0;
void setup() {
Serial.begin(9600);
Serial.println("Setzen der LED OUTPUTS:");
for (byte i = 0; i < 3; i++) {
Serial.print("PIN: ");
pinMode(led_pins[i], OUTPUT);
Serial.print(led_pins[i]);
Serial.println(" auf Output gesetzt.");
}
pinMode(button_pin, INPUT_PULLUP);
}
void loop() {
unsigned long button_timer = millis() - button_millis;
button_read = digitalRead(button_pin);
if (button_read) {
button_millis = millis();
}
if (!button_read && !button_on && button_timer > 20) {
button_on = true;
}
if (button_read && button_on) {
button_on = false;
switch0 = !switch0;
}
if (switch0) {
for (int i = 0; i < 255; i++) {
led_values[0] = i;
analogWrite(led_pins[0], led_values[0]);
Serial.print("led_red: ");
Serial.println(led_values[0]);
delay(10);
}
led_values[0] = 255;
analogWrite(led_pins[0], led_values[0]);
Serial.println(led_values[0]);
if (led_values[0] == 255) {
for (int i = 0; i < 255; i++) {
led_values[1] = i;
analogWrite(led_pins[1], led_values[1]);
Serial.print("led_green: ");
Serial.println(led_values[1]);
delay(10);
}
led_values[1] = 255;
analogWrite(led_pins[1], led_values[1]);
Serial.println(led_values[1]);
}
if (led_values[1] == 255) {
for (int i = 255; i > 0; i--) {
led_values[0] = i;
analogWrite(led_pins[0], led_values[0]);
Serial.print("led_red: ");
Serial.println(led_values[0]);
delay(10);
}
led_values[0] = 0;
analogWrite(led_pins[0], led_values[0]);
Serial.println(led_values[0]);
}
if (led_values[0] == 0) {
for (int i = 0; i < 255; i++) {
led_values[2] = i;
analogWrite(led_pins[2], led_values[2]);
Serial.print("led_blue: ");
Serial.println(led_values[2]);
delay(10);
}
led_values[2] = 255;
analogWrite(led_pins[2], led_values[2]);
Serial.println(led_values[2]);
}
if (led_values[2] == 255) {
for (int i = 255; i > 0; i--) {
led_values[1] = i;
Serial.print("led_green: ");
Serial.println(led_values[1]);
delay(10);
}
led_values[1] = 0;
analogWrite(led_pins[1], led_values[1]);
Serial.println(led_values[1]);
}
if (led_values[1] == 0) {
for (int i = 255; i > 0; i--) {
led_values[2] = i;
Serial.print("led_blue: ");
Serial.println(led_values[2]);
delay(10);
}
led_values[2] = 0;
analogWrite(led_pins[2], led_values[2]);
Serial.println(led_values[2]);
}
}
}