domingo, 2 de setembro de 2012

Como Integrar Java e Arduino - Interface Gráfica do Usuário (GUI)


Após um mês de levantamento e compra de materiais para a pesquisa, estamos nos aprofundando mais em relação a como faremos a integração da IDE (Ambiente Integrado de Desenvolvimento) do Arduino com o Java.

O objetivo é criar uma interface com o usuário, feito em linguagem Java, para que ele consiga definir a afinação da guitarra via USB. Esta característica é o diferencial do nosso projeto em comparação a uma guitarra comum, com cordas; pois está sujeita, devido a fatores ambientais como temperatura e pressão, de o músico ter que se preocupar em afinar seu instrumento sempre que for tocar.

Com a tecnologia à nossa disposição, pretendemos quebrar este paradigma, ao reunir cada nota musical separadamente em um arquivo de extensão .mp3, por exemplo. A interface será responsável por abrir este arquivo, definindo as notas que aquela afinação abrange. Por exemplo, uma guitarra afinada em Eb(Mi bemol), é possível tocar as notas Bb (Si bemol), Gb (Sol bemol), Db (Ré bemol), Ab (Lá bemol), Eb.

Para quem não sabe, o Arduino é uma plataforma de hardware open-source que se destaca pela versatilidade, pelo baixo custo e da facilidade de programação. Foi construída para promover a interação física entre o ambiente e o computador. A plataforma consiste em uma placa de circuitos com entradas e saídas para um microcontrolador AVR, um ambiente de desenvolvimento e o bootloader que já vem gravado no computador.

O microcontrolador é constituído de um microprocessador, memória e periféricos de entrada/saída. É o microprocessador que pode ser programado para funções específicas, como, por exemplo, o controle de máquinas e diferentes automações.

"Uma das versões mais difundidas do um Arduino é a Duemilanove (figura abaixo) que apresenta 6 portas analógicas e permitem a medida de tensões externas, sendo possível receber informações de uma série de sensores como medidores de temperatura, pressão, umidade, distância, sensores de gases, fototransistores. Existem, também, 14 portas digitais, onde é possível ler e escrever dois estados, 0/1 ou HIGH/LOW, permitindo, por exemplo, manter um LED ligado ou desligado".




 Ao fazer a integração com Java, é possível criar sofisticadas interfaces, tirando proveito das várias API's disponíveis  no ecossistema do Java. Para isso, utilizaremos a IDE NetBeans. É preciso baixar uma biblioteca chamada RXTX para acessar a porta serial do Arduino.

Faremos o teste, e, em seguida, publicaremos no site o resultado.


Fontes de Referência

http://silveiraneto.net/2009/03/01/arduino-and-java/
http://bhargavg.wordpress.com/2011/05/03/java-communicating-with-arduino-decimelia/
http://www.cifras.com.br/tutorial.htm?cod=diferentes-afinacoes_310
http://webduino.blogspot.com.br/p/conheca-o-arduino.html