Anda di halaman 1dari 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
Ardubloq Amici

Physical Etoys

S4A (Scratch)
Labview Ardulab Rinho+Firefly

Modkit
VirtualBreadBoard Fritzing

MyOpenLab

Tipos de entornos de Programacin Grfica Para ARDUINO

Entornos Autnomos (Programacin)

Entornos Esclavos (Monitorizacin)

Otras Entornos (Ayuda al desarrollo de prototipos)

Sofware GNU Minibloq Ardubloq Amici Software Comercial ModKit VirtualBreadBoard

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

Fritzing

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Minibloq + Arduino

Biblioteca de Bloques de funcin para La programacin

Amplio repertorio de hardware Con el que se conecta Minibloq Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

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

Elaboracin del programa

Generacin de Cdigo

Montaje

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Minibloq + Arduino
Define variable temp

Termmetro digital

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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

IDE Arduino + Ardublock

Termostato

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

IDE Arduino + Ardublock


Control de una Mquina Herramienta

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Amici + Arduino
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.

http://www.dimeb.de/

Amici es uno de los primeros entornos que se crearon para programar Arduino generando cdigo Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Amici + Arduino

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Amici + Arduino
Cdigo generado a partir del diagrama

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Uso de la Versin Club Alpha (pagando)

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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

Jos Manuel RuizGutirrez Jos Manuel 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 ia9r6.864.98 255.6 Tm[(qu)534(me65.47 Tm0

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

tsys

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

S4A
Elaboracin del Programa

(Scratch) + Arduino
Pantalla de Visualizacin

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

S4A
SEMFORO
Rojo mbar Verde

(Scratch) + Arduino
Pin13 PIN 10 PIN 10

Rojo

Ambar

Verde

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

S4A
SEMFORO

(Scratch) + Arduino

Escenario con imagen y disfraces

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

S4A
DOMTICA
Objeto Lmpara

(Scratch) + Arduino

Objeto Estufa

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

S4A
DOMTICA

(Scratch) + Arduino

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 RuizGutirrez Jos Manuel Ruiz Gutirrez

S4A
DOMTICA

(Scratch) + Arduino

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

S4A
DOMTICA

(Scratch) + Arduino

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Arduino

+ Labview

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Arduino

+ Labview

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Configuracin de E/S

Visualizacin y Gobierno de E/S Digitales

Lectura de seales Analgicas

Gobierno de salidas Analgicas PWM Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Configuracin de E/S

Programacin de secuencias de gobierno de Salidas Digitales

Experimentacin tratamiento de medidas

Experimentacin con Controlador Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Piano

Mezcla de colores

Pizarra para dibujar

Jos Manuel RuizGutirrez Jos Manuel 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. 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.

Firefly

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

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Arduino + Rhino
Salida intermitente en el PIN 13 de Arduino

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Arduino + Rhino

Jos Manuel RuizGutirrez Jos Manuel 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
CARACTERSTICAS

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

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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Arduino

+ MyOpenLab

En el panel de Circuito se construye la aplicacin Haciendo uso de loa librera de bloques de funcin

En el panel Frontal se colocan los elementos de visualizacin y actuacin o las imgenes que formen parte del fondo.

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Arduino
Instalacin DOMOTICA

+ MyOpenLab

Montaje del prototipo

Elaboracin del Algoritmo de la aplicacin (panel Circuito )

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

Arduino

+ MyOpenLab

Termostato

Pantalla de visualizacin de MyOpenLab

Elaboracin del Algoritmo de la aplicacin (panel Circuito ) Montaje del prototipo

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Otras Entornos (Ayuda al desarrollo de prototipos)

Fritzing

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Fritzing
http://fritzing.org/

Libreras de componentes

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Fritzing

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

Jos Manuel RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel 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 RuizGutirrez Jos Manuel Ruiz Gutirrez

Gracias

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

Jos Manuel RuizGutirrez Jos Manuel Ruiz Gutirrez

Anda mungkin juga menyukai