Herramientas Gráficas de Programación para Arduino 27 Marzo 2012
José Manuel Ruiz Gutiérrez
Ver. 1.0
Semana de la Robótica Alcabot - Hispabot 2012
MENU DE HERRAMIENTAS
Minibloq
Physical Etoys
Ardubloq
S4A (Scratch)
Amici Modkit
Labview Ardulab
VirtualBreadBoard
Rinho+Firefly
Fritzing
MyOpenLab
Tipos de entornos de Programación Gráfica Para ARDUINO
Entornos Autónomos (Programación)
Sofware GNU Minibloq Ardubloq Amici Software Comercial ModKit VirtualBreadBoard
Entornos Esclavos (Monitorización)
Otras Entornos (Ayuda al desarrollo de prototipos)
Sofware GNU Etoys (Squeak) S4A (Scratch) Software Comercial Labview Firefly (Rinho-Grashoper) MyOpenLab
Fritzing
Entornos Autónomos (Programación) Sofware GNU
Minibloq Ardubloq Amici Software Comercial
ModKit VirtualBreadBoard
Son entornos que permiten la GENERACIÓN de CODIGO para la tarjeta Arduino haciendo uso de un Entorno Gráfico que permite la implementación de los ALGORITMOS DE CONTROL, y el Manejo de las E/S de Arduino El uso de la tarjeta Arduino es en modo Off-line
Minibloq + Arduino http://blog.minibloq.org/ Minibloq es un entorno de programación gráfica para Arduino ™, Multiplo,
dispositivos físicos informáticos y robots. Una de sus principales objetivos es llevar la computación física y las plataformas robóticas a la escuela primaria, los niños y principiantes. Características • • • • • • • • • •
Fácil En tiempo real generador de código Tiempo real, la comprobación de errores. Drag & drop básico con giro automático. Interfaz avanzada Terminal incorporado Todo-en-uno-listo-para-uso-solución: Portable Rápido Modular y ampliable
Minibloq + Arduino
Biblioteca de Bloques de función para La programación Amplio repertorio de hardware Con el que se conecta Minibloq
Minibloq + Arduino Una sencilla aplicación: PIN 13 activado y desactivado cíclicamente
Elaboración del programa
Generación de Código
Montaje
Minibloq + Arduino Esta aplicación permite contar los impulsos que entran por una de las entradas PIN 2 de Arduino y muestra el valor de cuenta en la ventana de “Terminal”
Minibloq + Arduino Control de velocidad de un motor de cc.
Lee el valor de una entrada analógica de Arduino Sensor0 y pasa ese valor al parámetro Velocidad del bloque motor0
Listado del Programa Generado Montaje en protoboar del diseño
Minibloq + Arduino Define variable “temp” Asocia la variable “temp” al valor leído en Sensor0 Compara “temp” es menor que 30 Activa Salida 10 Desactiva Salida 10 Compara “temp” es mayor que 30 y menor que 70
Activa Salida 11 Desactiva Salida 11
Compara “temp” es mayor que 70 Activa Salida 13 Desactiva Salida 13
Termómetro digital
IDE Arduino + Ardublock
http://blog.ardublock.com/
Ardublock es una utilidad gráfica cuya misión es generar código compatible con el entorno IDE Arduino. Sus ventajas son: 1. 2. 3. 4.
Es una herramienta gratuita. Facilita la creación de sketch para Arduino. Genera código directamente. Ofrece una colección de bloques funcionales muy básicos que facilitan la comprensión de la programación. 5. Esta muy indicado para aplicarlo en niveles educativos básicos en donde el usuario no necesita tener conocimientos de programación. 6. Es una aplicación muy sencilla de instalar. 7. Es un “plugin” que el IDE Arduino reconoce e instala como Tool
IDE Arduino + Ardublock Colección de librerías de Ardublok que Implementan las funciones principales del leguaje de programación del IDE de Arduino
IDE Arduino + Ardublock Activa PIN 13 Espera 1seg. Desactiva PIN 13 Espera 1 seg. Implementación dentro Del bloque “loop”
Deposita el código en el IDE Arduino
IDE Arduino + Ardublock
Termostato
IDE Arduino + Ardublock Control de una Máquina Herramienta
Amici + Arduino
http://www.dimeb.de/
Amici ha sido desarrollado por investigadores de DIMEB (Digitale los medios de comunicación en la Educación) de la Universidad de Bremen, como parte de la EduWear proyecto europeo. El software ha utilizado en más de 25 talleres por niños y jóvenes. El entorno se suministra unido a una versión completa del IDE de programación de Arduino, lo cual permite sin tener que cargar ningún firmware ni aplicación alguna, realizar el programa en un entorno grafico y directamente se genera le código a la vez que se abre la aplicación IDE Arduino y desde ella se descarga la aplicación en la tarjeta Arduino.
Amici es uno de los primeros entornos que se crearon para programar Arduino generando código
Amici + Arduino
Amici + Arduino Código generado a partir del diagrama
http://www.modk.it/ Modkit es un entorno de programación para microcontroladores: Modkit le permite programar Arduino y hardware compatible con simples bloques gráficos y/o código de texto tradicional. El entorno de Bloques Gráficos de Modkit está inspirado en el scratch entorno de programación desarrollado por el grupo Lifelong Kindergarten del Media Lab del MIT. Modkit se ejecuta en el navegador web y requiere de un widget de escritorio para comunicarse con la placa de desarrollo. Usted puede utilizar Modkit de forma gratuita o formar parte del Club de Alpha para apoyar Modkit y disfrutar de características adicionales antes de su lanzamiento al público en general.
La mayoría de los proyectos de microcontroladores de comenzar la configuración de su hardware y luego escribir programas para que la configuración de hardware. Con Modkit, usted es capaz de configurar el hardware de forma gráfica.
Después de configurar el hardware de gráficos, Modkit hace que la programación tan simple como arrastrar y soltar los bloques gráficos de código para crear programas interactivos.
Editor de Modkit revolucionaria está basada en tecnologías web estándar y se ejecuta en tu navegador. Sólo tienes que descargar e instalar nuestro widget de escritorio libre para programar sus tarjetas.
Uso de la Versión Gratuita
Si utilizamos el software en su versión gratuita tenemos restringida la generación del de código y la utilización de componentes. Es preceptivo descargarse previamente el Browser Editor que nos permitirá realizar este trabajo de diseño y descarga de la aplicación
Uso de la Versión Club Alpha (pagando)
Etapas de trabajo: 1. Seleccionamos el hardware 2. Configuramos las E/S 3. Confeccionamos el algoritmo con los bloque de la librería: Setup, Output, Input, Operadores, Control y Variables. 4. Descargamos la aplicación en la tarjeta Arduino.
Si utilizamos el software en su versión gratuita tenemos restringida la generación del de código y la utilización de componentes. Es preceptivo descargarse previamente el Browser Editor que nos permitirá realizar este trabajo de diseño y descarga de la aplicación
Entornos Esclavos (Monitorización) Sofware GNU Etoys (Squeak) S4A (Scratch) Software Comercial Labview Firefly (Rinho-Grashoper) MyOpenLab
Son entornos que permiten el intercambio de Información con la Tarjeta Arduino ofreciendo un Instrumento Gráfico que facilita la interacción. Previamente hay que tener cargado en Arduino un “firmware” que sea el que ponga en modo transparente el acceso a las E/S. Su utilización es fundamentalmente de carácter didáctico facilitan y potencian el aprendizaje de la Programación Grafica mediante Algoritmos
Physical Etoys (Basado en Squeak) Interfaces con las que se comunica 1. Arduino. 2.Nintendo Wiimote. 3.Puerto paralelo. 4.RoboSapien v2. 5.Roboquad. 6.I-Sobot. 7.Lego Mindstorms Nxt. Physical Etoys es una herramienta de programación visual que une el mundo virtual de las computadoras con el mundo físico. Con el entorno se pueden programar fácilmente los objetos del mundo real (por ejemplo, robots) para realizar tareas de ia9r6.864.98255.6 Tm [(qu)534(me65.47 Tm 0
http://tecnodacta.com.ar/gira/projects/physical-etoys/
Physical Etoys (Basado en Squeak)
La elaboración de una aplicación resulta Muy sencilla, basta con colocar el objeto “ Arduino” en el área de trabajo y configurarlo para después añadir los elementos Sensores y/o Receptores a las E/S que correspondan designándoles una funcionalidad de acuerdo con los parámetros que elijamos . Es un entorno muy sencillo apropiado para la enseñanza
Physical Etoys (Basado en Squeak) Librería de Elementos Conectables a la tarjeta Arduino
Características configurables de La tarjeta ARDUINO El driver de comunicación entre el entorno y la tarjeta se carga de manera automática cuando el software detecta que no e sta cargado, previamente debemos indicar la versión de Hardware instalado (Tipo de tarjeta Arduino) y el COM por el que nos comunicaremos
S4A
(Scratch) + Arduino
http://seaside.citilab.eu/scratch/arduino Es un proyecto de Citilab
S4A ha sido desarrollado por Marina Conde, Víctor Casado, Joan Güell, José García y Jordi Delgado con la ayuda del Grupo de Programación Smalltalk del Citilab y de colaboradores como Jorge Gómez, formador en el Centro de Formación Padre Piquer de Madrid. E-mail:
[email protected].
Esta herramienta tiene el aval de estar realizada en el entorno Scratch que es un de los más conocidos y poderoso entornos de programación grafica que se ha desarrollado en el MIT escrito en lenguaje Smalltalk
S4A
(Scratch) + Arduino Funciones de Control sobre ARDUINO
ENTRADAS/SALIDAS
•salidas digitales (pines digitales 10,11 y 13) •salidas analógicas (pines digitales 5, 6 y 9) •entradas analógicas (todos los pines analógicos de entrada) •entradas digitales (pines digitales 2 y 3) •servomotores RC (pines digitales 4, 7, 8 y 12)
S4A Elaboración del Programa
(Scratch) + Arduino Pantalla de Visualización
Montaje Práctico
S4A
(Scratch) + Arduino
Objeto de Programa
Programa Asociado al Objeto de Programa LED Control del tiempo de envío de destello al LED
(Scratch) + Arduino
S4A SEMÁFORO
Rojo Pin13 Ámbar PIN 10 Verde PIN 10
Rojo
Ambar
Verde
S4A
(Scratch) + Arduino
SEMÁFORO Escenario con imagen y disfraces
S4A DOMÓTICA Objeto Lámpara
Objeto Estufa
(Scratch) + Arduino
S4A
(Scratch) + Arduino
DOMÓTICA
Lee valor temperatura Analog1 Lee valor luz Analog0
Activa/desactiva Luz en función de valor leído de luz y consigna
Activa/desactiva Radiador en función de valor leído de temperatura y consigna
S4A DOMÓTICA
(Scratch) + Arduino
S4A DOMÓTICA
(Scratch) + Arduino
Arduino
+ Labview
La conexión que actualmente ofrece Labview es en modo esclavo. Solo es posible visualizar y realizar control de las E/S de arduino den modo esclavo. Esta forma de trabajo, por tratarse de Labview, es interesante para usarla en el prototipado de aplicaciones de instrumentación en as que la tarjeta Arduino juega el papel de un sencillo y versátil equipo de adquisición de datos a un costo muy bajo.
Arduino
+ Labview
Arduino
+ Labview
•ArduLab es un entorno de trabajo que permite interactuar con una placa
Arduino (Diecimila o Duemilanove) para crear un labaratorio virtual. •Mediante ArduLab podemos realizar una serie de actividades y
experimentos orientados principalmente al aprendizaje de conceptos sencillos relacionados con la tecnología (principalmente electrónica y robótica). •ArduLab no es un entorno de programación, es un Laboratorio Virtual de
Experimentación que permite al usuario, aprender, probar y conocer como paso previo a la programación de sistemas, con sensores y actuadores, basados en Arduino. •ArduLab es un desarrollo del Grupo Avanzado del Aula de Robótica
Complubot mediante LabVIEW 2010. •ArduLab se puede conseguir desde la página de descargas. •ArduLab se ditribuye bajo licencia freeware, esto es, programa
completamente gratuito con acceso a toda su funcionalidad y por tiempo ilimitado.
Configuración de E/S
Lectura de señales Analógicas
Visualización y Gobierno de E/S Digitales
Gobierno de salidas Analógicas PWM
Configuración de E/S
Experimentación tratamiento de medidas
Programación de secuencias de gobierno de Salidas Digitales
Experimentación con Controlador
Piano
Mezcla de colores
Rhino+Grasshoper+Firefly+Arduino
Arduino + Rhino
Es posible conectar Arduino al poderoso entorno gráfico Rinho a través del conocido plugin Grasshopper que es un entorno gráfico muy versátil y fácil de utilizar que se utiliza para la programación de eventos y gobierno de imágenes de Rinho.
Firefly
Una de las librerías de Grasshoper se llama y esta pensada para interactuar con Arduino en el gobierno de las E/S tanto analógicas como digitales de la plataforma Arduino.
http://www.fireflyexperiments.com/download/
Arduino + Rhino Salida intermitente en el PIN 13 de Arduino
Arduino + Rhino
Arduino
+ MyOpenLab http://es.myopenlab.de
MyOpenlab es un entorno orientado a la simulación y modelado de sistemas físicos, electrónicos, robóticos y de control con un amplio campo de aplicaciones didácticas.
Arduino
+ MyOpenLab http://es.myopenlab.de/
CARACTERÍSTICAS •Facilidad de uso •Amplia biblioteca de funciones analógicas y digitales. •Potente biblioteca de objetos gráficos de visualización y/o actuación Tratamiento iento de los tipos de datos y operaciones con estos. •Tratam •Realización de las aplicaciones mediante el uso de bloques de función JAVA •Posibilidad de ampliación de su librería de componentes, editándolos en código JAV •Posibilidad de creación de "submodelos de panel" y "submodelos de circuito" encapsulados. •Algunas librerías que incorpora MyOpenlab:
Librerías de Elementos Funcionales (Panel Circuito)
Librerías de Elementos de Decoracion, Visualización Vi sualización y Actuación (Panel Frontal)
Arduino
En el panel de Circuito se construye la aplicación Haciendo uso de loa librería de bloques de función
+ MyOpenLab
En el panel Frontal se colocan los elementos de visualización y actuación o las imágenes que formen parte del fondo.
Arduino
+ MyOpenLab Arduino forma parte de la librería Interfaces de MyOpenlab
Esta es la designación de E/S que dispone el Driver de comunicación de Arduino UNO con MyOpenlab: Entradas Digitales: Pines 2,3,4,5,6y 7 Salidas Digitales: Pines 8,9,10,11,12 y 13 Entradas Analógicas: Pines Analog In 0,1,2,3,4 y 5
Arduino
+ MyOpenLab
Instalación DOMOTICA
Montaje del prototipo
Elaboración del Algoritmo de la aplicación (panel Circuito )
Pantalla de visualización de MyOpenLab
Arduino
+ MyOpenLab
Termostato
Pantalla de visualización de MyOpenLab
Elaboración del Algoritmo de la aplicación (panel Circuito ) Montaje del prototipo
Arduino
+ MyOpenLab Realización de un DATA LOGER con la ayuda de Arduino y MyOpenLab
Es posible generar fichero de texto compatibles con Excel con los datos recogidos
Otras Entornos (Ayuda al desarrollo de prototipos)
Fritzing
Fritzing
http://fritzing.org/welcome/
Fritzing es una iniciativa de código abierto para apoyar a los diseñadores, artistas, investigadores y aficionados para facilitar la elaboración de los prototipos físicos al producto real. La utilización de Fritzing en el “laboratorio de prototipado” es realmente muy válida. Podemos enumerar las ventajas: 1. Facilidad de utilización de la herramienta 2. Compendio lógico de la secuencia de trabajo en el diseño de prototipos. 3. Posibilidades de exportación del diseño en formatos compatibles con las máquinas de elaboración de tarjetas de circuito impreso. 4. Posibilidad de añadir nuevos elementos en la librería de componentes 5. Es una herramienta con un respaldo documental y de ejemplos muy potente
Las fases en el desarrollo de un proyecto son tres: 1.Elaboración del circuito con la ayuda de la Protoboard 2.Generación automática y edición, si procede, del esquema eléctrico 3.Generación y edición , si procede, de la PCB
Fritzing http://fritzing.org/
Librerías de componentes
Fritzing
1º Elaboramos el prototipo con la ayuda de la Protoboard y los componentes de la librería
2º Obtenemos el Esquema Eléctrico
Fritzing
3º Elaboramos de manera Automática/Manual la tarjeta de componentes de nuestro prototipo
VirtualBread Boared VirtualBreadboard es un entorno de simulación y desarrollo de aplicaciones integradas que utilizan los microcontroladores. Es fácil de usar y puede sustituir a un protoboard para experimentar con nuevos diseños.
http://www.virtualbreadboard.com/
VirtualBread Boared Permite diseñar el prototipo en la Protobaord virtual 1. 2. 3. 4.
Realizar la PCB del diseño Importar sketches de Arduino Trabajar con distintas PICs Descargar sobre Arduino la aplicación