//Push Button Controlling RGB
int RedLED = 10;
int GreenLED = 11;
int BlueLED = 9;
int pB1 = 8;
int pB2 = 7;
int dTime = 1000;
int baud = 9600;
int pB1Stat;
int pB2Stat;
int ON = 255;
int OFF = 0;
int Value1;
int Value2;
String msg1 = "What Color Do You Want?";
int index = 0;
String color;
void setup() {
pinMode(GreenLED, OUTPUT);
pinMode(RedLED, OUTPUT);
pinMode(BlueLED, OUTPUT);
pinMode(pB1, INPUT);
pinMode(pB2, INPUT);
Serial.begin(baud);
}
void loop() {
Serial.println(msg1);
while (Serial.available() == 0) {}
color = Serial.readString();
Serial.println(color);
if (color = "red") {
Serial.print(color);
Serial.println(" selected");
}
if (color == "blue"){
Serial.print(color);
Serial.println(" selected");
}
if (color == "green"){
Serial.print(color);
Serial.println(" selected");
}
//Color Red
while (color == "red") {
digitalWrite(BlueLED, LOW);
digitalWrite(GreenLED, LOW);
digitalRead(pB1);
digitalRead(pB2);
pB1Stat = digitalRead(pB1);
pB2Stat = digitalRead(pB2);
if ((pB1Stat == HIGH) & (pB2Stat != HIGH)) {
if (Value1 == 255) {
Value1 = Value1;
}
else(Value1 = (Value1 + 17));
Serial.println("Button 1 Pressed");
Serial.println(Value1);
analogWrite(RedLED, Value1);
delay(10);
}
//Brightness Down
if ((pB1Stat != HIGH) & (pB2Stat == HIGH)) {
if (Value1 == 0) {
Value1 = Value1;
}
else(Value1 = (Value1 - 17));
Serial.println("Button 2 Pressed");
analogWrite(RedLED, Value1);
Serial.println(Value1);
}
if ((pB1Stat == HIGH) & (pB2Stat == HIGH)) {
Value1 = 0;
Serial.println("Value Reset");
Serial.println(Value1);
}
delay(dTime);
}
//Color Green
while (color == "green") {
digitalWrite(RedLED, LOW);
digitalWrite(BlueLED, LOW);
digitalRead(pB1);
digitalRead(pB2);
pB1Stat = digitalRead(pB1);
pB2Stat = digitalRead(pB2);
if ((pB1Stat == HIGH) & (pB2Stat != HIGH)) {
if (Value1 == 255) {
Value1 = Value1;
}
else(Value1 = (Value1 + 17));
Serial.println("Button 1 Pressed");
Serial.println(Value1);
analogWrite(GreenLED, Value1);
delay(10);
}
//Brightness Down
if ((pB1Stat != HIGH) & (pB2Stat == HIGH)) {
if (Value1 == 0) {
Value1 = Value1;
}
else(Value1 = (Value1 - 17));
Serial.println("Button 2 Pressed");
analogWrite(GreenLED, Value1);
Serial.println(Value1);
}
if ((pB1Stat == HIGH) & (pB2Stat == HIGH)) {
Value1 = 0;
Serial.println("Value Reset");
Serial.println(Value1);
}
delay(dTime);
}
//Color Blue
while (color == "blue") {
digitalWrite(RedLED, LOW);
digitalWrite(GreenLED, LOW);
digitalRead(pB1);
digitalRead(pB2);
pB1Stat = digitalRead(pB1);
pB2Stat = digitalRead(pB2);
//Brightness Up
if ((pB1Stat == HIGH) & (pB2Stat != HIGH)) {
if (Value1 == 255) {
Value1 = Value1;
}
else(Value1 = (Value1 + 17));
Serial.println("Button 1 Pressed");
Serial.println(Value1);
analogWrite(BlueLED, Value1);
delay(10);
}
//Brightness Down
if ((pB1Stat != HIGH) & (pB2Stat == HIGH)) {
if (Value1 == 0) {
Value1 = Value1;
}
else(Value1 = (Value1 - 17));
Serial.println("Button 2 Pressed");
analogWrite(BlueLED, Value1);
Serial.println(Value1);
}
if ((pB1Stat == HIGH) & (pB2Stat == HIGH)) {
Value1 = 0;
Serial.println("Value Reset");
Serial.println(Value1);
}
delay(dTime);
}
}