/* Software serial multple serial test Receives from the hardware serial, sends to software serial. Receives from software serial, sends to hardware serial. The circuit: * RX is digital pin 10 (connect to TX of other device) * TX is digital pin 11 (connect to RX of other device) Note: Not all pins on the Mega and Mega 2560 support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69 Not all pins on the Leonardo and Micro support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI). created back in the mists of time modified 25 May 2012 by Tom Igoe based on Mikal Hart's example This example code is in the public domain. */ #include #include #define redPin A3 #define bluePin A2 #define greenPin 1 #define rxPin A1 #define txPin 0 int firstByte = 0; int secondByte = 1; int thirdByte = 2; RGBLed led(redPin, bluePin, greenPin, COMMON_CATHODE); //now you can use setColor SoftwareSerial mySerial(rxPin, txPin); // RX, TX void setup() { pinMode (rxPin, INPUT); pinMode (txPin, OUTPUT); pinMode (redPin, OUTPUT); pinMode (greenPin, OUTPUT); pinMode (bluePin, OUTPUT); // set the data rate for the SoftwareSerial port mySerial.begin(4800); mySerial.println("Hello, world?"); } void loop() { // run over and over led.setColor(255,0,0); //red delay(500); led.setColor(0,255,0); //green delay(500); led.setColor(0,0,255); //blue delay(500); led.setColor(255,255,0); //yellow delay(500); led.setColor(80,0,80); //purple delay(500); led.setColor(0,255,255); //aqua delay(500); if (mySerial.available()) { mySerial.write(mySerial.read()); led.setColor(0,255,255); //aqua delay(100); } else {led.setColor(80,0,80); //purple } }