Este es el nuevo codigo, que hasta el momento me funciona bien. Quedo muy bien hasta donde yo lo veo, si consideran que tiene algun error mi codigo por favor me dijeran, se los agradeceria muchisimo.
//Declaracion de variables
char inChar;
String cadena = "";
int lng = 0;
//Configuracion de puerto serial y reservacion de variable string
void setup() {
Serial.begin(9600);
cadena.reserve(200);
pinMode(2,OUTPUT);
}
void loop(){
if (Serial.available()){
//Lectura de caracteres
inChar = Serial.read();
//Suma de caracteres en variable string
cadena+=inChar;
//Imprime la variable con los caracteres acumulados hasta la "|"
if(inChar == '|'){ //13 como salto de linea
//Recortando Dato
lng = cadena.length();
lng = lng-1;
String data = cadena.substring(0, lng);
Serial.println(data); // Verifico el String recibida
if(data == "on"){
digitalWrite(2, HIGH);
Serial.println(data);
Serial.println("Encendido");
}
if(data == "off"){
digitalWrite(2, LOW);
Serial.println(data);
Serial.println("Apagado");
}
//Borra la variable string para almacenar nuevos datos
cadena="";
}
}
}