Étape 3: Code :
Le code python 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é SMBus bibliothèque de code python, les étapes pour installer SMBus sur pi framboise est décrite ici :
https://Pypi.Python.org/Pypi/SMBus-cffi/0.5.1
Vous pouvez également copier le code d’ici, il est affecté comme suit :
# Distribué avec une licence libre-arbitre.
# Utiliser aucunement vous voulez, Profitez ou sans, autant il s’intègre dans les licences de ses ouvrages connexes.
# TMD26721
# Ce code est conçu pour fonctionner avec le TMD26721_I2CS I2C Mini Module disponible à ControlEverything.com.
# https://www.controleverything.com/content/Proximi...
importer smbus
moment de l’importation
# Obtenir le bus I2C
bus = smbus. SMBus(1)
# Adresse de TMD26721, 0x39(57)
# Sélectionnez Activer registre Registre, 0x00(0), avec la commande Registre 0x80(128)
# 0x0D(14) mise sous tension, attendez a permis, permis à proximité
bus.write_byte_data (0 x 39, 0 x 00 | 0 x 80, 0x0D)
# Adresse de TMD26721, 0x39(57)
# Sélectionnez temps proximité contrôle register, 0x02(2), avec la commande Registre 0x80(128)
# 0xFF(255) temps = 2,73 ms
bus.write_byte_data (0 x 39, 0 x 02 | 0 x 80, 0xFF)
# Adresse de TMD26721, 0x39(57)
# Sélectionnez délai 0x03(03) de Registre, avec la commande Enregistrer, 0x80(128) # 0xFF(255) temps - 2.73ms
bus.write_byte_data (0 x 39, 0 x 03 | 0 x 80, 0xFF)
# TMD26721 adresse, 0 x 39 (registre de compte 57# Select pulse, 0x0E(14), avec la commande Registre 0x80(128)
# 0x20(32) comptage d’impulsions = 32
bus.write_byte_data (0 x 39, 0x0E | 0 x 80, 0 x 20)
# Adresse de TMD26721, 0x39(57)
# Registre de commande select, 0x0F(15), avec la commande Registre 0x80(128)
# 0x20(32) proximité utilise CH1 diode
bus.write_byte_data (0 x 39, 0x0F | 0 x 80, 0 x 20)
Time.Sleep(0.8)
# Adresse de TMD26721, 0x39(57)
# Lecture de données de retour de 0x18(57) avec la commande Enregistrer 0x80(128), 2 octets
# Proximité lsb, proximité msb
données = bus.read_i2c_block_data (0 x 39, 0 x 18 | 0 x 80, 2)
# Convertir les données
proximité = données [1] * 256 + data [0]
# Sortie de données à l’écran
imprimer "proximité de l’appareil: %d" proximité %