You are on page 1of 54

Por: Miguel Angel Aguilar Moreira

Ingeniero en Sistemas Computacionales


miguel.aguilar@itiguala.edu.mx

Tipos de entornos de Programacin Grfica


Entornos Autnomos

Entornos Esclavos

Otros Entornos

-Minibloq -Ardubloq -Amici

-ModKit VirtualBreadBoard

-Etoys (Squeak) -S4A (Scratch)

-Labview -Firefly (RinhoGrasshoper) MyOpenLab

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 Offline.

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 para que se ponga en modo transparente el acceso a las E/S. Programacin Grafica mediante Algoritmos

Ayudan al desarrollo de prototipos tales como circuitos digitales y emulaciones.

Es un entorno grafico de programacin enfocado al uso de algoritmos de bloques con el cual podemos crear condicionales o definir variables , crear loops y automatizar procesos, as tambin en conjunto con mltiplo realizaremos un entorno totalmente grafico de nuestra automatizacin. Ya que Mltiplo es un sistema constructivo de alta tecnologa.

Fcil Generador de cdigo Comprobacin de errores Drag & drop bsico con giro automtico. Interfaz avanzada Terminal incorporado Todo esta listo en una solucin: Portable Rpido Modular y ampliable

Algunas de las Bibliotecas para la Programacin de bloques

Plataformas con las que se puede conectar

#include "stdlib.h" #include "IRremote.h" #include "pitches.h" #include "Minibloq.h"

void setup() { initBoard(); while(true) { DigitalWrite(D10, false); DigitalWrite(D13_LED, true); delay(2000); DigitalWrite(D13_LED, false); DigitalWrite(D11, true); delay(1000); DigitalWrite(D11, false); DigitalWrite(D10, true); delay(2000); } } void loop() { }

Ardublock es una herramienta cuya misin es generar cdigo compatible con el entorno IDE Arduino mediante programacin en bloques funcionales que se distribuye con una applet de Java que se aade a las herramientas del IDE Arduino.

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. Es una aplicacin muy sencilla de instalar. Es muy sencillo de utilizar

int _ABVAR_1_; void setup() { pinMode( 1313 , OUTPUT); pinMode( 1 , OUTPUT); pinMode( 10 , INPUT); } void loop() { if (digitalRead( 10)) { for (_ABVAR_1_=0; _ABVAR_1_< ( 20 ); ++_ABVAR_1_ ) { digitalWrite( 1313 , HIGH ); delay( 1000 ); digitalWrite( 1 , LOW ); delay( 1000 ); } } }

Amici es un lenguaje de programacin visual que permite la programacin de la placa Arduino sin tener que dominar el lenguaje de programacin textual Arduino. Se basa en el Arduino IDE . Amici es abierto tambin (cdigo fuente bajo peticin), liberado bajo la GPL (Licencia Pblica General) est disponible para Windows y Mac en varios idiomas (Ingls, alemn, francs, espaol, portugus).Amici ha sido desarrollado por investigadores de Dimeb (Medios Digitales en la Educacin) de la Universidad de Bremen en el marco del proyecto europeo EduWear.

Fcil Generador de cdigo Comprobacin de errores Drag & drop bsico con giro automtico. Interfaz avanzada

Modkit es un entorno de programacin para microcontroladores: Modkit 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 Scratch entorno de programacin grafico.

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 Alpha para apoyar Modkit y disfrutar de caractersticas adicionales antes de su lanzamiento al pblico en general.

servoSetup(PIN9); forever{ digitalWrite(PIN13,HIGH); digitalWrite(PIN5,HIGH); digitalWrite(PIN8,LOW); digitalWrite(PIN6,HIGH); digitalWrite(PIN7,LOW); Distance = analogRead(0); sendMessage("Distance: "); sendMessage(Distance); if((Distance) > (300)){ digitalWrite(PIN5,LOW); digitalWrite(PIN6,LOW); digitalWrite(PIN7,LOW); digitalWrite(PIN8,LOW); servoAngle(0); delay(300); sendMessage("Left"); counter = 0; Direction = 0; prevDist = 0; repeat(3){ Distance = analogRead(0); if((Distance) > (prevDist)){ prevDist = Distance; Direction = counter; } counter = (counter) + (1); if((counter) == (1)){ servoAngle(90); sendMessage("Center"); }

if((counter) == (2)){ servoAngle(180); sendMessage("Right"); } delay(1000); } servoAngle(90); delay(300); if((Direction) == (0)){ digitalWrite(PIN5,HIGH); digitalWrite(PIN8,LOW); digitalWrite(PIN6,LOW); digitalWrite(PIN7,HIGH); delay(1000); digitalWrite(PIN5,LOW); digitalWrite(PIN8,LOW); digitalWrite(PIN6,LOW); digitalWrite(PIN7,LOW); } if((Direction) == (2)){ digitalWrite(PIN1,LOW); digitalWrite(PIN1,HIGH); digitalWrite(PIN1,HIGH); digitalWrite(PIN1,LOW); delay(1000); digitalWrite(PIN5,LOW); digitalWrite(PIN8,LOW); digitalWrite(PIN6,LOW); digitalWrite(PIN7,LOW); } } digitalWrite(PIN13,LOW); delay(500); }

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. Esto es ideal para trabajar con java del lado Arduino. Arduino tiene un lado de C que no est soportada por VBB, sin embargo es una herramienta que permite generar cdigo en java y posteriormente regenerarlo en C, as como tambin en el momento de la ejecucin revisar lnea por lnea el cdigo que se esta ejecutando.

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.

Ventana de Aplicacin Men de aplicacin Barra de application Barra de diseo para Esquema Electronico Ventana de Diseo en curso Barra de capas del diseo Explorador de soluciones Panel de propiedades Panel de descripcin de propiedades Panel Vaco Barra de estado Herramientas para el diseo en curso

VBBExpress ICEShield Breadboard Arduino Drawing UserIO Circuit Logic Audio Instruments Motors and Wheels LCD Displays LED Displays Timers CMOS4000 Digitial2Analog TTL74XX

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

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.

Interfaces con las que se comunica:

2.Nintendo Wiimote. 3.Puerto paralelo. 4.RoboSapien v2. 5.Roboquad. 6.I-Sobot. 7.Lego Mindstorms Nxt.

1. El primer paso, una vez dentro de Physical Physical Etoys es conseguir un Arduino y cargar el firmware 2. Abrimos la solapa de Supplies.

3. Arrastramos afuera un catlogo de objetos.

4. Seleccionamos la categora Electronics y arrastramos afuera un Arduino board.

Dentro de la categora de conexin, aparecen los distintos tipos de placas que soporta esta aplicacin

S4A ha sido desarrollado por el Grupo de Programacin Smalltalk del Citilab y de colaboradores del Centro de Formacin Padre Piquer de Madrid. S4A es una modificacin de Scratch que proporciona una programacin sencilla de la plataforma abierta de hardware Arduino. Incluye nuevos bloques para controlar sensores y actuadores conectados a Arduino.

Los objetos de la librera Arduino ofrecen bloques de escrituras y lecturas tanto analgicas como digitales, adems de alguna de ms nivel. Puedes encontrar bloques para controlar servomotores de rotacin continua Parallax. Una caracterstica importante es que se puede crear un proyecto utilizando tantas placas como puertos USB haya disponibles.

1.

Este software est disponible en la pgina web de S4A en la zona de descargas.

3 Ejemplo

Solo es posible visualizar y realizar control de las E/S de Arduino en modo esclavo. Esta forma de trabajo, por tratarse de Labview, es interesante para usarla en el prototipado de aplicaciones de instrumentacin en las que la tarjeta Arduino juega el papel de un sencillo y verstil equipo de adquisicin de datos a un costo muy bajo.

Visualizar los datos Personalizacin de la interfaz de usuario Arrastrar y soltar Documentacin simple Animar la ejecucin Diagrama de bloques Sondas, puntos de interrupcin, y la intensificacin

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 para la programacin de eventos y gobierno de imgenes de Rinho. Una de las libreras de Grasshoper se llama Firefly y esta pensada para interactuar con Arduino en el gobierno de las E/S tanto analgicas como digitales de la plataforma Arduino.

Visualizar los datos Personalizacin de la interfaz de usuario Arrastrar y soltar

Entorno orientado a la simulacin y modelado de sistemas fsicos, electrnicos, robticos y de control con un amplio campo de aplicaciones.

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 Realizacin de las aplicaciones mediante el uso de bloques de funcin

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.

1. 2. 3.

4. 5.

Facilidad de utilizacin de la herramienta Compendio lgico de la secuencia de trabajo en el diseo de prototipos. Posibilidades de exportacin del diseo en formatos compatibles con las mquinas de elaboracin de tarjetas de circuito impreso. Posibilidad de aadir nuevos elementos en la librera de componentes 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

Etoys (Squeak) http://tecnodacta.com.ar/gira/projects/physical-etoys/ S4A (Scratch) http://seaside.citilab.eu/scratch?_s=hvXNe4iKvwhZ3YaO&_k=6rrYXWDBfmL1NRUy Labview https://decibel.ni.com/content/groups/labview-interface-for-arduino Firefly http://www.fireflyexperiments.com/ MyOpenLab http://es.myopenlab.de/ Minibloq http://blog.minibloq.org/

Ms informacin
Ardublock http://ardublock.com/ Amici http://dimeb.informatik.uni-bremen.de/eduwear/about/ ModKit http://www.modk.it/ VirtualBreadBoard http://www.virtualbreadboard.net/ Fritzing http://fritzing.org

Fin