/* Code sourced from Israa Rabba * http://fab.academany.org/2018/labs/fablabirbid/students/israa-rabbaa/INTERFACE.html ----------------------- modified by Darshan Shah, during Fab Academy 2018. */ #include // include serial library for communication SoftwareSerial serial (0,1); int RED = 9; // Define integer for red color leg of RGB to pin 9 int GREEN = 7; // Define integer green color leg of RGB to pin 7 int BLUE = 10; // Define integer blue color leg of RGB to pin 10 void setup() { RGBcolor(0,0,0); pinMode(RED, OUTPUT); // Set RED pin as an output pin pinMode(GREEN, OUTPUT); // Set GREEN pin as an output pin pinMode(BLUE, OUTPUT); // Set BLUE pin as an output pin serial.begin(9600); // open serial port, sets data rate to 9600 bps } void loop() { if(serial.available() > 0){ // send data to serial only when data is received char Mycolor = serial.read(); // read character from incoming serial data if(Mycolor == 'r'){ // if received 'r' then turn LED into RED RGBcolor(255,0,0); // provide RGB code for red color } else if (Mycolor == 'w'){ RGBcolor(139,69,19); // for brown color } else if (Mycolor == 'p'){ RGBcolor(255,20,147); // for pink color } else if (Mycolor == 'y'){ RGBcolor(255,255,0); // for yellow color } else if (Mycolor == 'e'){ RGBcolor(255,165,0); // for orange color } else if (Mycolor == 'g'){ RGBcolor(0,255,0); // for green color } else if (Mycolor == 'b'){ RGBcolor(0,0,255); // for blue color } else if (Mycolor == 'a'){ RGBcolor(127,255,212); // for aqua color } else { RGBcolor(0,0,0); // to switch OFF } } } void RGBcolor(int Rval, int Gval, int Bval){ // defining integers for each of the three Rval = 255-Rval; // defining value for each of the LED Gval = 255-Gval; Bval = 255-Bval; analogWrite(RED,Rval); // to set the brightness of each LED analogWrite(GREEN,Gval); analogWrite(BLUE,Bval); }