/* EEL-5666 Example 2: Use of Digital Output Pins Turn on/off External LEDs connected to Pins 11 & 12 alternatively and the internal LED on Pin 13 on/off. Add a delay in each state of 1/2 sec. Use serial input to control the LEDs. {i,o} for internal LED {j,k} for external LEDs. Arroyo January 18, 2016 */ int extLED1 = 11; // External LED connected to digital pin 11 int extLED2 = 12; // External LED connected to digital pin 12 int intLED = 13; // Internal LED connected to digital pin 13 void setup( ) { pinMode(extLED1, OUTPUT); // sets digital pin 12 as output pinMode(extLED2, OUTPUT); // sets digital pin 12 as output pinMode(intLED, OUTPUT); // sets digital pin 13 as output Serial.begin(57600); // connect to the serial port Serial.println("Arduino Serial External LEDs");} int rcvData=0, count=0; void loop( ) { if (count < 1) { for (int j=0; j<5; j++){ Serial.print("j= "); Serial.println(j); digitalWrite(13, HIGH); // set the internal LED on digitalWrite(12, LOW); // set the external LED1 off digitalWrite(11, HIGH); // set the external LED2 on delay(500); // wait for a 1/2 second digitalWrite(13, LOW); // set the internal LED off digitalWrite(12, HIGH); // set the external LED on digitalWrite(11, LOW); // set the external LED off delay(500); // wait for a 1/2 second } digitalWrite(13, HIGH); // set the internal LED on digitalWrite(12, HIGH); // set the external LED1 on digitalWrite(11, HIGH); // set the external LED2 on } count=1; // blink data only when you receive data: if (Serial.available() > 0) { // read the incoming byte: rcvData = Serial.read(); // say what you got: Serial.print("I received: "); Serial.write(rcvData); Serial.println(); if (rcvData == 'i') digitalWrite(13, HIGH); // internal LED on else if (rcvData == 'o') digitalWrite(13, LOW); // internal LED off else if (rcvData == 'j') {digitalWrite(12,LOW); digitalWrite(11,HIGH);} else if (rcvData == 'k') {digitalWrite(12,HIGH); digitalWrite(11,LOW);} } }