Paso 3: código:
El código java para PCA9536 puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/PCA9...
La hoja de datos de PCA9536 se puede encontrar 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.
PCA9536
Este código está diseñado para trabajar con el módulo de Mini de I2C PCA9536_I2CIO de ControlEverything.com.
https://www.controleverything.com/content/digital...
Import com.pi4j.io.i2c.I2CBus;
Import com.pi4j.io.i2c.I2CDevice;
Import com.pi4j.io.i2c.I2CFactory;
importación java.io.IOException;
clase PCA9536
{
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, PCA9536 I2C dirección es 0x41(65)
Dispositivo de I2CDevice = Bus.getDevice(0x41);
Registro de configuración seleccione
Todos los pines configurados como entradas
Device.Write (0 x 03, (byte) 0xFF);
Salida a pantalla
System.out.printf ("todo Estado de pernos son alta %n");
Thread.Sleep(500);
Lee 1 byte de datos
datos de Byte [] = new byte [1];
datos [0] = (byte)device.read(0x00);
Convertir los datos a 4 bits
int data1 = (datos [0] & 0x0F);
para (int i = 0; i < 4; i ++)
{
Si ((data1 & ((int)Math.pow (2, i))) == 0)
{
System.out.printf ("I/O Pin %d estado es baja %n", i);
}
otra cosa
{
System.out.printf ("I/O Pin %d estado es alta %n", i);
Thread.Sleep(500);
}
}
}
}