Raspberry Pi - TMD26721 infraröd Digital närhet detektor Python Tutorial (3 / 4 steg)
Steg 3: kod:
Python koden för TMD26721 kan hämtas från vår github repository-ControlEverythingCommunity
Här är länken för samma:
https://github.com/ControlEverythingCommunity/TMD2...
Databladet för TMD26721 kan hittas här:
https://s3.amazonaws.com/controleverything.Media/c...
Vi har använt SMBus bibliotek för python kod, stegen för att installera SMBus på raspberry pi beskrivs här:
https://pypi.python.org/pypi/SMBus-cffi/0.5.1
Du kan också kopiera koden från här, det ges enligt följande:
# Distribueras med en fri vilja licens.
# Använd det något sätt du vill, vinst eller gratis, förutsatt att den passar i licenser av dess tillhörande arbeten.
# TMD26721
# Den här koden är avsedd att arbeta med TMD26721_I2CS I2C Mini modulen tillgänglig från ControlEverything.com.
# https://www.controleverything.com/content/Proximi...
importera smbus
Importera tid
# Få I2C bussen
Bus = smbus. SMBus(1)
# TMD26721 adress, 0x39(57)
# Välj Aktivera register register, 0x00(0), med kommandot register 0x80(128)
# 0x0D(14) start, vänta aktiverad närhet aktiverad
Bus.write_byte_data (0x39, 0x00 | 0x80, 0x0D)
# TMD26721 adress, 0x39(57)
# Välj avståndstiden kontroll registrera, 0x02(2), med kommandot register 0x80(128)
# 0xFF(255) tid = 2,73 ms
Bus.write_byte_data (0x39, 0x02 | 0x80, 0xFF)
# TMD26721 adress, 0x39(57)
# Välj vänta tid register 0x03(03), med kommandot registrera, 0x80(128) # 0xFF(255) tid - 2.73ms
Bus.write_byte_data (0x39, 0x03 | 0x80, 0xFF)
# TMD26721 adress, 0x39 (57# Välj puls räkningen register, 0x0E(14), med kommandot register 0x80(128)
# 0x20(32) puls count = 32
Bus.write_byte_data (0x39, 0x0E | 0x80, 0x20)
# TMD26721 adress, 0x39(57)
# Select-kontrollen registrerar, 0x0F(15), med kommandot register 0x80(128)
# 0x20(32) närhet använder CH1 diod
Bus.write_byte_data (0x39, 0x0F | 0x80, 0x20)
Time.Sleep(0.8)
# TMD26721 adress, 0x39(57)
# Läs data tillbaka från 0x18(57) med kommandot registrera 0x80(128), 2 byte
# Närhet lsb, närhet msb
data = bus.read_i2c_block_data (0x39, 0x18 | 0x80, 2)
# Konvertera data
närhet = data [1] * 256 + data [0]
# Utdata till skärm
skriva ut "närheten av enheten: %d" % närhet