Java + µC
Hardware y Librería de Comunicación

Se utilizó un Microcontrolador AVR en una placa de desarrollo "Arduino".

El programa básicamente recoge datos desde un pin que tiene conexión interna con el conversor análogo digital del circuito, y transforma la señal analógica proveniente de un divisor de tensión variable (configuración del potenciómetro) y lo transforma a una señal digital que se traduce en un número de 0 a 1023 (Esto, porque el conversor tiene resolución de 10 bits) que indica una señal electrica de 0 a 5v.

Ejemplo de código

/*****************************************************      
Programa Base
*******************************************************/
const int analogInPin = A0;  // Se selecciona pin para lectura 

int sensorValue = 0;        // Variable que almacena el valor analógico actual

void setup() {
  // Se inicia comunicación serial a 9600 baudios
  Serial.begin(9600); 
}

void loop() {
  // Se lee el valor analógico
  sensorValue = analogRead(analogInPin); 
  // Se escribe el valor analógico al puerto, en formato decimal  
  Serial.print( sensorValue , DEC );  
  // Se agrega un retardo para evitar saturación
  delay(10);  
  
}



El microcontrolador utilizado, no tiene un soporte directo para el puerto USB, pero si lo tiene para la transmisión serial. Se utiliza un circuito FTDI que genera señales acorde al protocolo RS-232, a partir del puerto USB. En el computador, este puerto es emulado, agregándose a los demás dispositivos físicos como si fuera uno más. El resultando es una interfaz en que el computador "ve" un puerto serie y el microcontrolador "ve" un puerto serie también.

Para lograr la comunicación de la aplicación Java con el puerto serial emulado, se utiliza la librería "RXTXcomm"

La instalación se describe en su sitio.

Uno de los métodos descritos para la utilización de esta librería, en Windows, y que funciona muy bien (de hecho fue nuestra forma de hacerlo), es utilizar directamente el archivo ya compilado agregándolo en el momento de la compilación del nuevo código con el parametro -cp para javac. Para esto, previamente se debe agregar además un dll en los archivos del sistema de Windows e incluir todos los archivos del programa al archivo jar. Todos los archivos necesarios se encuentran también en el sitio de la librería en la zona de descargas.

Allí se encuentran tanto los archivos fuente como los ya compilados.