Inhoudsopgave:

Raspberry Pi - TMD26721 Infrarood digitale nabijheidsdetector Python-zelfstudie - Ajarnpa
Raspberry Pi - TMD26721 Infrarood digitale nabijheidsdetector Python-zelfstudie - Ajarnpa

Video: Raspberry Pi - TMD26721 Infrarood digitale nabijheidsdetector Python-zelfstudie - Ajarnpa

Video: Raspberry Pi - TMD26721 Infrarood digitale nabijheidsdetector Python-zelfstudie - Ajarnpa
Video: Raspberry Pi TMD26721 Infrared Digital Proximity Detector Java Tutorial 2024, November
Anonim
Image
Image

TMD26721 is een infrarood digitale nabijheidsdetector die een compleet nabijheidsdetectiesysteem en digitale interfacelogica biedt in een enkele 8-pins opbouwmodule. De nabijheidsdetectie omvat verbeterde signaal-ruis en nauwkeurigheid. Een proximity-offsetregister maakt compensatie mogelijk voor overspraak van het optische systeem tussen de IR-led en de sensor. Hier is de demonstratie met raspberry pi met behulp van python-code.

Stap 1: Wat je nodig hebt.

Wat je nodig hebt..!!
Wat je nodig hebt..!!

1. Raspberry Pi

2. TMD26721

3. I²C-kabel

4. I²C-schild voor Raspberry Pi

5. Ethernet-kabel

Stap 2: Aansluitingen:

Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen
Aansluitingen

Neem een I2C-schild voor Raspberry Pi en duw het voorzichtig over de gpio-pinnen van Raspberry Pi.

Sluit vervolgens het ene uiteinde van de I2C-kabel aan op de TMD26721-sensor en het andere uiteinde op de I2C-afscherming.

Sluit ook de Ethernet-kabel aan op de pi of u kunt een WiFi-module gebruiken.

De aansluitingen zijn weergegeven in de afbeelding hierboven.

Stap 3: Coderen:

Code
Code

De python-code voor TMD26721 kan worden gedownload van onze github-repository- ControlEverythingCommunity

Hier is de link voor hetzelfde:

github.com/ControlEverythingCommunity/TMD2…

De datasheet van TMD26721 is hier te vinden:

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

We hebben de SMBus-bibliotheek gebruikt voor python-code, de stappen om SMBus op raspberry pi te installeren worden hier beschreven:

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

U kunt de code ook hier kopiëren, deze wordt als volgt gegeven:

# Gedistribueerd met een vrije wilslicentie.

# Gebruik het zoals je wilt, winst of gratis, op voorwaarde dat het past in de licenties van de bijbehorende werken.

# TMD26721

# Deze code is ontworpen om te werken met de TMD26721_I2CS I2C Mini Module die verkrijgbaar is via ControlEverything.com.

#

import smbus

import tijd

# Krijg I2C-bus

bus = smbus. SMBus(1)

# TMD26721 adres, 0x39(57)

# Selecteer enable register register, 0x00(0), met command register 0x80(128)

# 0x0D(14) Inschakelen, Wacht ingeschakeld, Nabijheid ingeschakeld

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

# TMD26721 adres, 0x39(57)

# Selecteer proximity time control register, 0x02(2), met command register 0x80(128)

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

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

# TMD26721 adres, 0x39(57)

# Selecteer wachttijdregister 0x03(03), met commandoregister, 0x80(128)# 0xFF(255) Tijd - 2.73ms

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

# TMD26721 adres, 0x39(57# Select pulse count register, 0x0E(14), with command register 0x80(128)

# 0x20 (32) Pulstelling = 32

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

# TMD26721 adres, 0x39(57)

# Selecteer controleregister, 0x0F(15), met commandoregister 0x80(128)

# 0x20(32) Nabijheid gebruikt CH1-diode

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

tijd.slaap(0.8)

# TMD26721 adres, 0x39(57)

# Lees gegevens terug van 0x18(57) met commandoregister 0x80(128), 2 bytes

# Nabijheid lsb, Nabijheid msb

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

# Converteer de gegevens

nabijheid = data[1] * 256 + data[0]

# Gegevens uitvoeren naar scherm

print "Nabijheid van het apparaat: %d" %nabijheid

Stap 4: Toepassingen:

TMD26721 is een infrarood digitale nabijheidssensor die kan worden geïntegreerd in de aanraakschermbediening van de mobiele telefoon en de automatische activering van de luidspreker. Het kan ook mechanische schakelaarvervanging en papieruitlijning bieden. Zijn hoge efficiëntie en betrouwbaarheid maken hem geschikt voor verschillende toepassingen met nabijheidsdetectie.

Aanbevolen: