Paso 3: código:
El código java para TMD26721 puede descargarse desde el repositorio de github-ControlEverythingCommunity
Aquí está el enlace para el mismo:
https://github.com/ControlEverythingCommunity/TMD2...
La hoja de datos de TMD26721 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.
TMD26721
Este código está diseñado para trabajar con el módulo de Mini de I2C TMD26721_I2CS de ControlEverything.com.
https://www.controleverything.com/content/proximi...
Import com.pi4j.io.i2c.I2CBus;
Import com.pi4j.io.i2c.I2CDevice;
Import com.pi4j.io.i2c.I2CFactory;
importación java.io.IOException;
clase TMD26721
{
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, TMD26721 I2C dirección es 0x39(57)
Dispositivo de I2CDevice = bus.getDevice(0x39);
Seleccione registrar tiempo de proximidad o con comando registro
Ptime = 2,73 ms
Device.Write (0 x 02 | 0 x 80, (byte) 0xFF);
Seleccione registro de tiempo de espera o con el comando register
Wtiempo = 2,73 ms
Device.Write (0 x 03 | 0 x 80, (byte) 0xFF);
Seleccione pulso cuenta registro o registrar con el comando
Pulso cuenta = 32
Device.Write (0x0E | 0 x 80, (byte) 0 x 20);
Seleccione registro de control o con el comando register
100 fuerza mA LED, proximtiy utiliza diodos de CH1, 1 x PGAIN, 1 x otra vez
Device.Write (0x0F | 0 x 80, (byte) 0 x 20);
Seleccione enable register o registrar con el comando
Sistema de encendido, proximidad y espera habilitada
Device.Write (0 x 00 | 0 x 80, (byte) 0x0D);
Thread.Sleep(800);
Lee 2 bytes de datos de la dirección 0x18(24)
lsb de proximidad, proximidad msb
datos de Byte [] = new byte [2];
Device.Read (0x18 | 0 x 80, datos, 0, 2);
Convertir los datos
proximidad de int = (((datos [1] & 0xFF) * 256) + (datos [0] & 0xFF));
Datos de salida a pantalla
System.out.printf ("proximidad del aparato: %d %n", proximidad);
}
}