#include SoftwareSerial mySerial(1, 0); // RX, TX const int RGB_GREEN = 8; const int RGB_BLUE = 9; const int RGB_RED = 10; const int onboard_led1 = 3; const int onboard_led2 = 4; const int analog_1 = 19; int incomingByte[2]; int colorPicker; void setup() { pinMode(RGB_GREEN, OUTPUT); pinMode(RGB_BLUE, OUTPUT); pinMode(RGB_RED, OUTPUT); pinMode(onboard_led1, OUTPUT); pinMode(onboard_led2, OUTPUT); pinMode(analog_1, INPUT); mySerial.begin(115200); digitalWrite(RGB_GREEN, HIGH); digitalWrite(RGB_BLUE, HIGH); digitalWrite(RGB_RED, HIGH); digitalWrite(onboard_led1, LOW); digitalWrite(onboard_led2, LOW); } void loop() { int reading = analogRead(analog_1); mySerial.print('S'); mySerial.println(reading); //colorPicker = mySerial.peek(); while (mySerial.peek() == 'L') { mySerial.read(); incomingByte[0] = mySerial.parseInt(); if (incomingByte[0] == 1) { digitalWrite(onboard_led2, HIGH); } else { digitalWrite(onboard_led2, LOW); } while (mySerial.available() > 0) { mySerial.read(); } } while (mySerial.peek() == 'O') { mySerial.read(); incomingByte[0] = mySerial.parseInt(); if (incomingByte[0] == 1) { digitalWrite(onboard_led1, HIGH); } else { digitalWrite(onboard_led1, LOW); } while (mySerial.available() > 0) { mySerial.read(); } } while (mySerial.peek() == 'R') { mySerial.read(); incomingByte[0] = mySerial.parseInt(); if (incomingByte[0] == 1) { digitalWrite(RGB_GREEN, HIGH); digitalWrite(RGB_BLUE, HIGH); digitalWrite(RGB_RED, LOW); } else { digitalWrite(RGB_GREEN, HIGH); digitalWrite(RGB_BLUE, HIGH); digitalWrite(RGB_RED, HIGH); } while (mySerial.available() > 0) { mySerial.read(); } } while (mySerial.peek() == 'G') { mySerial.read(); incomingByte[0] = mySerial.parseInt(); if (incomingByte[0] == 1) { digitalWrite(RGB_GREEN, LOW); digitalWrite(RGB_BLUE, HIGH); digitalWrite(RGB_RED, HIGH); } else { digitalWrite(RGB_GREEN, HIGH); digitalWrite(RGB_BLUE, HIGH); digitalWrite(RGB_RED, HIGH); } while (mySerial.available() > 0) { mySerial.read(); } } while (mySerial.peek() == 'B') { mySerial.read(); incomingByte[0] = mySerial.parseInt(); if (incomingByte[0] == 1) { digitalWrite(RGB_GREEN, HIGH); digitalWrite(RGB_BLUE, LOW); digitalWrite(RGB_RED, HIGH); } else { digitalWrite(RGB_GREEN, HIGH); digitalWrite(RGB_BLUE, HIGH); digitalWrite(RGB_RED, HIGH); } while (mySerial.available() > 0) { mySerial.read(); } } delay(100); }