Processing - Demostración

A continuación teneis el video de la aplicación terminada. Es muy sencilla y básica, pero nos permite ver las posibilidades de este lenguaje.


Programación en Processing (Práctica)

Ya explicada la parte teórica, continuaremos con el desarrollo de una aplicación gráfica en Processing para ver visualmente los datos del Nunchuk.

Podemos visualizar el código con formato y número de líneas en:

Programación en Processing (Teoría)

Introducción

Vamos a utilizar Serial para comunicar la placa Arduino con la computadora. En Processing tenemos que importar la librería Serial que viene incluida en el IDE.

Antes de comenzar, modificaremos la función  void imprimir_Serial () en nuestro código de Arduino. Transmitimos en forma de Bytes, eliminamos la transmisión de Strings innecesarios y añadimos la impresión de '\n' al comienzo para evitar los datos erróneos que se transmiten al principio. Esto último lo explicaremos posteriormente. La función quedaría de la siguiente forma:

Processing - Materiales necesarios

En realidad, lo único que necesitaremos, además de todo lo relacionado con Arduino y el Nunchuk es el IDE de Processing. Pero antes de todo eso, ¿qué es Processing?



Según Wikipedia:

"Processing es un lenguaje de programación y entorno de desarrollo integrado de código abierto basado en Java, de fácil utilización, y que sirve como medio para la enseñanza y producción de proyectos multimedia e interactivos de diseño digital. Fue iniciado por Ben Fry y Casey Reas a partir de reflexiones en el Aesthetics and Computation Group del MIT Media Lab dirigido por John Maeda.


Processing es desarrollado por artistas y diseñadores como una herramienta alternativa al software propietario. Puede ser utilizado tanto para aplicaciones locales así como aplicaciones para la web (Applets).


Se distribuye bajo la licencia GNU GPL."

Processing - Introducción

Llegados a este punto, leer y interpretar los datos del Nunchuk ya no debe de suponer ningún reto. Los hemos recogido y transmitido a la computadora vía Serial. Pero claro, de nada sirve enviar datos sin que existiera una forma de poder jugar con ellos.

Por lo tanto en los siguientes posts trataremos de crear una aplicación en Processing que nos muestre de forma gráfica los datos de los sensores del Nunchuk. ¿Utilidad? Ninguna más que para satisfacer curiosidades, pero una vez sepamos hacer esto se nos abrirán muchas más puertas. Libre es cada uno de investigar y amoldar estos conocimientos a sus propios proyectos.


Arduino - Demostración básica

Os muestro un video en el que aparece como ha quedado nuestra aplicación y su funcionamiento:

Arduino - Programación de Arduino (Práctica)

Una vez que ya tenemos claro la teoría, hay que juntar todos esos conocimientos y crear un pequeño programa. A continuación os muestro un código funcional, el cual no me ha dado ningún problema.

He añadido un apartado al comienzo del código de personalización por si se tubiera que modificar algo.


El código lo podemos encontrar también con formato y número de líneas en:

Arduino - Programación de Arduino (Teoría)

Modificaciones previas

Una vez ya tenemos claro el funcionamiento del bus de transmisión de datos I²C trasladaremos esa información al Nunchuk.

Antes de continuar, para utilizar la librería de Wire con Arduino, deberemos de modificar una serie de parámetros en el archivo. Nuestra placa Arduino utiliza alguno de los siguientes chips:
  • ATmega328 - Arduino UNO

  • ATmega2560 - Arduino MEGA

  • ATmega168 - Algunas Arduino NANO

Arduino - Montaje y conexiones

En un principio, esto no debería suponer ningun reto para nadie. Es un montaje más que sencillo. Solamente consiste en conectar los cuatro cables del Nunchuk a Arduino.

Claro está que si quieres más funcionalidades necesitas conectar más elementos, pero este no es el caso.

Arduino - Bus de transmisión de datos


El Nunchuk utiliza el bus de trasmisión de datos I²C. I²C es un bus de comunicaciones en serie. Su principal característica es que utiliza dos lineas de transmisión de información. Una de ellas es la señal de reloj(SCL) y la otra para los datos(SDA). Aunque también es necesaria una tercera línea de tierra(GND).

Cada dispositivo que se conecte al bus tienen una dirección única. Además, existen dos tipos de dispositivos en este protocolo:
  • Maestros: Inician la transmisión de datos y genera la señal de reloj.
  • Esclavos: Reciben la señal de reloj y envían datos al maestro.

Arduino - Materiales necesarios

En este post se explicará la forma de conseguir los materiales, así también de una breve explicación de sus posibilidades y características. 

Se necesitará un Nunchuk de Nintendo o compatible, una placa Arduino (en nuestro caso modelo UNO) y un saco de paciencia.

Arduino - Proyectos similares

Existen algunos proyectos ajenos a este con la misma finalidad. Que menos que citarlos y enlazarlos para ampliar información.

Junto con toda esa información y la que mostraremos aquí, podremos llevar a cabo nuestro pequeño proyecto.

Arduino - Introducción

Este blog se trata de un proyecto (o subproyecto mejor dicho) de otro mayor que ahora mismo no viene al caso. Todo surge con la idea de poder utilizar el Nunchuck de Nintendo (sí, ese mando con forma de pera) con nuestra placa Arduino. 
No se si pensaréis que esto es innecesario ya que existen drivers para diferentes SO para conectar dicho mando a la computadora, pero la idea es de poder utilizarlo independientemente de dicha máquina. Solo nuestra placa y él.