Étape 3: Code :
Le code java pour TMD26721 peut être téléchargé depuis notre dépôt github-ControlEverythingCommunity
Voici le lien pour la même chose :
https://github.com/ControlEverythingCommunity/TMD2...
Le datasheet du TMD26721 peut être trouvé ici :
https://S3.amazonaws.com/controleverything.Media/c...
Nous avons utilisé pi4j bibliothèque de code java, les étapes pour installer pi4j sur pi framboise est décrit ici :
Vous pouvez également copier le code d’ici, il est affecté comme suit :
Distribué avec une licence libre-arbitre.
Utilisez-le toute façon vous voulez, Profitez ou libre, autant il s’intègre dans les licences de ses ouvrages connexes.
TMD26721
Copiez le code suivant est conçu pour fonctionner avec le Module TMD26721_I2CS I2C Mini, disponible 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 ;
import java.io.IOException ;
public class TMD26721
{
Public Shared Sub main (chaîne args[]) lève Exception
{
Créer le bus I2C
I2CBus bus = I2CFactory.getInstance(I2CBus.BUS_1) ;
Obtenez le périphérique I2C, I2C TMD26721 adresse est 0x39(57)
Dispositif de I2CDevice = bus.getDevice(0x39) ;
Sélectionnez proximité temps inscrire ou avec la commande Enregistrer
PtIMe = 2,73 ms
Device.Write (0 x 02 | 0 x 80, (byte) 0xFF) ;
Sélectionnez inscrire des temps d’attente ou avec la commande Enregistrer
Wtime = 2,73 ms
Device.Write (0 x 03 | 0 x 80, (byte) 0xFF) ;
Sélectionnez impulsion Registre de compte ou avec la commande Enregistrer
Comptage d’impulsion = 32
Device.Write (0x0E | 0 x 80, (octet) 0 x 20) ;
Contrôle de sélection enregistrer ou avec la commande
force de mA LED 100, proximtiy utilise CH1 diode, 1 x PGAIN, 1 x AGAIN
Device.Write (0x0F | 0 x 80, (octet) 0 x 20) ;
Sélectionnez enable inscrire ou avec la commande Enregistrer
Power ON, proximité et attente a permis de définir
Device.Write (0 x 00 | 0 x 80, (octet) 0x0D) ;
Thread.Sleep(800) ;
Lire les 2 octets de données de l’adresse 0x18(24)
proximité lsb, proximité msb
données de Byte [] = new ubyte [2] ;
Device.Read (0 x 18 | 0 x 80, données, 0, 2) ;
Convertir les données
proximité d’int = (((données [1] & 0xFF) * 256) + (data [0] & 0xFF)) ;
Données de sortie à l’écran
System.out.printf ("proximité de l’appareil : %d %n », proximité) ;
}
}