// constants (or #define with no ; at end of line) won't change. They're used here to set pin numbers:
int redLED = 10;
int greenLED = 9;
int blueLED = 8;
String myColour = "";
String msg="What colour LED? ";
// Variables will change:
void setup() {
pinMode (redLED, OUTPUT);
pinMode (greenLED, OUTPUT);
pinMode (blueLED, OUTPUT);
Serial.begin(9600);
}
void loop() {
Serial.println(msg);
while (Serial.available()==0) {
}
myColour=Serial.readStringUntil('\n');
digitalWrite(greenLED, LOW);
digitalWrite(redLED, LOW);
digitalWrite(blueLED, LOW);
Serial.print(Serial.readString());
//Serial.print(myColour);
if (myColour=="red" || myColour=="Red"){
digitalWrite(redLED, HIGH);
digitalWrite(greenLED, LOW);
digitalWrite(blueLED, LOW);
Serial.print(myColour);
Serial.println(" is lit, others are not.");
}
else if (myColour=="green" || myColour=="Green"){
digitalWrite(greenLED, HIGH);
digitalWrite(redLED, LOW);
digitalWrite(blueLED, LOW);
Serial.println("Green is lit, others are not.");
}
else if (myColour=="blue"|| myColour == "Blue"){
digitalWrite(blueLED, HIGH);
digitalWrite(greenLED, LOW);
digitalWrite(redLED, LOW);
Serial.println("Blue is lit, others are not.");
}
else {
Serial.print(myColour);
Serial.print(" is not a valid entry smart arse!");
Serial.println("");
}
}