Myopenlab y Firmata para Arduino
Myopenlab y Firmata para Arduino
MyOpenLab + Firmata
Es posible comunicar MyOpenLab con Arduino a través de la librería Firmata de
gestión de comunicaciones. Esta librería es muy popular y está plenamente
probada con excelentes resultados.
2
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Entrada Digital
Salida Digital
Salida PWM
Salida Servo
Entrada Analógica
Salida Analógica
3
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Para la designación de una salida PWM podemos colocar como parámetros los
valores de duración de los pulsos Min Pulse y Max Pulse
Este sería el diseño del Panel Frontal de la aplicación. Tal como se mostraría una
vez que nos pongamos en modo RUN.
4
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
5
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Para que MyOpenLab pueda comunicarse con Arduino debemos tenemos previamente
descargad en la tarjeta Arduino el firmware StandarFirmata que ser a el encargado de
gestionar la comunicación con MyOpenLab. En realidad , lo único que hace MyOpenLab
es leer y escribir datos en la tarjeta quedando el control de las E/S al firmware que hemos
grabado en ella.
6
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Una vez realizada la descarga podremos cerrar el IDE Arduino y abrir MyOpenLab.
Hay que mantener conectada la tarjeta Arduino al abrir MyOpenLab de lo contario
se ponemos la librería Firmata de Myopenlab en el Panel Circuito no reconocerá el
puerto de conexión.
7
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Entrada Analógica
Con este ejemplo vamos a realizar la lectura de un canal analógico de Arduino A0
(PIN14) y vamos a representar su valor con la ayuda de un objeto "trazador grafico" en
tiempo real.
Configuración de la conexión:
8
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
El trazador tiene tres entradas de control de tipo boolean: Start, Stop y Reset.
Es importante que configuremos los parametros del trazador ara hacer mas cómoda la
visualización.
9
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Para proceder a la ejecución pulsamos el botón "Arrancar VM" del entorno después de pulsar
el botón "Inicio" veremos cómo se muestra la gráfica de la señal procedente del canal A0 (PIN 14
de Arduino)
10
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Función AND
En el siguiente montaje vamos a ver cómo podemos implementar una función lógica desde
Arduino haciendo uso de la herramienta "FlowChart". La entradas A y B de la función se
tomaran de los pines A=PIN4 y B=PIN 7 de la tarjeta Arduino y la salida será S= PIN6.
Lo primero que haremos será configurar los pines mediante la pantalla de configuración del bloque
Firmata IO.
Utilizaremos la librería correspondiente de "Diagrama de flujo" de la que sacamos los bloques para
montar la aplicación.
El montaje del diagrama de flujo de la aplicación, como siempre comienza por la colocación de un
bloque "Start" activado permanentemente con un bloque de "Constante Binaria " dato
11
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Seguidamente se recogerán los valores "a" y "b" de las variables de entrada de PIN 4 y PIN7 con la
ayuda de los bloques de tipo "Leer" . La operación AND se realiza con un bloque de tipo
La obtención del resultado y su entrega a un indicador LED se realizará mediante un bloque del tipo
"Escribir" .
12
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Procederemos a etiquetar los elementos del "Panel Circuito" y los ubicamos en las posiciones que
nos interese.
13
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
Salida Intermitente
La siguiente aplicación es la más sencilla de todas y suele servir para probar que las
cosas funcionan. Se trata de encender y apagar la salida digital establecida en el pin
PIN 6.
14
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
En el Panel Frontal podremos una imagen de Arduino haciendo uso del objeto
Raster Imagen de la librería Decoración perteneciente al Panel Frontal. Pondremos
15
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
16
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
La variable salida me diente un bloque Recoge dato se lleva a la salida del PIN13
del bloque de librería de Arduino y a un Led para que sirve de indicar del estado de la
señal en la pantalla
15
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
16
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
17
MyOpenlab + Arduino-Firmata Prof. José Manuel Ruiz Gutiérrez
18