Ícone do site Cafeína Codificada

Como integrar aplicações feitas para o Arduino ao Processing

Para quem não conhece, o Arduino é uma plataforma de prototipagem eletrônica de hardware livre. O Arduino foi idealizado e desenvolvido por Massimo Banzi com o objetivo de fornecer uma ferramenta de baixo custo, acessível, eficaz e fácil de usar por hobbistas/fazedores que amam a computação, eletrônica e robótica. É ótimo investir em uma dessas plaquinhas, uma vez que você poderá aprender, na prática, como funciona os muitos componentes eletrônicos, bem como aprender aprender os fundamentos da programação para sistemas embarcados.  Ele utiliza a linguagem de programação C/C++ para a criação de seus firmwares. Para mais informações, visite: https://www.arduino.cc/

Em contrapartida, o Processing é um framework  de código aberto que possibilita a criação, de maneira rápida, de aplicativos visuais, ou seja, de interfaces gráficas. O projeto foi idealizado e desenvolvido por Casey Reas e Ben Fry com o objetivo de ensinar os princípios da programação visual. O Processing é todo baseado em Java, portanto utiliza a sintaxe da linguagem e os princípios de orientação à objetos para a criação de aplicativos. Para mais informações, visite: https://processing.org/

Você pode controlar os seus dispositivos através do Arduino sem nenhum problema, porém só com ele não é possível construir uma interface amigável para o usuário.

Para o Arduino, você precisará:

Esta é a IDE do Arduino, quando ela é aberta já inicia com a declaração das funções padrões, void setup() e void loop(). Como o Arduino utiliza C/C++ como linguagem de programação, também utiliza o conceito de escopos. Nesse caso, as variáveis declaradas dentro do void setup não podem ser vistas pelo void loop(). Os programadores de Arduino preferem adotar o conceito de variáveis globais, declarando-as fora de qualquer função, assim elas poderão ser vistas por todas as funções.

A função void setup() serve para inicializar as variáveis e outras configurações do firmware.

A função void loop() é, como o nome já diz, um loop infinito. O código escrito aqui será executado continuamente, é onde, de fato, ocorre o funcionamento do firmware.

Para o Processing, você precisará:

Esta é a IDE do Processing, o funcionamento dela é bem parecido com a IDE do Arduino, o Processing também utiliza o void setup() para inicializar as variáveis e as configurações iniciais do aplicativo, entretanto ele utiliza o método void draw(). O void draw() é igualzinho ao void loop() do Arduino.

Copie e cole o seguinte código para a IDE do Processing:

Seu programa estará parecido com isso: 

Antes de clicar no Run para executar o programa, é necessário montar o circuito na protoboard, precisaremos de:

Depois de montar o circuito na protoboard, você deverá clicar Run, na IDE do Processing, o resultado é esse:

Esse é um tutorial simples, porém partindo dele dá para se ter uma noção do que uma integração entre Arduino e Processing é capaz. Você pode desenhar botões com o Processing, desenhar gráficos para exibir dados medidos por sensores conectados ao Arduino, entre outras infinidades de coisas. O céu é o limite, estude o Processing à fundo e faça da sua programação uma verdadeira obra de arte!

Códigos disponíveis para download em:

https://github.com/DouglasCandido/Codigos-para-Ensino

Fontes:

http://playground.arduino.cc/Interfacing/Processing

https://learn.sparkfun.com/tutorials/connecting-arduino-to-processing