#define RED 11
#define GREEN 10
#define BLUE 9
String rot;
float zeit = 0;
void regenbogen() {
analogWrite(RED,255); //ROT: #ff0000
analogWrite(GREEN,0);
analogWrite(BLUE,0);
delay(400);
Serial.print("Farbe = ROT, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
analogWrite(RED,255); //ORANGE: #ffa500
analogWrite(GREEN,100);
analogWrite(BLUE,0);
delay(400);
Serial.print("Farbe = ORANGE, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
analogWrite(RED,255); //GELB: #ffff00
analogWrite(GREEN,255);
analogWrite(BLUE,0);
delay(400);
Serial.print("Farbe = GELB, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
analogWrite(RED,0); //GRUEN: #00ff00
analogWrite(GREEN,255);
analogWrite(BLUE,0);
delay(400);
Serial.print("Farbe = GRUEN, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
analogWrite(RED,0); //CYAN: #00ffff
analogWrite(GREEN,225);
analogWrite(BLUE,255);
delay(400);
Serial.print("Farbe = CYAN, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
analogWrite(RED,0); //BLAU: #0000ff
analogWrite(GREEN,0);
analogWrite(BLUE,255);
delay(400);
Serial.print("Farbe = BLAU, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
analogWrite(RED,255); //VIOLET: #a020f0
analogWrite(GREEN,0);
analogWrite(BLUE,255);
delay(400);
Serial.print("Farbe = VIOLET, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
}
void setup() {
// put your setup code here, to run once:
Serial.begin(9600, SERIAL_8N1); // starts serial communication between arduino and another device (eg. PC)
pinMode(RED, OUTPUT); // Pin 3 ist ein Ausgang. N = no parity E = even O = odd
pinMode(GREEN, OUTPUT); // Pin 3 ist ein Ausgang.
pinMode(BLUE, OUTPUT); // Pin 3 ist ein Ausgang.
Serial.println("Eingabe: ");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial.available() > 0) // Get the number of bytes (characters)
{
if (Serial.read() == "!") // reads the incoming(first) byte
{
rot = Serial.readStringUntil(";");
rot.trim(); // removes whitespace
rot.toInt(); // converts to int
}
}
if (rot == "!255;0;0;")
{
analogWrite(RED,255); //ROT: #ff0000
analogWrite(GREEN,0);
analogWrite(BLUE,0);
delay(400);
Serial.print("Farbe = ROT, ");
zeit = zeit + 0.2;
Serial.print("Zeit: ");
Serial.print(zeit, 1);
Serial.println(" s");
}
else if (rot == "OFF" || rot == "Off" || rot == "off")
{
zeit = 0;
analogWrite(RED,0); //RESET
analogWrite(GREEN,0);
analogWrite(BLUE,0);
}
}