Paso 2: El código de Arduino
El código de Arduino para pfodUnoIRTempMenus.ino se incluye como uno de los ejemplos en la biblioteca de pfodIRTemp.zip . Así como la biblioteca de pfodIRTemp necesita descargar e instalar la biblioteca de pfodParser.
La imagen muestra lo simple que es el código del intérprete de comando. Cada comando que pfodapp Android envía a la pfodDevice de Arduino es una sola letra. Parser.parse(in) devuelve el valor 0 hasta que se recibe un mensaje de pfod completa, por ejemplo {s} cuando el cierre } es recibido el analizador devuelve el primer byte del comando, en este caso ' el código actúa entonces sobre ese comando. Ver pfod especificación para detalles y ejemplos de los mensajes disponibles.
La mayoría de los comandos utilizados en este instructable no tiene argumentos. Sin embargo, una orden, que establece el número de lecturas a ser promediadas volver un argumento, el índice del elemento seleccionado el usuario.
Cuando el usuario hace clic en "Establecer el número de lectura a ser un promedio", el pfodApp Android envía el comando asociado con este elemento de menú (la pfodDevice en un mensaje anterior le dijo a la pfodApp lo ordena fue con qué texto de menú). En este caso el pfodApp envía {n} el pfodApp no sabe lo que significa que el comando o lo que va a pasar solo espera el pfodDevice de Arduino responder. El código en tu Uno ver la n comando y envía de nuevo el mensaje a la pfodApp para mostrar una lista de selección simple con un conjunto particular de opciones (vea la pantalla de disparo) el mensaje enviado era
{? m 2 ~ establecer número de muestras a ser averaged| Readings| media 2 Promedio 4 Readings| Promedio 8 Readings| Promedio 16 Readings| Media 32 lecturas}
¿El? Dile la pfodApp esto es una pantalla de selección simple y la m es el comando que debe enviar a la selección de los usuarios. La 2 es la selección actual, el tercer elemento contando desde 0 y el resto del comando es las descripciones de texto para las opciones separadas por |
Cuando el usuario selecciona una opción y haga clic en el botón Enviar el pfodApp envía el comando y el índice de la opción.
Por ejemplo, el retorno podría ser {m|4} si el usuario ha seleccionado el tiempo 5 (el índice empieza en 0).
Las líneas de código
} else if (cmd == (byte) am') {}
byte * idxPtr = parser.getFirstArg(); analizar 1 arg como un número
largo longResult;
parser.parseLong (idxPtr & longResult); solo arg
extraer el índice de retorno con el soy ' comando. Este índice se utiliza luego para definir el número de lectura en un promedio de.
Como se puede ver es fácil de modificar los menús y opciones que se presentan a los usuarios. Todos son controlados por el código de Arduino. Cambios en el pfodApp código de Android no son necesarios.
Para otros proyectos controlados por el mismo pfodApp ver www.pfod.com.au