Raspberry Pi - TMD26721 Infrardeči digitalni detektor bližine Python Vadnica: 4 koraki
Raspberry Pi - TMD26721 Infrardeči digitalni detektor bližine Python Vadnica: 4 koraki
Anonim
Image
Image

TMD26721 je infrardeči digitalni detektor bližine, ki zagotavlja popoln sistem zaznavanja bližine in logiko digitalnega vmesnika v enem samem 8-polnem modulu za površinsko montažo. Odkrivanje bližine vključuje izboljšan signal-šum in natančnost. Register zamika bližine omogoča kompenzacijo preslušavanja optičnega sistema med IR LED in senzorjem. Tukaj je njegova predstavitev z malinovim pi z uporabo kode python.

Korak: Kaj potrebujete.. !

Kaj rabiš..!!
Kaj rabiš..!!

1. Malina Pi

2. TMD26721

3. Kabel I²C

4. I²C ščit za Raspberry Pi

5. Ethernetni kabel

2. korak: Povezave:

Povezave
Povezave
Povezave
Povezave
Povezave
Povezave
Povezave
Povezave

Za malino pi vzemite ščit I2C in ga nežno potisnite čez zatiče gpio maline pi.

Nato en konec kabla I2C priključite na senzor TMD26721, drugi konec pa na ščit I2C.

Ethernetni kabel priključite tudi na pi ali pa uporabite modul WiFi.

Povezave so prikazane na zgornji sliki.

3. korak: Koda:

Koda
Koda

Kodo python za TMD26721 lahko prenesete iz našega skladišča github- ControlEverythingCommunity

Tukaj je povezava za isto:

github.com/ControlEverythingCommunity/TMD2…

Podatkovni list TMD26721 lahko najdete tukaj:

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

Za kodo python smo uporabili knjižnico SMBus, koraki za namestitev SMBus na malino pi so opisani tukaj:

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

Kodo lahko tudi kopirate od tu, podana je na naslednji način:

# Razdeljeno z licenco za svobodno voljo.

# Uporabite ga kakor koli želite, dobičkonosno ali brezplačno, pod pogojem, da ustreza licencam pripadajočih del.

# TMD26721

# Ta koda je zasnovana za delo z mini modulom TMD26721_I2CS I2C, ki je na voljo na spletnem mestu ControlEverything.com.

#

uvoz smbus

čas uvoza

# Pridobite avtobus I2C

vodilo = smbus. SMBus (1)

# TMD26721 naslov, 0x39 (57)

# Izberite omogoči register registra, 0x00 (0), z ukaznim registrom 0x80 (128)

# 0x0D (14) Vklop, čakanje omogočeno, bližina omogočena

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

# TMD26721 naslov, 0x39 (57)

# Izberite register za nadzor časa bližine, 0x02 (2), z registrom ukazov 0x80 (128)

# 0xFF (255) Čas = 2,73 ms

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

# TMD26721 naslov, 0x39 (57)

# Izberite register čakalnega časa 0x03 (03), z registrom ukazov, 0x80 (128)# 0xFF (255) Čas - 2,73 ms

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

# Naslov TMD26721, 0x39 (57# Izberite register števila impulzov, 0x0E (14), z registrom ukazov 0x80 (128)

# 0x20 (32) Število impulzov = 32

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

# TMD26721 naslov, 0x39 (57)

# Izberite krmilni register, 0x0F (15), z ukaznim registrom 0x80 (128)

# 0x20 (32) V bližini je dioda CH1

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

time.sleep (0,8)

# TMD26721 naslov, 0x39 (57)

# Preberite podatke nazaj iz 0x18 (57) z ukaznim registrom 0x80 (128), 2 bajta

# Proximity lsb, Proximity msb

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

# Pretvorite podatke

bližina = podatki [1] * 256 + podatki [0]

# Iznesite podatke na zaslon

natisnite "Bližina naprave: %d" %bližina

4. korak: Aplikacije:

TMD26721 je infrardeči digitalni senzor bližine, ki ga je mogoče vključiti v nadzor mobilnega telefona na zaslonu na dotik in vklop samodejnega zvočnika. Ponuja lahko tudi mehansko zamenjavo stikala in poravnavo papirja. Zaradi visoke učinkovitosti in zanesljivosti je primeren za različne aplikacije zaznavanja bližine.

Priporočena: