Está en la página 1de 63

Herramientas Gráficas de

Programación para Arduino

27 José Manuel Ruiz Gutiérrez


Marzo
2012

Ver.
1.0

Semana de la Robótica
Alcabot - Hispabot 2012
MENU DE HERRAMIENTAS

Minibloq Physical Etoys


Ardubloq S4A (Scratch)

Amici Labview
Modkit Ardulab

VirtualBreadBoard Rinho+Firefly

Fritzing MyOpenLab
Tipos de entornos de
Programación Gráfica Para
ARDUINO

Entornos Autónomos Entornos Esclavos Otras Entornos


(Programación) (Monitorización) (Ayuda al desarrollo de prototipos)

Sofware GNU Fritzing


Sofware GNU
Etoys (Squeak)
Minibloq
S4A (Scratch)
Ardubloq
Software Comercial
Amici
Labview
Software Comercial
Firefly (Rinho-Grashoper)
ModKit
MyOpenLab
VirtualBreadBoard

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Entornos Autónomos
(Programación)
Son entornos que permiten la GENERACIÓN de
CODIGO para la tarjeta Arduino haciendo uso de
Sofware GNU un Entorno Gráfico que permite la
implementación de los ALGORITMOS DE
Minibloq CONTROL, y el Manejo de las E/S de Arduino
Ardubloq
El uso de la tarjeta Arduino es en modo Off-line
Amici
Software Comercial
ModKit
VirtualBreadBoard

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Minibloq + Arduino

Biblioteca de Bloques de
función para La programación

Amplio repertorio de hardware


Con el que se conecta Minibloq
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Minibloq + Arduino
Una sencilla aplicación: PIN 13 activado y desactivado cíclicamente

Montaje
Elaboración del programa Generación de Código

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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”

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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


José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Minibloq + Arduino Termómetro digital
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

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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. Es una herramienta gratuita.


2. Facilita la creación de sketch para Arduino.
3. Genera código directamente.
4. 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
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
IDE Arduino + Ardublock
Colección de librerías de Ardublok que
Implementan las funciones principales del leguaje de
programación del IDE de Arduino

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
IDE Arduino + Ardublock
Termostato

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
IDE Arduino + Ardublock
Control de una Máquina Herramienta

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
http://www.dimeb.de/
Amici + Arduino
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
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Amici + Arduino

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Amici + Arduino

Código generado a partir del diagrama

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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.

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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.
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Uso de la Versión Club Alpha (pagando)

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Entornos Esclavos
(Monitorización)
Son entornos que permiten el intercambio de
Sofware GNU Información con la Tarjeta Arduino ofreciendo un
Instrumento Gráfico que facilita la interacción.
Etoys (Squeak)
S4A (Scratch) Previamente hay que tener cargado en Arduino
un “firmware” que sea el que ponga en modo
Software Comercial transparente el acceso a las E/S.

Labview Su utilización es fundamentalmente de carácter


didáctico facilitan y potencian el aprendizaje de la
Firefly (Rinho-Grashoper) Programación Grafica mediante Algoritmos
MyOpenLab implementados a base de bloques Funcionales
que forman parte de librerías.

El uso de la tarjeta Arduino es siempre On-line


con el computador

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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 interés, o se pueden mover objetos
gráficos en la pantalla a través de variables recogidas del
mundo físico.

Grupo de Investigación en Robótica Autónoma del CAETI


http://tecnodacta.com.ar/gira/projects/physical-etoys/

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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 esta cargado,
previamente debemos indicar la versión de Hardware instalado (Tipo
de tarjeta Arduino) y el COM por el que nos comunicaremos

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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: scratch@citilab.eu.

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
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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)

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
S4A (Scratch) + Arduino

Elaboración del Programa Pantalla de Visualización

Activa salida 13
Espera 1 seg.
Desactiva salida 13
Espera 1 seg.

Visualiza valores
Bucle de Ejecución

El LED se enciende y apaga cada 1 seg.

Montaje
Práctico

José Manuel Ruiz Gutiérrez


S4A (Scratch) + Arduino

Objeto de
Programa

Programa Asociado al Objeto de Programa LED

Control del tiempo de envío de destello al LED

José Manuel Ruiz Gutiérrez


S4A (Scratch) + Arduino
SEMÁFORO
Rojo Pin13
Ámbar PIN 10
Verde PIN 10

Rojo

Ambar

Verde

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
S4A (Scratch) + Arduino
SEMÁFORO

Escenario con imagen


y disfraces

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
S4A (Scratch) + Arduino
DOMÓTICA

Objeto Lámpara

Objeto Estufa

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
S4A (Scratch) + Arduino
DOMÓTICA

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
S4A (Scratch) + Arduino
DOMÓTICA

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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.

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Arduino + Labview

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Arduino + Labview

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
•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.
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Configuración de E/S Visualización y Gobierno de E/S Digitales

Gobierno de salidas Analógicas PWM


Lectura de señales Analógicas
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Configuración de E/S Programación de secuencias de
gobierno de Salidas Digitales

Experimentación tratamiento de medidas Experimentación con Controlador


José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Piano Mezcla de colores

Pizarra para dibujar José Manuel


José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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.

Una de las librerías de Grasshoper se llama Firefly 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/
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Arduino + Rhino

Salida intermitente en el PIN 13 de Arduino

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Arduino + Rhino

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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.

José Manuel Ruiz Gutiérrez


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 de los tipos de datos y operaciones con estos.
•Realización de las aplicaciones mediante el uso de bloques de función
•Posibilidad de ampliación de su librería de componentes, editándolos en código JAVA
•Posibilidad de creación de "submodelos de panel" y "submodelos de circuito" encapsulados.
•Algunas librerías que incorpora MyOpenlab:

Librerías de Elementos Funcionales Librerías de Elementos de Decoracion,


(Panel Circuito) Visualización y Actuación (Panel Frontal)

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Arduino + MyOpenLab

En el panel de Circuito se construye la En el panel Frontal se colocan los elementos


aplicación Haciendo uso de loa librería de de visualización y actuación o las imágenes
bloques de función que formen parte del fondo.

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Arduino + MyOpenLab
Instalación DOMOTICA

Montaje del prototipo

Elaboración del Algoritmo de la aplicación (panel Circuito )

Pantalla de visualización
de MyOpenLab
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Arduino + MyOpenLab

Termostato

Pantalla de visualización de MyOpenLab

Elaboración del Algoritmo de la


aplicación (panel Circuito )
Montaje del prototipo
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Otras Entornos
(Ayuda al desarrollo de prototipos)

Fritzing

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Fritzing
http://fritzing.org/

Librerías de componentes

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Fritzing


Elaboramos el prototipo con
la ayuda de la Protoboard y
los componentes de la
librería


Obtenemos el Esquema
Eléctrico

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
Fritzing


Elaboramos de manera
Automática/Manual la
tarjeta de componentes de
nuestro prototipo

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
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/
José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
VirtualBread Boared
Permite diseñar el prototipo en la Protobaord virtual

1. Realizar la PCB del diseño


2. Importar sketches de Arduino
3. Trabajar con distintas PICs
4. Descargar sobre Arduino la aplicación

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez
¡¡Gracias…

… terminó!!
Contacto:
j.m.r.gutiérrez@gmail.com
http://josemanuelruizgutierrez.blogspot.com.es/

José Manuel
José ManuelRuiz Gutiérrez
Ruiz Gutiérrez

También podría gustarte