Avaliação do Usuário

Estrela inativaEstrela inativaEstrela inativaEstrela inativaEstrela inativa
 

 

Processing é uma linguagem e um ambiente de desenvolvimento open-source que permite escrever programas para representação gráfica, basicamente. Você pode ter uma ideia melhor do que é o Processing em http://seucurso.com.br/index.php?option=com_content&view=article&id=261:processing-o-que-e-e-para-que-serve&catid=906:diversos&Itemid=70

 

É possível integrar o Arduino com o Processing, ou seja, para que possamos desenvolver no Processing aplicações, especialmente com saídas gráficas, capazes de controlar o comportamento do Arduino e ler dados por ele gerados através de sensores. Para que tudo isso seja possível é preciso seguir alguns passos na criação do projeto, que são mostrados abaixo.

 

Antes de qualquer coisa, para que as funcionalidades de comunicação serial funcionem é necessário, mesmo em sistemas operacionais 64-bit, o uso do ambiente do Processing na versão 32-bit. Caso esteja usando a versão 64-bit a comunicação serial não funcionará e você terá sempre o erro “processing serial does not run in 64-bit mode”. Lembre-se ainda de utilizar sempre a última versão estável do Processing e não versões betas.

 

Mãos-a-obra!

 

Faça download da biblioteca processing-arduino que pode ser encontrada em http://playground.arduino.cc/uploads/Interfacing/processing-arduino.zip e também uma cópia em http://www.seucurso.com.br/downloads/processing-arduino.zip

 

Descompacte o arquivo baixado, você terá uma pasta chamada arduino, copie-a (ou mova) para dentro da pasta libraries do Sketchbook do Processing, que normalmente fica dentro da pasta Meus Documentos sob o nome Processing.

 

 

 

Antes de continuar será necessário enviar para o Arduino um firmware que permita a comunicação entre o Processing e o hardware Arduino. Ao firmware que faz essa tarefa é dado o nome Firmata.

 

Para fazermos nosso primeiro teste abra o ambiente Arduino e abra o exemplo StandardFirmata que está no menu File > Examples > Firmata > StandardFirmata

 

 

 

 

Faça upload desse Firmata para o Arduino:

 

 

 

 

 

Isso fará com que seja carregado no Arduino um Firmata genérico que permitirá que controlemos o Arduino através do Processing. Com um pouco de estudo é possível criar Firmata personalizados para aplicações específicas.

 

Ok, o Arduino está preparado para lidar com o Processing a partir do Firmata padrão fornecido com o próprio ambiente, agora abra o Processing e vamos tentar o seguinte código:

 

{code}

import processing.serial.*;

import cc.arduino.*;

 

Arduino arduino;

int ledPin = 13;

 

void setup()

{

println(Arduino.list());

arduino = new Arduino(this, Arduino.list()[1], 57600);

arduino.pinMode(ledPin, Arduino.OUTPUT);

}

 

void draw()

{

arduino.digitalWrite(ledPin, Arduino.HIGH);

delay(1000);

arduino.digitalWrite(ledPin, Arduino.LOW);

delay(1000);

}

{/code}

 

Esse programa acenderá o LED do pino 13 por um segundo, em seguida fará com que ele fique desligado por mais um segundo, repetindo isso infinitamente.

 

O que fizemos:

 

Com Arduino arduino; criamos um objeto do tipo Arduino chamado arduino. Esse objeto contém todos os métodos de manipulação do hardware Arduino.

 

Com println(Arduino.list()); fazemos com que o programa mostre as portas seriais disponíveis e qual índice usar no próximo comando.

 

Com arduino = new Arduino(this, Arduino.list()[1], 57600); inicializamos o objeto arduino com comunicação serial na velocidade de 57.600bps.

 

Os parâmetros são:

{code}

Arduino(parent, name, rate);

{/code}

 

Onde, parent é o programa de onde está sendo chamado, normalmente é a palavra this. name é o nome do dispositivo serial a ser utilizado, você pode usar Arduino.list() para mostrar todos, caso haja mais de um. Por fim, rate é a velocidade de comunicação serial.

 

Com arduino.pinMode(ledPin, Arduino.OUTPUT); setamos o ledPin (13) como output.

 

Com arduino.digitalWrite(ledPin, Arduino.HIGH); escrevemos HIGH para o ledPin (13).

 

Executando teremos a janela do Processing abaixo e o LED do pino 13 piscando infinitamente:

 

 

 

 

{youtube}6cx-W-z02Fw{/youtube}

 

 

Com esse exemplo básico é possível ter uma noção da integração do Arduino e o Processing, mas saiba que isso é só a primeira gota nesse oceano, logo postarei mais tutoriais.