Processing per Android


Processing per Android permet la creació d'aplicacions d'Android a partir del programa Processing per a ordinadors Mac OS X, Windows i Linux.


Resultat d'imatges de processing 3 logo png
Processing és una aplicació de codi obert de programació nascut d'un projecte iniciat per Ben Fry i Casey Reas. Esdevé una important alternativa tant per a programadors experts com novells per tal de facilitar el procés de creació o inclús de modificació d'altres codis.
Processing engloba imatges, animació i so a més a més de simple programació abstracte, no visible. La seva sintaxi es basa en Java i C++ però conegut com a llenguatge de programació Processing i per aquest mateix motiu simplement es pot utilitzar en ordinadors que suportin i entenguin el codi.


Per tal de dur la programació a altres extrems, com podria ser Android en el nostre cas, son necessàries diverses modificacions fetes per editors externs o els propis creadors. L'exemple més clar, Processing per Android.


Aquesta extensió, a part d'esdevenir una part de codi crucial basada en llibreries, permet que qualsevol dispositiu que funcioni amb Android pugui desenvolupar la feina que se li encomana.

Quan parlem de llibreries, fem referència a una certa quantitat de línies de codi desenvolupades per algú exterior el projecte, en aquest cas disponibles a GitHub, una pàgina web on es poden trobar la majoria d'extensions de Processing i Arduino. 

Això comporta també un seguit de problemes de combinacions de llibreries ja que es altament probable que els editors hagin coincidit en paraules concretes, provocant que aquestes es sobreescriguin i quedin invalidades.


Per aquesta mateixa raó, nosaltres només hem inclòs una llibreria a la nostra programació en Processing. Aquesta s'anomena Ketai i fa referència a la majoria de components de mòbils, tauletes i altres dispositius amb Android exclusivament.

Ketai permet la utilització de pantalles tàctils, altaveus, audiòfons, càmera, wifi... Però el més important per a nosaltres, la configuració i utilització del Bluetooth amb altres dispositius.

Com a tal, Ketai ha esdevingut una solució molt bàsica, a l'alçada de la programació amb Processing, tot i haver sigut necessari l'aprenentatge de les línies de codi bàsiques de la llibreria.

UTILITZACIÓ I APLICACIÓ DE LES TRES EINES AL NOSTRE PROJECTE

Corresponent a la nostra idea de la realització d'un robot Arduino, hem utilitzat les eines anteriors per tal de crear completament des de zero una aplicació mòbil com a HUD del nostre robot. Aquest apareix a la pantalla del nostre dispositiu, sigui quin sigui sempre i quan funcioni amb Android, deixant enrere inclús el Java, ja que, com hem mencionat anteriorment, es produeixen col·lapses referents a la sobreescriptura de llibreries.

El nostre HUD o l'entorn d'interacció està compost per un joystick, una sèrie de vuit interruptors i una barra desplaçable.
A la part inferior dreta, podem trobar el cercle que fa de joystick, que es desplaça contínuament fins arribar al límit. Mitjançant les llibreries envia una senyal de cinc bytes, corresponent per ordre amb:
X: mostrant la coordenada X.
0-9: variant el valor de la coordenada X entre els deu nombres.
Y: mostrant la coordenada Y.
0-9: variant el valor de la coordenada Y entre els deu nombres.
\r: mostrant el fi de la comunicació actual i, per tant, de l'execució.

Just a sobre de l'espai reservat per al joystick es troba el comandament horitzontal, enviant una senyal de tres bytes:
Z: mostrant la coordenada Z.
0-9: variant el valor de la coordenada Z entre els deus nombres.
\r: mostrant el fi de la comunicació actual i, per tant, de l'execució.

A l'esquerra de la pantalla podem trobar vuit interruptors amb les seves icones i indicadors On/Off, enviant senyals cadascun de quatre bytes:
a: mostrant els interruptors.
1-8: concretant de quin interruptor parlem.
0-1: mostrant On/Off
\r: mostrant el fi de la comunicació i, per tant, de l'execució.

En la tria d'icones hem seguit una estètica blanc-negre que es correspongui amb l'acció desenvolupada pel robot a cada una de les combinacions.

Cal comentar, a més a més, que les ordres són enviades una sola vegada a cada moment ja que si no, el robot és incapaç d'acumular una infinita quantitat de bytes tot i reiniciant el comandament.