Paso 3: Código explicación
El objetivo principal es extraer el mensaje del mensaje recibido. Ahora puede utilizar un carácter especial para esto pero he decidido usar los conceptos de las etiquetas html. Así es mi tag. Lo que está escrito en estas etiquetas se mostrarán. Objeto String proporciona hermosa cadena funciones de manipulación. Por lo que no se reinventar la rueda sino utilizar en nuestra aplicación por así decirlo. Veamos el código que va a extraer el mensaje de los datos recibidos.
char buffer[250];Serial.readBytes(buffer, 250); String message = buffer; String command = "<s>"; String commandEnd ="</s>"; int indexOfMessage = message.indexOf(command); int indexOfMessageEnd = message.indexOf(commandEnd); if(indexOfMessage>0 && indexOfMessageEnd>0){ String actualMessage = message.substring(indexOfMessage+3,indexOfMessageEnd); Serial.print("Message :"); Serial.println(message); Serial.print("Command :"); Serial.println(command); Serial.print("CommandEnd :"); Serial.println(commandEnd); Serial.print("Actual Message :"); Serial.println(actualMessage); actualMessage.toCharArray(actualMessageArray,250);
Estamos haciendo el commandEnd y el comando de dos cadenas. Estos almacenan nuestras etiquetas. A continuación necesitamos hallar el índice de estas etiquetas. Para esto se utiliza indexOf() y devolverá -1 si la cadena no está presente. Así que tenemos que enviar el mensaje sólo si ambos los índices no son –1.Next es sola toCharArray(), esto es para la función de LCD. También la impresión de la serie es sólo para nuestra referencia. Puede quitar las líneas.
La parte desplazable es tomada del libro de cocina de arduino. Aquí está el enlace. Gracias por leer esto. Si te gusto este post compártelo con otros! Más proyectos y tutoriales visita mi blog.