Paso 3: código:
El código de python 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 SMBus biblioteca de código de python, los pasos para instalar SMBus en frambuesa pi se describe aquí:
https://PyPI.Python.org/PyPI/SMBus-cffi/0.5.1
También puede copiar el código desde aquí, se da como sigue:
# Distribuido con una licencia de libre albedrío.
# Usar cualquier manera 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...
importación de smbus
tiempo de importación
# Coger el autobús de I2C
autobús = smbus. SMBus(1)
# Dirección TMD26721, 0x39(57)
# Seleccione Activar registro registro, 0x00(0), con 0x80(128) de registro de comando
# 0x0D(14) encendido, espera habilitada, proximidad con
Bus.write_byte_data (0 x 39, 0 x 00 | 0 x 80, 0x0D)
# Dirección TMD26721, 0x39(57)
# Seleccionar el tiempo de proximidad control de registro, 0x02(2), con 0x80(128) de registro de comando
# 0xFF(255) tiempo = 2,73 ms
Bus.write_byte_data (0 x 39, 0 x 02 | 0 x 80, 0xFF)
# Dirección TMD26721, 0x39(57)
# Seleccione espera tiempo registro 0x03(03), con el comando registrar, 0x80(128) # 0xFF(255) tiempo - 2.73ms
Bus.write_byte_data (0 x 39, 0 x 03 | 0 x 80, 0xFF)
# Dirección TMD26721, 0 x 39 (# 57 pulso Select cuenta registro, 0x0E(14), con 0x80(128) de registro de comando
# 0x20(32) contador de impulsos = 32
Bus.write_byte_data (0 x 39, 0x0E | 0 x 80, 0 x 20)
# Dirección TMD26721, 0x39(57)
# Registro de control select, 0x0F(15), con 0x80(128) de registro de comando
# 0x20(32) proximidad utiliza diodos de CH1
Bus.write_byte_data (0 x 39, 0x0F | 0 x 80, 0 x 20)
Time.Sleep(0.8)
# Dirección TMD26721, 0x39(57)
# Registro de datos lectura de 0x18(57) con el comando 0x80(128), 2 bytes
# Lsb proximidad, proximidad msb
datos = bus.read_i2c_block_data (0 x 39, 0x18 | 0 x 80, 2)
# Convertir los datos
cercanía = datos [1] * 256 + datos [0]
# Salida de datos a pantalla
Imprimir "proximidad del dispositivo: %d" % proximidad