A ideia é criar uma interface gráfica simples usando
Processing para manipular o Arduino, no caso o LED do pino 13.
Com o Processing baixado e funcionando, 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:
Executando, com o Arduino conectado, temos a seguinte tela inciado:
Quando passar o mouse sobre o botão ON:
Quando passar o mouse sobre o botão OFF:
Se você clicar sobre o botão ON o LED do pino 13 do Arduino acenderá, quando clicar sobre o botão OFF ele apagará.
O que fizemos:
Com arduino = new Arduino(this, Arduino.list()[1], 57600); iniciamos a comunicação com o Arduino com velocidade de 57.600bps.
Com arduino.pinMode(ledPin, Arduino.OUTPUT); ajustamos que o pino ledPin (13) será utilizado para saída (OUTPUT).
Com
fill(selecionado); e rect(10,10,100,50); criamos um retângulo nas
coordenadas X,Y 10,10 com comprimento de 100 pixeis e a altura de 50
pixeis. O retângulo será preenchido com a cor determinada na função
fill, onde a variável selecionado carrega a cor branca (255).
Com
fill(n_selecionado); e text("ON",10,10,100,50); escrevemos o texto ON
na cor da variável n_selecionado (preto – 0) fixando que a área máxima a
ser ocupada pelo texto é a mesma do retângulo que forma o botão.
As
constantes mouseX e mouseY são predeterminadas e retorna a posição X e Y
do mouse. Dessa forma fazemos condições IF que expressam: se o ponteiro
do mouse estiver dentro do retângulo pinte-o de preto, caso contrário,
pinte-o de branco.
A
função void mousePressed() também é predeterminada pela linguagem e é
executada apenas quando há um clique do mouse. Dessa forma fazemos
condições IF que expressam: se ao clicar o mouse dentro da área dos
retângulos deve-se setar a variável que determinará se o LED do Arduino
deve estar ligado ou não.
0 comentários:
Postar um comentário