Raspberry Pi - TMD26721 Infracrveni digitalni detektor blizine Python Vodič: 4 koraka
Raspberry Pi - TMD26721 Infracrveni digitalni detektor blizine Python Vodič: 4 koraka
Anonim
Image
Image

TMD26721 je infracrveni digitalni detektor blizine koji pruža potpuni sistem otkrivanja blizine i logiku digitalnog sučelja u jednom 8-pinskom modulu za površinsko montiranje. Detekcija blizine uključuje poboljšani signal-šum i preciznost. Registar pomaka blizine omogućava kompenzaciju za preslušavanje optičkog sistema između IR LED i senzora. Evo njegove demonstracije s malinom pi pomoću python koda.

Korak 1: Šta vam treba..

Sta ti treba..!!
Sta ti treba..!!

1. Malina Pi

2. TMD26721

3. I²C kabel

4. I²C štit za Raspberry Pi

5. Ethernet kabel

Korak 2: Veze:

Veze
Veze
Veze
Veze
Veze
Veze
Veze
Veze

Uzmite I2C štit za malinu pi i nježno je gurnite preko gpio igle maline pi.

Zatim spojite jedan kraj I2C kabela na senzor TMD26721, a drugi kraj na I2C štit.

Također priključite Ethernet kabel na pi ili možete koristiti WiFi modul.

Veze su prikazane na gornjoj slici.

Korak 3: Kod:

Šifra
Šifra

Python kod za TMD26721 može se preuzeti sa našeg github spremišta- ControlEverythingCommunity

Evo linka za isto:

github.com/ControlEverythingCommunity/TMD2…

Tehnički list TMD26721 možete pronaći ovdje:

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

Koristili smo SMBus biblioteku za python kod, koraci za instaliranje SMBus -a na malinu pi opisani su ovdje:

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

Kôd možete i kopirati odavde, dat je na sljedeći način:

# Distribuirano s licencom za slobodnu volju.

# Koristite ga kako god želite, profitno ili besplatno, pod uvjetom da se uklapa u licence povezanih djela.

# TMD26721

# Ovaj kôd je dizajniran za rad s TMD26721_I2CS I2C mini modulom dostupnim na ControlEverything.com.

#

import smbus

vreme uvoza

# Nabavite I2C autobus

sabirnica = smbus. SMBus (1)

# TMD26721 adresa, 0x39 (57)

# Odaberite omogući registar registra, 0x00 (0), sa naredbenim registrom 0x80 (128)

# 0x0D (14) Uključeno, čekanje omogućeno, blizina omogućena

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

# TMD26721 adresa, 0x39 (57)

# Odaberite registar kontrole vremena blizine, 0x02 (2), sa registrom naredbi 0x80 (128)

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

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

# TMD26721 adresa, 0x39 (57)

# Odaberite registar vremena čekanja 0x03 (03), sa komandnim registrom, 0x80 (128)# 0xFF (255) Vrijeme - 2,73ms

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

# TMD26721 adresa, 0x39 (57# Odaberite registar broja impulsa, 0x0E (14), sa naredbenim registrom 0x80 (128)

# 0x20 (32) Broj impulsa = 32

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

# TMD26721 adresa, 0x39 (57)

# Odaberite upravljački registar, 0x0F (15), sa naredbenim registrom 0x80 (128)

# 0x20 (32) Blizina koristi CH1 diodu

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

vrijeme.spavanje (0,8)

# TMD26721 adresa, 0x39 (57)

# Očitavanje podataka iz 0x18 (57) pomoću komandnog registra 0x80 (128), 2 bajta

# Proximity lsb, Proximity msb

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

# Pretvorite podatke

blizina = podaci [1] * 256 + podaci [0]

# Izlažite podatke na ekran

ispišite "Blizina uređaja: %d" %blizina

Korak 4: Aplikacije:

TMD26721 je infracrveni digitalni senzor blizine koji se može ugraditi u kontrolu ekrana osjetljivog na dodir mobilne slušalice i omogućavanje automatskog spikerfona. Takođe može da obezbedi zamenu mehaničkih prekidača, kao i poravnanje papira. Njegova visoka efikasnost i pouzdanost čine ga pogodnim za različite aplikacije mjerenja blizine.

Preporučuje se: