#include int i; char reader; NewSoftSerial tx(30,3);// tx on 14 NewSoftSerial rx(2,30);// rx on 12 void setup() { pinMode(12, OUTPUT); Serial.begin(9600); tx.begin(9600); rx.begin(9600); delay(1000); tx.print('b'); for(i=0; i<100; i++){ if(rx.read()=='o'){ Serial.println("awake"); break; } delay(1); }//for tx.print('x'); for(i=0; i<100; i++){ if(rx.read()=='x'){ Serial.println("x received"); break; } delay(1); }//for tx.print(' '); for(i=0; i<100; i++){ if(rx.read()=='A'){ Serial.println("firmware good"); break; } delay(1); }//for tx.print('l'); tx.print('A'); for(i=0; i<100; i++){ if(rx.read()=='o'){ Serial.println("language set"); break; } delay(1); }//for tx.print('o'); tx.print('A'); for(i=0; i<100; i++){ if(rx.read()=='o'){ Serial.println("Infinite Timeout"); break; } delay(1); }//for tx.print('i'); tx.print('B'); Serial.println("trigger"); }//setup void loop() { reader = rx.read(); // Serial.println(reader); if(reader=='s'){ Serial.println(reader); delay(100); tx.print(' '); reset(); }//read if(reader=='F'){ Serial.println(reader); digitalWrite(12, HIGH); delay(200); digitalWrite(12, LOW); } if(reader=='t'){ Serial.println(reader); reset();} if(reader=='e'){ Serial.println(reader); reset();} }//loop void reset(){ for(i=0; i<1000; i++){ reader = rx.read(); delay(1); if(reader!=-1) break;} digitalWrite(12, LOW); delay(100); tx.print('i'); tx.print('B'); }