Paso 3: código:
El código java para A1332 puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/A133...
La hoja de datos de A1332 puede encontrarse aquí:
https://S3.amazonaws.com/controleverything.Media/c...
Hemos utilizado pi4j biblioteca de código java, los pasos para instalar pi4j en frambuesa pi se describe aquí:
También puede copiar el código desde aquí, se da como sigue:
Distribuido con una licencia de libre albedrío.
Se usa cualquier forma desea, beneficio o libre, siempre cabe en las licencias de sus obras anexas.
A1332
Este código está diseñado para trabajar con el módulo de Mini de I2C A1332_I2CS de ControlEverything.com.
https://www.controleverything.com/content/Hall-EF...
Import com.pi4j.io.i2c.I2CBus;
Import com.pi4j.io.i2c.I2CDevice;
Import com.pi4j.io.i2c.I2CFactory;
importación java.io.IOException;
clase pública A1332
{
público estático principal vacío (cadena args[]) produce excepción
{
Crear bus I2C
Bus I2CBus = I2CFactory.getInstance(I2CBus.BUS_1);
Obtener dispositivo I2C, A1332 I2C dirección es 0x0C(12)
Dispositivo de I2CDevice = Bus.getDevice(0x0C);
Thread.Sleep(500);
Lee 2 bytes de datos
raw_adc msb, lsb raw_adc
datos de Byte [] = new byte [2];
Device.Read (datos, 0, 2);
Comprobación de datos válidos
mientras que ((datos [0] == 0) & & (datos [1] == 0))
{
Device.Read (datos, 0, 2);
}
Convertir los datos en 12 bits
int raw_adc = ((datos [0] & 0x0F) * 256 + (datos [1] & 0xFF));
ángulo doble = (raw_adc / 4096.0) * 360;
Datos de salida a pantalla
System.out.printf ("ángulo magnético: %.2f %n", ángulo);
}
}