Innholdsfortegnelse:

Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Python -opplæring: 4 trinn
Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Python -opplæring: 4 trinn

Video: Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Python -opplæring: 4 trinn

Video: Raspberry Pi - TMD26721 Infrarød digital nærhetsdetektor Python -opplæring: 4 trinn
Video: Raspberry Pi TMD2771 Ambient Light Sensing (ALS) Proximity Detection Python Tutorial 2024, November
Anonim
Image
Image

TMD26721 er en infrarød digital nærhetsdetektor som gir et komplett nærhetsdeteksjonssystem og digital grensesnittlogikk i en enkelt 8-pinners overflatemonteringsmodul. Nærhetsdeteksjonen inkluderer forbedret signal-til-støy og nøyaktighet. Et nærhetsforskyvningsregister tillater kompensasjon for optisk systemoverskridelse mellom IR -LED og sensoren. Her er demonstrasjonen med bringebær pi ved hjelp av python -kode.

Trinn 1: Hva du trenger..

Hva trenger du..!!
Hva trenger du..!!

1. Bringebær Pi

2. TMD26721

3. I²C -kabel

4. I²C Shield for Raspberry Pi

5. Ethernet -kabel

Trinn 2: Tilkoblinger:

Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger
Tilkoblinger

Ta et I2C -skjold for bringebærpi og skyv det forsiktig over gpio -pinnene til bringebærpi.

Koble deretter den ene enden av I2C -kabelen til TMD26721 -sensoren og den andre enden til I2C -skjoldet.

Koble også Ethernet -kabelen til pi eller du kan bruke en WiFi -modul.

Tilkoblinger er vist på bildet ovenfor.

Trinn 3: Kode:

Kode
Kode

Python-koden for TMD26721 kan lastes ned fra vårt github-depot- ControlEverythingCommunity

Her er lenken til det samme:

github.com/ControlEverythingCommunity/TMD2…

Databladet til TMD26721 finner du her:

s3.amazonaws.com/controleverything.media/c…

Vi har brukt SMBus bibliotek for python -kode, trinnene for å installere SMBus på bringebær pi er beskrevet her:

pypi.python.org/pypi/smbus-cffi/0.5.1

Du kan også kopiere koden herfra, den er gitt som følger:

# Distribuert med en fri viljelisens.

# Bruk den slik du vil, profitt eller gratis, forutsatt at den passer inn i lisensene til de tilhørende verkene.

# TMD26721

# Denne koden er designet for å fungere med TMD26721_I2CS I2C Mini Module tilgjengelig fra ControlEverything.com.

#

importer smbus

importtid

# Få I2C -buss

buss = smbus. SMBus (1)

# TMD26721 adresse, 0x39 (57)

# Velg aktiver registerregister, 0x00 (0), med kommandoregister 0x80 (128)

# 0x0D (14) Slå på, Vent aktivert, Nærhet aktivert

bus.write_byte_data (0x39, 0x00 | 0x80, 0x0D)

# TMD26721 adresse, 0x39 (57)

# Velg register for nærhetstidskontroll, 0x02 (2), med kommandoregister 0x80 (128)

# 0xFF (255) Tid = 2,73 ms

bus.write_byte_data (0x39, 0x02 | 0x80, 0xFF)

# TMD26721 adresse, 0x39 (57)

# Velg ventetidsregister 0x03 (03), med kommandoregister, 0x80 (128)# 0xFF (255) Tid - 2,73 ms

bus.write_byte_data (0x39, 0x03 | 0x80, 0xFF)

# TMD26721 adresse, 0x39 (57# Velg pulsregister, 0x0E (14), med kommandoregister 0x80 (128)

# 0x20 (32) Pulstelling = 32

bus.write_byte_data (0x39, 0x0E | 0x80, 0x20)

# TMD26721 adresse, 0x39 (57)

# Velg kontrollregister, 0x0F (15), med kommandoregister 0x80 (128)

# 0x20 (32) Nærhet bruker CH1 -diode

bus.write_byte_data (0x39, 0x0F | 0x80, 0x20)

time.sleep (0,8)

# TMD26721 adresse, 0x39 (57)

# Les data tilbake fra 0x18 (57) med kommandoregister 0x80 (128), 2 byte

# Nærhet lsb, Nærhet msb

data = bus.read_i2c_block_data (0x39, 0x18 | 0x80, 2)

# Konverter dataene

nærhet = data [1] * 256 + data [0]

# Utdata til skjermen

print "Nærhet til enheten: %d" %nærhet

Trinn 4: Søknader:

TMD26721 er en infrarød digital nærhetssensor som kan integreres i berøringsskjermkontroll for mobilt håndsett og automatisk høyttalertelefonaktivering. Den kan også bytte mekanisk bryter samt papirjustering. Den høye effektiviteten og påliteligheten gjør den egnet for forskjellige applikasjoner for nærhetsmåling.

Anbefalt: