Entornnos Graficos Con Arduino
-
Upload
emilio-alberto-oropeza-zurita -
Category
Documents
-
view
55 -
download
0
description
Transcript of Entornnos Graficos Con Arduino
27
Marzo
2012
Ver. 1.0
Herramientas Gráficas de
Programación para Arduino
José Manuel Ruiz Gutiérrez
Semana de la Robótica
Alcabot - Hispabot 2012
MENU DE HERRAMIENTAS
Minibloq
Ardubloq
Amici
Modkit
Physical Etoys
S4A (Scratch)
Labview
Ardulab
MyOpenLab
Rinho+Firefly VirtualBreadBoard
Fritzing
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Tipos de entornos de Programación Gráfica Para
ARDUINO
Entornos Esclavos (Monitorización)
Entornos Autónomos (Programación)
Otras Entornos (Ayuda al desarrollo de prototipos)
Sofware GNU Etoys (Squeak) S4A (Scratch) Software Comercial Labview Firefly (Rinho-Grashoper) MyOpenLab
Sofware GNU Minibloq Ardubloq Amici Software Comercial ModKit VirtualBreadBoard
Fritzing
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Minibloq + Arduino
Una sencilla aplicación: PIN 13 activado y desactivado cíclicamente
Elaboración del programa Generación de Código Montaje
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Control de velocidad de un motor de cc.
Minibloq + Arduino
Lee el valor de una entrada
analógica de Arduino Sensor0 y
pasa ese valor al parámetro
Velocidad del bloque motor0
Montaje en protoboar del diseño
Listado del Programa
Generado
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
IDE Arduino + Ardublock
Implementación dentro
Del bloque “loop”
Activa PIN 13
Espera 1seg.
Desactiva PIN 13
Espera 1 seg.
Deposita el código en
el IDE Arduino
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
IDE Arduino + Ardublock
Termostato
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
IDE Arduino + Ardublock Control de una Máquina Herramienta
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Amici + Arduino
Amici es uno de los primeros entornos que se crearon para programar
Arduino generando código
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.
http://www.dimeb.de/
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Amici + Arduino
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Amici + Arduino
Código generado a partir del diagrama
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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.
http://www.modk.it/
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Uso de la Versión Club Alpha (pagando)
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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
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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
http://tecnodacta.com.ar/gira/projects/physical-etoys/
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 (Basado en Squeak)
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
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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)
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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
Physical Etoys (Basado en Squeak)
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
S4A (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
http://seaside.citilab.eu/scratch/arduino
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
S4A (Scratch) + 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)
Funciones de
Control sobre
ARDUINO
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
S4A (Scratch) + Arduino
Elaboración del Programa Pantalla de Visualización
Montaje
Práctico
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.
José Manuel Ruiz Gutiérrez 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 José Manuel Ruiz Gutiérrez
S4A (Scratch) + Arduino
Rojo
Ambar
Verde
Rojo Pin13
Ámbar PIN 10
Verde PIN 10
SEMÁFORO
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
S4A (Scratch) + Arduino
Escenario con imagen
y disfraces
SEMÁFORO
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
S4A (Scratch) + Arduino
DOMÓTICA
Objeto Lámpara
Objeto Estufa
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
S4A (Scratch) + Arduino
DOMÓTICA
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
S4A (Scratch) + Arduino
DOMÓTICA
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + Labview
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + Labview
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Configuración de E/S Visualización y Gobierno de E/S Digitales
Lectura de señales Analógicas Gobierno de salidas Analógicas PWM
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez Experimentación tratamiento de medidas
Programación de secuencias de
gobierno de Salidas Digitales Configuración de E/S
Experimentación con Controlador
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Piano Mezcla de colores
Pizarra para dibujar
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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.
Rhino+Grasshoper+Firefly+Arduino
Rhino+Grasshoper+Firefly+Arduino
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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + Rhino
Salida intermitente en el PIN 13 de Arduino
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + Rhino
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + MyOpenLab
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
(Panel Circuito) Librerías de Elementos de Decoracion,
Visualización y Actuación (Panel Frontal)
http://es.myopenlab.de/
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + MyOpenLab
En el panel de Circuito se construye la
aplicación Haciendo uso de loa librería de
bloques de función
En el panel Frontal se colocan los elementos
de visualización y actuación o las imágenes
que formen parte del fondo.
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + MyOpenLab
Instalación DOMOTICA
Montaje del prototipo
Pantalla de visualización
de MyOpenLab
Elaboración del Algoritmo de la aplicación (panel Circuito )
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Arduino + MyOpenLab
Termostato
Elaboración del Algoritmo de la
aplicación (panel Circuito )
Montaje del prototipo
Pantalla de visualización de MyOpenLab
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Otras Entornos
(Ayuda al desarrollo de prototipos)
Fritzing
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
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
Fritzing
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 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.
http://fritzing.org/welcome/
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Fritzing
Librerías de componentes
http://fritzing.org/
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Fritzing
Elaboramos el prototipo con
la ayuda de la Protoboard y
los componentes de la
librería
1º
Obtenemos el Esquema
Eléctrico
2º
José Manuel Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
Fritzing
Elaboramos de manera
Automática/Manual la
tarjeta de componentes de
nuestro prototipo
3º
José Manuel Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel 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 Ruiz Gutiérrez José Manuel Ruiz Gutiérrez
¡¡Gracias…
Contacto:
j.m.r.gutié[email protected]
http://josemanuelruizgutierrez.blogspot.com.es/
… terminó!!