You are on page 1of 4

Manejando tarjeta arduino con processing para el control de sistemas mviles Controlando tarjeta Arduino directamente desde Processing

Qu es Processing? E un lenguaje de programacin de cdigo abierto para los que quieran crear imgenes, animaciones e interacciones. Inicialmente desarrollado como software para crear bocetos de trabajo y ensear los principios de la programacin en un contexto visual, Processing ha evolucionado hacia una herramienta de produccin profesional. Hoy hay decenas de miles de estudiantes, artistas, diseadores, investigadores y aficionados que usan Processing para aprender, hacer prototipos y realizar proyectos. Caractersticas del lenguaje:

Gratuito y de cdigo abierto. Generacin de programas interactivos con salida en formatos 2D, 3D y PDF. Integracin con OpenGL para usar aceleracin 3D. Compatible con GNU/Linux, Max OS X y Windows. Los proyectos se pueden ejecutar como applets de JAVA en la red. Ms de 100 libreras que extienden el potencial del programa con sonido, vdeo, visin por computador y ms Bien documentado y con varios libros disponibles.

4.- La interface de Processing: La Interface de Processing es sencilla. Esto permite que se familiarice muy rpidamente con ella. Si se comparamos con la complejidad de otras interfaces como las de Flash. Solo existen 6 opciones en el men: run, stop, new, open, save, export. Hay tres que no es necesario explicar, pero si saber que cuando creamos un proyecto nuevo creamos un Sketch, y el Sketch folder es la carpeta donde ste se guarda. Solo constara de un archivo .pde el cual contendr el cdigo y en la cual se le pueden aadir archivos de imagen, video etc.. RUN: Sirve para ejecutar el cdigo. lo que en programacin se conoce como compilacin. Processing) es un lenguaje compilado STOP: Para el programa. NEW: Crea un Sketch nuevo OPEN: Abre un Sketch existente SAVE: Guarda el Sketch con el que se est trabajando.

EXPORT: Sirve para preparar el sketch para ser ejecutado a travs de un navegador, ya sea en la web o simplemente fuera del entorno Processing. Conociendo estos botones tenemos suficiente para empesar a trabajar con Processing. Controlando tarjeta Arduino directamente desde Processing

Algunas veces necesitamos controlar la tarjeta Arduino desde algn programa externo lo cual requiere que se desarrollen programas para las dos plataformas y un esquema de comunicacin entre las dos para realizar el intercambio de datos lo cual puede ser difcil de acuerdo al grado de complejidad de la aplicacin, otra opcin es utilizar un programa multi propsito que expone las funcionalidades bsicas de lectura y escritura de las tarjetas Arduino y que puede ser controlada desde una aplicacin gracias a libreras que permiten enviar ordenes y recibir datos de la tarjeta logrando que solo se necesite programar la aplicacin y no la tarjeta. Esto es lo que precisamente hace Firmata una serie de protocolos y aplicaciones que simplifican la comunicacin con la tarjeta desde varios lenguajes de programacin (http://firmata.org/wiki/Main_Page) Pros :

Simplifica la programacin de las aplicaciones al estar todo el cdigo de control desde la aplicacin y no dentro de la tarjeta donde solo se instala el programa Firmata Una vez programada la tarjeta esta puede ser usada en diferentes aplicaciones sin necesidad de re programar la tarjeta. Gran cantidad de libreras que implementan el protocolo Firmata que permite controlar la tarjeta desde diferentes ambientes de programacin como Processing, Python, C++, ActionScript, PureData, Perl, C# (http://firmata.org/wiki/Download) Viene incluida en el ambiente oficial de desarrollo de Arduino

Contras :

Solo permite el acceso restringido a algunas de las funcionalidades de Arduino como : o Cambiar los modos de los pines (pinMode) o Activar o desactivar lo pines digitales (digitalWrite) o Leer el estado de los pines digitales (digitalRead) o Leer el estado de los pines anlogos (analogRead) o Usar PWM No permite el acceso a libreras de Arduino con el Firmata Standard Se debe modificar el Firmata y las librera de acceso para adicionar el acceso a libreras de Arduino No hay soporte para interrupciones El intercambio de datos puede causar demoras en la respuesta de la aplicacin o de la tarjeta

Aun cuando Firmata simplifica el desarrollo de aplicaciones con interfaces de hardware basadas en Arduino la funcionalidad es restringida y debe ser usada en aplicaciones sencillas que no dependan mucho del tiempo y manipulen hardware muy sencillo pero siempre est la puerta abierta a desarrollos ms complejos gracias a que todo es software libre. Configurar la Tarjeta Arduino :

Descargar el ambiente de desarrollo de Arduino para nuestro sistema operativo http://arduino.cc/en/Main/Software Descomprimir y ejecutar el Arduino Conectar nuestra tarjeta Arduino al puerto USB (recuerde instalar los drivers, necesita reiniciar la aplicacion) Abrir el ejemplo StandarFirmata (File -> Examples -> Firmata -> StandardFirmata) Compilar el ejemplo y descargarlo a la tarjeta Ya tenemos nuestra tarjeta lista para ser controlada desde una aplicacin externa

Instalar Libreria de Arduino para Processing


Descargar el Processing para nuestro sistema operativo http://processing.org/download/ Descomprimir Descargar la libreria de Arduino para Processing http://www.arduino.cc/playground/Interfacing/Processing Enlace Directo : http://arduino.cc/playground/uploads/Interfacing/processing-arduino.zip Descomprimir y copiar el directorio de librerias, por ejemplo en Processing 1.5.1 processing-1.5.1/modes/java/libraries Si esta en Linux o MacOSX Cambiar el nombre del archivo arduino/library/Arduino,jar a arduino,jar Ejecutar el Processing Abrir el ejemplo de control de salidas de Arduino (File -> Examples -> Contributed Libraries -> arduino -> arduino_output ) Ejecutar el Sketch Verifique en la lista de puertos si aparece el puerto donde esta conectada la Arduino Cambie el indice del arreglo por el indice del puerto donde esta la Arduino ejemplo : Arduino.list()[1] Ahora puede encender el LED conectado al pin 13 de la Arduino pulsando el primer botn en la pantalla

Programar el Blink desde Processing :


Crear un nuevo sketch Importar la libreria Serial

Importar la libreria Arduino Crear el objeto Arduino, use el nombre del puerto donde esta conectada la Arduino Exriba el codigo para encender y apagar el led en el pin 13 Como se puede observar el codigo queda algo parecido al de la Arduino

view plaincopy to clipboardprint? 1. import processing.serial.*; 2. import cc.arduino.*; 3. 4. int pinLed = 13; 5. Arduino arduino; 6. 7. void setup() { 8. size(640,480); 9. 10. arduino = new Arduino(this, Arduino.list()[0], 57600); 11. arduino.pinMode(pinLed,Arduino.OUTPUT); 12. } 13. 14. void draw() { 15. arduino.digitalWrite(pinLed,Arduino.HIGH); 16. delay(1000); 17. arduino.digitalWrite(pinLed,Arduino.LOW); 18. delay(1000); 19. } Explore ejemplos mas complejos en los ejemplos de la libreria, para leer el estado de los pines analogos y digitales, el uso de PWM. Enlaces :

Pagina Oficial de Firmata http://firmata.org Pagina Oficial de la Libreria de Arduino para Processing http://www.arduino.cc/playground/Interfacing/Processing Pagina Oficial Processing http://www.processing.org Pagina Oficial de Arduino http://www,arduino.cc

You might also like