Raspberry Pi - Tutorial Python cu detector de proximitate digital cu infraroșu TMD26721: 4 pași
Raspberry Pi - Tutorial Python cu detector de proximitate digital cu infraroșu TMD26721: 4 pași
Anonim
Image
Image

TMD26721 este un detector de proximitate digital cu infraroșu care oferă un sistem complet de detectare a proximității și o logică de interfață digitală într-un singur modul de montare pe suprafață cu 8 pini. Detecția de proximitate include semnal-zgomot și precizie îmbunătățite. Un registru offset de proximitate permite compensarea diafragmei sistemului optic între LED-ul IR și senzor. Iată demonstrația sa cu raspberry pi folosind codul python.

Pasul 1: De ce ai nevoie..

De ce ai nevoie..!!
De ce ai nevoie..!!

1. Raspberry Pi

2. TMD26721

3. Cablu I²C

4. Scut I²C pentru Raspberry Pi

5. Cablu Ethernet

Pasul 2: Conexiuni:

Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni
Conexiuni

Luați un scut I2C pentru raspberry pi și împingeți-l ușor peste pinii gpio ai raspberry pi.

Apoi conectați capătul cablului I2C la senzorul TMD26721 și celălalt capăt la ecranul I2C.

De asemenea, conectați cablul Ethernet la pi sau puteți utiliza un modul WiFi.

Conexiunile sunt afișate în imaginea de mai sus.

Pasul 3: Cod:

Cod
Cod

Codul python pentru TMD26721 poate fi descărcat din depozitul nostru github- ControlEverythingCommunity

Iată linkul pentru același lucru:

github.com/ControlEverythingCommunity/TMD2…

Fișa tehnică a TMD26721 poate fi găsită aici:

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

Am folosit biblioteca SMBus pentru codul Python, pașii pentru instalarea SMBus pe raspberry pi sunt descriși aici:

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

De asemenea, puteți copia codul de aici, acesta este dat după cum urmează:

# Distribuit cu o licență de voință liberă.

# Folosiți-l în orice mod doriți, profit sau gratuit, cu condiția să se încadreze în licențele lucrărilor sale asociate.

# TMD26721

# Acest cod este conceput pentru a funcționa cu mini-modulul TMD26721_I2CS I2C disponibil de pe ControlEverything.com.

#

import smbus

timpul de import

# Ia autobuzul I2C

autobuz = smbus. SMBus (1)

# Adresa TMD26721, 0x39 (57)

# Selectați activați registrul de înregistrare, 0x00 (0), cu registrul de comandă 0x80 (128)

# 0x0D (14) Pornit, Așteptați activat, Proximitate activat

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

# Adresa TMD26721, 0x39 (57)

# Selectați registrul de control al timpului de proximitate, 0x02 (2), cu registrul de comandă 0x80 (128)

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

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

# Adresa TMD26721, 0x39 (57)

# Selectați înregistrarea timpului de așteptare 0x03 (03), cu registrul comenzilor, 0x80 (128) # 0xFF (255) Timp - 2,73 ms

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

# Adresă TMD26721, 0x39 (57 # Selectați registrul numărului de impulsuri, 0x0E (14), cu registrul de comandă 0x80 (128)

# 0x20 (32) Număr de impulsuri = 32

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

# Adresa TMD26721, 0x39 (57)

# Selectați registrul de control, 0x0F (15), cu registrul de comandă 0x80 (128)

# 0x20 (32) Proximitatea folosește dioda CH1

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

time.sleep (0.8)

# Adresa TMD26721, 0x39 (57)

# Citiți datele înapoi de la 0x18 (57) cu registrul de comandă 0x80 (128), 2 octeți

# Proximity lsb, Proximity msb

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

# Convertiți datele

proximitate = date [1] * 256 + date [0]

# Ieșire date pe ecran

tipăriți „Apropierea dispozitivului:% d”% proximitate

Pasul 4: Aplicații:

TMD26721 este un senzor de proximitate digital în infraroșu care poate fi încorporat în controlul ecranului senzitiv al telefonului mobil și activarea difuzorului automat. De asemenea, poate oferi înlocuirea mecanică a comutatorului, precum și alinierea hârtiei. Eficiența și fiabilitatea ridicată îl fac potrivit pentru diverse aplicații de detectare a proximității.

Recomandat: