Vous êtes sur la page 1sur 63

Herramientas Grficas de

Programacin para Arduino


27
Marzo
2012

Jos Manuel Ruiz Gutirrez

Ver.
1.0
Semana de la Robtica
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
Programacin Grfica Para
ARDUINO

Entornos Autnomos
(Programacin)

Sofware GNU
Minibloq
Ardubloq
Amici
Software Comercial
ModKit
VirtualBreadBoard

Entornos Esclavos
(Monitorizacin)

Otras Entornos
(Ayuda al desarrollo de prototipos)

Sofware GNU
Etoys (Squeak)
S4A (Scratch)
Software Comercial
Labview
Firefly (Rinho-Grashoper)
MyOpenLab

Fritzing

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Entornos Autnomos
(Programacin)
Sofware GNU
Minibloq
Ardubloq
Amici
Software Comercial
ModKit
VirtualBreadBoard

Son entornos que permiten la GENERACIN de


CODIGO para la tarjeta Arduino haciendo uso de
un Entorno Grfico que permite la
implementacin 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

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Minibloq + Arduino
http://blog.minibloq.org/

Minibloq es un entorno de programacin grfica para Arduino , Multiplo,


dispositivos fsicos informticos y robots. Una de sus principales objetivos es
llevar la computacin fsica y las plataformas robticas a la escuela primaria, los
nios y principiantes.

Caractersticas

Fcil
En tiempo real generador de cdigo
Tiempo real, la comprobacin de errores.
Drag & drop bsico con giro automtico.
Interfaz avanzada
Terminal incorporado
Todo-en-uno-listo-para-uso-solucin:
Portable
Rpido
Modular y ampliable

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Minibloq + Arduino

Biblioteca de Bloques de
funcin para La programacin

Amplio repertorio de hardware


Con el que se conecta Minibloq
Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Minibloq + Arduino
Una sencilla aplicacin: PIN 13 activado y desactivado cclicamente

Elaboracin del programa

Generacin de Cdigo

Montaje

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Minibloq + Arduino
Esta aplicacin 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
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Minibloq + Arduino
Control de velocidad de un motor de cc.

Lee el valor de una entrada


analgica de Arduino Sensor0 y
pasa ese valor al parmetro
Velocidad del bloque motor0

Listado del Programa


Generado

Montaje en protoboar del diseo

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Minibloq + Arduino

Termmetro digital

Define variable temp

Asocia la variable temp al valor ledo 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
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

IDE Arduino + Ardublock

http://blog.ardublock.com/

Ardublock es una utilidad grfica cuya misin es generar cdigo


compatible con el entorno IDE Arduino. Sus ventajas son:
1.
2.
3.
4.

Es una herramienta gratuita.


Facilita la creacin de sketch para Arduino.
Genera cdigo directamente.
Ofrece una coleccin de bloques funcionales muy bsicos que facilitan
la comprensin de la programacin.
5. Esta muy indicado para aplicarlo en niveles educativos bsicos en
donde el usuario no necesita tener conocimientos de programacin.
6. Es una aplicacin muy sencilla de instalar.
7. Es un plugin que el IDE Arduino reconoce e instala como Tool

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

IDE Arduino + Ardublock


Coleccin de libreras de Ardublok que
Implementan las funciones principales del leguaje de
programacin del IDE de Arduino

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

IDE Arduino + Ardublock


Activa PIN 13
Espera 1seg.

Desactiva PIN 13
Espera 1 seg.

Implementacin dentro
Del bloque loop

Deposita el cdigo en
el IDE Arduino

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

IDE Arduino + Ardublock

Termostato

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

IDE Arduino + Ardublock


Control de una Mquina Herramienta

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Amici + Arduino

http://www.dimeb.de/

Amici ha sido desarrollado por investigadores de DIMEB (Digitale


los medios de comunicacin en la Educacin) de la Universidad de
Bremen, como parte de la EduWear proyecto europeo. El software
ha utilizado en ms de 25 talleres por nios y jvenes.
El entorno se suministra unido a una versin completa del IDE de
programacin de Arduino, lo cual permite sin tener que cargar
ningn firmware ni aplicacin alguna, realizar el programa en un
entorno grafico y directamente se genera le cdigo a la vez que se
abre la aplicacin IDE Arduino y desde ella se descarga la aplicacin
en la tarjeta Arduino.

Amici es uno de los primeros entornos que se crearon para programar


Arduino generando cdigo
Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Amici + Arduino

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Amici + Arduino
Cdigo generado a partir del diagrama

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

http://www.modk.it/
Modkit es un entorno de programacin para microcontroladores:
Modkit le permite programar Arduino y hardware compatible con simples
bloques grficos y/o cdigo de texto tradicional.

El entorno de Bloques Grficos de Modkit est inspirado en el scratch


entorno de programacin 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 caractersticas adicionales antes
de su lanzamiento al pblico en general.

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

La mayora de los proyectos de microcontroladores de


comenzar la configuracin de su hardware y luego escribir
programas para que la configuracin de hardware. Con
Modkit, usted es capaz de configurar el hardware de forma
grfica.

Despus de configurar el hardware de grficos, Modkit hace


que la programacin tan simple como arrastrar y soltar los
bloques grficos de cdigo para crear programas
interactivos.

Editor de Modkit revolucionaria est basada en tecnologas web


estndar y se ejecuta en tu navegador. Slo tienes que descargar e
instalar nuestro widget de escritorio libre para programar sus
tarjetas.

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Uso de la Versin Gratuita

Si utilizamos el software en su versin gratuita tenemos restringida la generacin del de cdigo y la


utilizacin de componentes.
Es preceptivo descargarse previamente el Browser Editor que nos permitir realizar este trabajo de
diseo y descarga de la aplicacin

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Uso de la Versin Club Alpha (pagando)

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Etapas de trabajo:
1. Seleccionamos el hardware
2. Configuramos las E/S
3. Confeccionamos el algoritmo con los
bloque de la librera: Setup, Output,
Input, Operadores, Control y Variables.
4. Descargamos la aplicacin en la tarjeta
Arduino.

Si utilizamos el software en su versin


gratuita tenemos restringida la generacin
del de cdigo y la utilizacin de
componentes.
Es preceptivo descargarse previamente el
Browser Editor que nos permitir realizar
este trabajo de diseo y descarga de la
aplicacin

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Entornos Esclavos
(Monitorizacin)
Sofware GNU
Etoys (Squeak)
S4A (Scratch)
Software Comercial
Labview
Firefly (Rinho-Grashoper)
MyOpenLab

Son entornos que permiten el intercambio de


Informacin con la Tarjeta Arduino ofreciendo un
Instrumento Grfico que facilita la interaccin.
Previamente hay que tener cargado en Arduino
un firmware que sea el que ponga en modo
transparente el acceso a las E/S.

Su utilizacin es fundamentalmente de carcter


didctico facilitan y potencian el aprendizaje de la
Programacin Grafica mediante Algoritmos
implementados a base de bloques Funcionales
que forman parte de libreras.
El uso de la tarjeta Arduino es siempre On-line
con el computador

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

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 programacin
visual que une el mundo virtual de las computadoras con
el mundo fsico. Con el entorno se pueden programar
fcilmente los objetos del mundo real (por ejemplo, robots)
para realizar tareas de inters, o se pueden mover objetos
grficos en la pantalla a travs de variables recogidas del
mundo fsico.

Grupo de Investigacin en Robtica Autnoma del CAETI

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

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Physical Etoys (Basado en Squeak)

La elaboracin de una aplicacin resulta Muy sencilla, basta con


colocar el objeto Arduino en el rea de trabajo y configurarlo
para despus aadir los elementos Sensores y/o Receptores a las
E/S que correspondan designndoles una funcionalidad de acuerdo
con los parmetros que elijamos . Es un entorno muy sencillo
apropiado para la enseanza

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Physical Etoys (Basado en Squeak)


Librera de Elementos
Conectables a la tarjeta
Arduino

Caractersticas configurables
de La tarjeta ARDUINO
El driver de comunicacin entre el entorno y la tarjeta se carga de
manera automtica cuando el software detecta que no esta cargado,
previamente debemos indicar la versin de Hardware instalado (Tipo
de tarjeta Arduino) y el COM por el que nos comunicaremos

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

S4A

(Scratch) + Arduino

http://seaside.citilab.eu/scratch/arduino
Es un proyecto de Citilab

S4A ha sido desarrollado por Marina Conde, Vctor Casado, Joan


Gell, Jos Garca y Jordi Delgado con la ayuda del Grupo de
Programacin Smalltalk del Citilab y de colaboradores como Jorge
Gmez, formador en el Centro de Formacin 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 ms


conocidos y poderoso entornos de
programacin grafica que se ha
desarrollado en el MIT escrito en
lenguaje Smalltalk
Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

S4A

(Scratch) + Arduino
Funciones de
Control sobre
ARDUINO

ENTRADAS/SALIDAS
salidas digitales (pines digitales 10,11 y 13)
salidas analgicas (pines digitales 5, 6 y 9)
entradas analgicas (todos los pines analgicos de entrada)
entradas digitales (pines digitales 2 y 3)
servomotores RC (pines digitales 4, 7, 8 y 12)

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

(Scratch) + Arduino

S4A
Elaboracin del Programa

Pantalla de Visualizacin

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

Visualiza valores
Bucle de Ejecucin

El LED se enciende y apaga cada 1 seg.


Montaje
Prctico

Jos Manuel Ruiz Gutirrez

S4A

(Scratch) + Arduino

Objeto de
Programa

Programa Asociado al Objeto de Programa LED


Control del tiempo de envo de destello al LED

Jos Manuel Ruiz Gutirrez

(Scratch) + Arduino

S4A
SEMFORO
Rojo
mbar
Verde

Pin13
PIN 10
PIN 10

Rojo

Ambar

Verde

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

S4A

(Scratch) + Arduino

SEMFORO

Escenario con imagen


y disfraces

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

S4A

(Scratch) + Arduino

DOMTICA
Objeto Lmpara

Objeto Estufa

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

S4A

(Scratch) + Arduino

DOMTICA

Lee valor temperatura Analog1


Lee valor luz Analog0

Activa/desactiva Luz en funcin


de valor ledo de luz y consigna

Activa/desactiva Radiador en funcin


de valor ledo de temperatura y consigna

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

S4A

(Scratch) + Arduino

DOMTICA

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

S4A

(Scratch) + Arduino

DOMTICA

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ Labview

La conexin 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 instrumentacin en as que la tarjeta Arduino juega el
papel de un sencillo y verstil equipo de adquisicin de
datos a un costo muy bajo.

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ Labview

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ Labview

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

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 tecnologa (principalmente electrnica y
robtica).
ArduLab no es un entorno de programacin, es un Laboratorio Virtual de
Experimentacin que permite al usuario, aprender, probar y conocer como
paso previo a la programacin de sistemas, con sensores y actuadores,
basados en Arduino.

ArduLab es un desarrollo del Grupo Avanzado del Aula de Robtica


Complubot mediante LabVIEW 2010.
ArduLab se puede conseguir desde la pgina 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
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Configuracin de E/S

Lectura de seales Analgicas

Visualizacin y Gobierno de E/S Digitales

Gobierno de salidas Analgicas PWM


Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Configuracin de E/S

Experimentacin tratamiento de medidas

Programacin de secuencias de
gobierno de Salidas Digitales

Experimentacin con Controlador


Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Piano

Mezcla de colores

Pizarra para dibujar

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Rhino+Grasshoper+Firefly+Arduino

Arduino + Rhino
Es posible conectar Arduino al poderoso entorno grfico Rinho a
travs del conocido plugin Grasshopper que es un entorno grfico
muy verstil y fcil de utilizar que se utiliza para la programacin de
eventos y gobierno de imgenes de Rinho.

Firefly

Una de las libreras de Grasshoper se llama


y esta
pensada para interactuar con Arduino en el gobierno de las E/S tanto
analgicas como digitales de la plataforma Arduino.

http://www.fireflyexperiments.com/download/

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino + Rhino
Salida intermitente en el PIN 13 de Arduino

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino + Rhino

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ MyOpenLab
http://es.myopenlab.de

MyOpenlab es un entorno orientado a la


simulacin y modelado de sistemas fsicos,
electrnicos, robticos y de control con un
amplio campo de aplicaciones didcticas.

Jos Manuel Ruiz Gutirrez

Arduino

+ MyOpenLab
http://es.myopenlab.de/

CARACTERSTICAS
Facilidad de uso
Amplia biblioteca de funciones analgicas y digitales.
Potente biblioteca de objetos grficos de visualizacin y/o actuacin
Tratamiento de los tipos de datos y operaciones con estos.
Realizacin de las aplicaciones mediante el uso de bloques de funcin
Posibilidad de ampliacin de su librera de componentes, editndolos en cdigo JAVA
Posibilidad de creacin de "submodelos de panel" y "submodelos de circuito" encapsulados.
Algunas libreras que incorpora MyOpenlab:

Libreras de Elementos Funcionales


(Panel Circuito)

Libreras de Elementos de Decoracion,


Visualizacin y Actuacin (Panel Frontal)

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

En el panel de Circuito se construye la


aplicacin Haciendo uso de loa librera de
bloques de funcin

+ MyOpenLab

En el panel Frontal se colocan los elementos


de visualizacin y actuacin o las imgenes
que formen parte del fondo.

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ MyOpenLab
Arduino forma parte de la
librera Interfaces de
MyOpenlab

Esta es la designacin de E/S que dispone el Driver de


comunicacin 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 Analgicas: Pines Analog In 0,1,2,3,4 y 5

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ MyOpenLab

Instalacin DOMOTICA

Montaje del prototipo

Elaboracin del Algoritmo de la aplicacin (panel Circuito )

Pantalla de visualizacin
de MyOpenLab
Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ MyOpenLab

Termostato

Pantalla de visualizacin de MyOpenLab

Elaboracin del Algoritmo de la


aplicacin (panel Circuito )
Montaje del prototipo

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Arduino

+ MyOpenLab
Realizacin 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
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Otras Entornos
(Ayuda al desarrollo de prototipos)

Fritzing

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Fritzing

http://fritzing.org/welcome/

Fritzing es una iniciativa de cdigo abierto para apoyar a los diseadores,


artistas, investigadores y aficionados para facilitar la elaboracin de los
prototipos fsicos al producto real.
La utilizacin de Fritzing en el laboratorio de prototipado es realmente muy
vlida. Podemos enumerar las ventajas:
1. Facilidad de utilizacin de la herramienta
2. Compendio lgico de la secuencia de trabajo en el diseo de prototipos.
3. Posibilidades de exportacin del diseo en formatos compatibles con las
mquinas de elaboracin de tarjetas de circuito impreso.
4. Posibilidad de aadir nuevos elementos en la librera 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.Elaboracin del circuito con la ayuda de la Protoboard
2.Generacin automtica y edicin, si procede, del esquema elctrico
3.Generacin y edicin , si procede, de la PCB
Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Fritzing
http://fritzing.org/

Libreras de componentes

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Fritzing

1
Elaboramos el prototipo con
la ayuda de la Protoboard y
los componentes de la
librera

2
Obtenemos el Esquema
Elctrico

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Fritzing

3
Elaboramos de manera
Automtica/Manual la
tarjeta de componentes de
nuestro prototipo

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

VirtualBread Boared
VirtualBreadboard es un entorno de simulacin
y desarrollo de aplicaciones integradas que
utilizan los microcontroladores. Es fcil de usar
y puede sustituir a un protoboard para
experimentar con nuevos diseos.

http://www.virtualbreadboard.com/

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

VirtualBread Boared
Permite disear el prototipo en la Protobaord virtual
1.
2.
3.
4.

Realizar la PCB del diseo


Importar sketches de Arduino
Trabajar con distintas PICs
Descargar sobre Arduino la aplicacin

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Gracias

termin!!
Contacto:
j.m.r.gutirrez@gmail.com
http://josemanuelruizgutierrez.blogspot.com.es/

Jos Manuel
Gutirrez
Jos ManuelRuiz
Ruiz Gutirrez

Vous aimerez peut-être aussi