Arduino + Processing: Parte I (Comandos Básicos)

3
3524

Processing es un lenguaje de código abierto y además es una  herramienta de desarrollo basado en Java, orientado para crear imágenes, animaciones e interacciones, para hacer la adquisición de datos en sistemas visualmente atractivos, así como también es útil para enseñar  el contexto de las artes visuales, creando de esta manera proyectos de calidad. Este proyecto fue iniciado por Ben Fry y Casey Reas en el 2001 a partir de reflexiones en el “Aesthetics and Computation Group” del MIT Media Lab dirigido por John Maeda.

A partir del 2008 se incluyó a este programa una extensión llamada Processing.js el cual permite ver animaciones, aplicaciones visuales, juegos, entre otros, en los navegadores web sin necesidad de usar applets de Java o plugins de Flash. Processing es un programa totalmente gratuito y está disponible para la  plataformas GNU/Linux, Mac OS X y Windows. Puede descargarse desde su página oficial www.processing.org (versión 3.0.1, hasta el 9 de noviembre de 2015).

Cabe destacar que este software adopta las bondades del lenguaje Java (permite crear formas y figuras visuales) con respecto a la sintaxis mientras que en el lenguaje de programación Arduino es una versión simplificada de C/C++. La interfaz de programación de ambos lenguajes son parecidas, lo que cambia además del color del entorno grisáceo, también el botón PLAY usado para empezar a correr la aplicación visual desarrollada y el botón STOP para detener la ejecución de dicha aplicación. Los ficheros de Arduino y Processing tienen la misma extensión *.pde (aplica para algunas versiones de Arduino).

ARDUINO IDE vs PROCESSING IDE
ARDUINO IDE vs PROCESSING IDE
Comandos Básicos
  • draw(): ejecuta un ciclo continuamente hasta que se detenga el programa (en la programación viene despues de setup()).
  • exit(): se usa para detener o dejar de ejecutar el programa.
  • setup(): en esta función se colocan los parámetros del entorno gráfico a crearse.
  • size(): función encargada del tamaño de la ventana que crea el programa (medido en píxeles).
  • width: es el primer parámetro usado en el comando size, se refiere a la parte ancha del objeto.
  • height: es el segundo parámetro que se usa dentro del comando size, se refiere a la parte ancha del objeto.
  • mousePressed(): función invocada cada vez que se le da un click al ratón (mouse).
  • mouseReleased(): función invocada cada vez que se suelte el click del ratón (mouse).
  • keyPressed(): función invocada cada vez que se pulsa un tecla (keyboard).
  • keyReleased(): función invocada cada vez que se suelta una tecla (keyboard).
  • line(): comando para crear una línea (puede ejecutarse sobre 2 o 3 ejes: X,Y ó X,Y,Z).
  • point(): comando para crear un punto en el programa (puede ejecutarse sobre 2 o 3 ejes).
  • rect(): comando para crear un rectangulo (Ej: rect(a,b,c,d)).
  • triangle(): comando para crear un triángulo con coordenadas en X y Y (Ej: x1, y1, x2, y2, x3, y3).
  • text(): función para escribir un texto dentro del programa el cual puede ubicarse en los ejes X,Y ó X,Y,Z (Ej: text(“escrito”, x, y) ó text(“escrito”, x, y,z)).
  • textFont(): comando para colocar el tipo de fuente que va a usar el texto.
  • textSize(): comando para establecer un tamaño al texto (medido en píxeles).
  • background(): Función para llenar de color el fondo del entorno gráfico.
  • fill(): usado para llenar de color una figura.
  • noFill(): figura sin color.
  • stroke(): darle color al borde de las imágenes.
  • noStroke(): imagen o figura sin borde.

Para más comandos ingresar a la página http://processing.org/reference/

Integración de Processing + Arduino

Antes de proceder con la explicación de cómo se da la integración de Arduino + Processing hay algunos conceptos que debemos comprender. Al igual que la integración Arduino + Java, el Arduino no puede ser programado en Processing, sino que este último funciona como interfaz gráfica para el envío de comandos al Arduino por medio del puerto serie. Para una explicación más detallada sobre este tema recomiendo leer el siguiente post (puntos 1, 2 y 3):

Para iniciar un programa que integren estos dos lenguajes, se inicia haciendo una comunicación serial en ambos.  En Arduino ya hemos hemos tratado este tema en otros aportes. En la parte de Processing, la comunicación serial se inicia invocando los siguientes comandos al inicio del programa:

Estructura para abrir puerto de comunicación serial (para la transferencia de datos con Arduino)

Como vemos, bastante similar a la estructura del propio Arduino. El lenguaje Processing se parece bastante a Java. De hecho nació a partir de Java. Luego Arduino se derivó de Processing, de ahí las similitudes que existen entre uno y otro.
Esta ha sido la primera entrega al uso de Arduino + Processing que tenemos preparado para ustedes, donde se explicó un poco de su historia y algunos comandos básicos para iniciarse en el mundo de las artes visuales  con la tecnología.
Espero lo disfruten.

 

  • franklin almache

    como puedo cargar una imagen a un impresora termica alguien me podria guiar gracias

  • Kiev Mendoza

    Muy util gracias!

  • ¡Muy buen artículo! Recomendado para los que estén iniciando en Processing. Enhorabuena Carlos.