Controlando tarjeta Arduino directamente desde Processing

May 09

Algunas veces necesitamos controlar la tarjeta Arduino desde algún programa externo lo cual requiere que se desarrollen programas para las dos plataformas y un esquema de comunicación entre las dos para realizar el intercambio de datos lo cual puede ser difícil de acuerdo al grado de complejidad de la aplicación, otra opción es utilizar un programa multi propósito que expone las funcionalidades básicas de lectura y escritura de las tarjetas Arduino  y que puede ser controlada desde una aplicación gracias a librerías que permiten enviar ordenes y recibir datos de la tarjeta logrando que solo se necesite programar la aplicación y no la tarjeta. Esto es lo que precisamente hace Firmata una serie de protocolos y aplicaciones que simplifican la comunicación con la tarjeta desde varios lenguajes de programación (http://firmata.org/wiki/Main_Page)

Pros : 

  • Simplifica la programación de las aplicaciones al estar todo el código de control desde la aplicación 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 librerías que implementan el protocolo Firmata que permite controlar la tarjeta desde diferentes ambientes de programación 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 :
  • Cambiar los modos de los pines (pinMode)
  • Activar o desactivar lo pines digitales (digitalWrite)
  • Leer el estado de los pines digitales (digitalRead)
  • Leer el estado de los pines análogos (analogRead)
  • Usar PWM
  • No permite el acceso a librerías de Arduino con el Firmata Standard
  • Se debe modificar el Firmata y las librería de acceso para adicionar el acceso a librerías de Arduino
  • No hay soporte para interrupciones
  • El intercambio de datos puede causar demoras en la respuesta de la aplicación o de la tarjeta
  • Como se puede observar, aunque 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 esta la puerta abierta a desarrollos mas complejos gracias a que todo es software libre.

    Ahora veremos como controlar la Tarjeta Arduino desde Processing
    Pulse el botón para  continuar leyendo

    Read More

    Problema: RXTX Version mismatch en Processing 1.5.1 en Ubuntu 12.04

    May 09

    Despues de instalar Processing 1.5.1 en mi maquina Ubuntu y de hacer algunas pruebas con la comunicación serial con la tarjeta he tenido los siguientes problemas :

    • Processing lanza la siguiente advertencia cuando se usa la libreria Serial
      WARNING: RXTX Version mismatch
      Jar version = RXTX-2.2pre1
      native lib Version = RXTX-2.2pre2
    • Al tratar de listar los puertos usando la funcion println(Serial.list());
      solo se visualizan los puertos ttyUSB pero no los puertos ttyACM
      lo que permite conectarse a tarjetas Arduino con el conversor USB/Serial FTDI como las tarjetas Arduino antiguas o las Freeduino
      y no permite conectarse a las tarjetas Arduino Uno nuevas

    Al hacer pruebas con la versión alpha de Processing 2.0a5 no sucede este problema la cual utiliza la versión 2.1-7 de la librería RXTX por tal motivo para solucionar el problema debemos :

    • Descargar la version de Processing 2.0a5 para nuestro sistema operativo
      (busque la version 2.0a5 al final de la pagina)
      http://processing.org/download
      por ejemplo desde una terminal
    • Descomprimir el archivo, por ejemplo
      tar -zxvf  processing-2.0a5-linux.tgz
    • Reemplazar los archivos de la libreria serial de la versión 1.5.1 a la version 2.0a5
      Directorio de la libreria serial : processing-2.0a5/modes/java/libraries/serial
      ejemplo :
      cp -R ./processing-2.0a5/modes/java/libraries/serial/* ./processing-1.5.1/modes/java/libraries/serial

    Con esto ya queda solucionado el problema de conexión serial en Processing y de conectividad con Arduinos antiguas, Freeduinos y Arduinos nuevas

    Enlaces : 

    Read More

    Instalando Arduino 1.0 en Ubuntu 12.04

    May 09

    Los cambios del Kernel de Linux en la nueva version de Ubuntu 12.04 es necesario realizar un pequeño cambio en la instalación de Arduino que permita al usuario con que estamos desarrollando poder acceder a los puertos seriales  de tal modo que el ambiente de desarrollo de Arduino los puedan listar para enviar los programas a la tarjeta.

    No se Listan los Puertos en Arduino :

    Si ya hizo la instalación y el problema es que no aparece el puerto donde se conecta la tarjeta simplemente realice los siguientes pasos :

    • Abrir una terminal
    • Ejecutar el comando que habilita el usuario actual para usar los puertos
      sudo usermod -a -G dialout $USER
    • Si son varios usuarios puede colocar el nombre del <usuario>
      sudo usermod -a -G dialout <usuario>
    • Cierre la sesión gráfica y vuelva a entrar
    • Ahora los puertos se pueden listar

    Instalación Completa : 

    Si no ha hecho la instalacion de Arduino 1.0 en Ubuntu 12.04 aqui estan los pasos completos

    • Abrir una terminal
    • Instalar el OpenJDK 7
      sudo apt-get install openjdk-7-jdk
    • Instalar los compiladores de AVR
      sudo apt-get install  gcc-avr avr-libc
    • Ir al directorio donde se va instalar el software
    • Descargar la version de Arduino 1.0 de acuerdo a la arquitectura del sistema
      • Para 32 bits
      • wget http://arduino.googlecode.com/files/arduino-1.0-linux.tgz
      • Para 64 bits
      • http://arduino.googlecode.com/files/arduino-1.0-linux64.tgz
    • Adicionar el permiso de lectura de puerto USB a su usuario
      sudo usermod -a -G dialout $USER
    • Cerrar la terminal y la sesion grafica y volver a entrar
    • Ya puede ejecutar el ambiente de desarrollo

    Enlances : 

    Read More

    Make Live : Premier

    Jan 26

    Hoy 26 de Enero de 2011 sera el estreno del programa en vivo vía Internet de la revista Make publicación americana de la casa O'Reilly que se centra en el modelo de DIY (Hagalo Usted Mismo) y que tiene gran acogida entre los entusiastas del OpenHardware gracias a que muchos proyectos están basados en plataformas de hardware abierto como Arduino.

    Presentadores de Make Live

    La premier del programa se realizara hoy 26 de Enero de 2011 a las 9pm (GMT-5) y el cual estará dedicado a la plataforma de hardware libre Arduino y el cual se podra ver desde la pagina de Make o a traves de UStream.

    Proximos Programas :

    • Enero 26, 9pm: Arduino
    • Febrero 09, 9pm: Soldadura
    • Febrero 23, 9pm: Bicicletas

    Enlaces :

    Read More

    Nueva Version de Processing, llega la 1.2

    Jul 14

    Después de muchas entradas en este blog sobre Pulsar Project, volvemos al camino del cacharreo (aunque por corto tiempo, así que volverán toneladas de entradas de Pulsar Project) esta vez nos encontramos con la nueva versión de Processing (herramienta para la creación de aplicaciones visuales de forma rápida, basada en Java)  que trae una gran cantidad de cambios con respecto a la versión 1.1 publicado en Marzo de 2010.

    Cuales son los Cambios ?

    • Soporte para la sintaxis de Java 5
      Esto facilita la creación de colecciones de cierto tipo como también iterar sobre colecciones y arreglos.
      Esto sucede 6 años después que se introdujeran estos cambios en Java, pero apenas sucede hoy en Processing
    • Gran cantidad de trabajo con SVG y PDF
      Al parecer Processing comienza también a convertirse en herramienta autor para la creación de imágenes
    • Cambios en la versión de MacOSX
      Soluciona el problema de actualización de Java
    • Y gran cantidad de errores solucionados !!!

    Processin 1.2

    Así que ya tenemos una versión de Processing mas madura, estabilizando el funcionamiento de muchas de sus funcionalidades, lo que permite crear Sketch mas robustos.

    Por otro lado han sido muchos los cambios que han sucedido desde el lanzamiento de la versión 1.0, ahora el equipo de Processing se ha tomado muy en serio la necesidad de tener una buena base de conocimiento y poseer un buen software para el foro que no se sobrecargue tanto como el anterior, por tal motivo se han migrado a otro servidor donde podremos encontrar :

    Hace poco también salio al mercado "Getting Started with Processing", guía de bolsillo para principiantes en la herramienta que va por el mismo estilo del "Getting Started with Arduino" libro tan conocido por la comunidad de hardware libre, estos libros pueden comprarse en librerías o pueden comprarse las versiones digitales en PDF de los mismos. El libro incluye una introducción a la herramienta y el "Hola Mundo" de Processing, como comenzar a codificar, pintar en la pantalla, manejo de variables, interacción, manejo de fuentes e imágenes, movimiento; adicionalmente cubre características del lenguaje como la creación de funciones, manejo de programación orientada a objetos, uso de los arreglos; finalmente incluye un capitulo sobre como ir mas lejos con el desarrollo de aplicaciones 3D, exportar imágenes y comunicación con Arduino.

    Processing va tomando cada vez mas fuerza en el ambiente de programación visual como una herramienta multiproposito que derrumba los limites de otras herramientas disponibles en el mercado, ya veremos que nuevas características adicionaran en la versión 1.3  y cuando llegaremos a una version 2.0, mientras tanto podemos ir cacharriando con la versión de Processing para Android que promete ser la versión oficial de Processing para dispositivos móviles.

    Read More
    Page 1 of 712345...Last »