
¿Cómo controlar Arduino con Firmata? Por medio de Firmata podemos establecer una comunicación de control con la placa Arduino. Tenemos que Firmata es uno de los protocolos genéricos con los que podemos intercambiar datos.
Esto es por medio de un software que ya hemos instalado en nuestro equipo de ordenador. Una de las ventajas de Firmata es que podemos prescindir de usar los códigos de programación que se suelen escribir con Arduino para establecer funciones y determinar configuraciones entre protocolo de comunicación de datos y el modelo de Arduino que estemos usando. Ahora bien, veamos cómo se controla Arduino de esta manera.
Primeros pasos para controlar con Firmata
Es necesario que descarguemos el programa de Firmata para poder realizar el proceso que deseamos. Es por ello que se tendrá que descargar el FIRMATA TEST PROGRAM. Ten en cuenta tu sistema operativo. Una vez que tengas el programa instalado, inicia, lo que sigue es que cargues el sketch: “StandardFirmata”. Lo encontrarás en Arduino en los archivos, en la parte de los ejemplos, se selecciona Firmata.
Después de esto, cuando se muestren las opciones, es necesario comprobar que funciona correctamente, esto lo podrás hacer con hacer un pequeño test de encendido de LED o similar. Incluso, se podrán leer los valores de los pines análogos que hayan identificado.
Arduino y Firmata: librería
En la librería de Firmata podemos encontrar una serie de métodos con los que podemos contar a la hora de interactuar con Arduino, veamos de qué se trata:
- begin(long): con este podemos iniciar la librería. De hecho se puede determinar la velocidad de Firmata
- printVersion(: con este conoceremos la información del protocolo, que se envía directamente al ordenador.
- blinkVersion(): hace que el pin 13 (generalmente) pueda parpadear.
- printFirmwareVersion(): por medio de este, se envía la información firmware al ordenador.
- setFirmwareVersion(byte major, byte minor): con este se tiene acceso a la configuración de la versión del firmware que se esté usando.
Desde luego que hay otros más con los que se podrá establecer control con el Arduino, tomando en cuenta que, la librería se encuentra actualizándose. En la web podremos encontrar varias versiones de la librería que podemos descargar.
En caso de enviar datos o mensajes
Veamos algunas de las opciones con las que podemos enviar mensajes: se trata de opciones como recibir el valor de un puerto de 8 bits, e incluso recibir el valor de un pin análogo. Veamos con más detalle:
- sendString(const char* string): en caso que se quiera mandar un string al ordenador
- sendSysex(byte command, byte bytec, byte* bytev): en caso que se quiera mandar un comando con array de bytes
- rite(byte c): en caso de querer mandar al stream de datos un byte. Esto por mencionar algunos.
En caso de recibir mensajes
Como hemos visto en el párrafo anterior, estos códigos nos permiten realizar ciertos procesos con el protocolo de comunicación. En cuanto a recibir mensajes, se podrá determinar el registro de un tipo de mensaje o comprobar si hay mensajes entrantes.