İçindekiler:

Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Python Eğitimi: 4 Adım
Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Python Eğitimi: 4 Adım

Video: Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Python Eğitimi: 4 Adım

Video: Raspberry Pi - TMD26721 Kızılötesi Dijital Yakınlık Dedektörü Python Eğitimi: 4 Adım
Video: Raspberry Pi TMD26721 Infrared Digital Proximity Detector Java Tutorial 2024, Temmuz
Anonim
Image
Image

TMD26721, tek bir 8 pinli yüzeye montaj modülünde eksiksiz bir yakınlık algılama sistemi ve dijital arayüz mantığı sağlayan bir kızılötesi dijital yakınlık dedektörüdür. Yakınlık algılama, gelişmiş sinyal-gürültü ve doğruluğu içerir. Bir yakınlık ofset kaydı, IR LED ve sensör arasındaki optik sistem karışmasının telafisine izin verir. İşte python kodunu kullanarak ahududu pi ile gösterimi.

Adım 1: İhtiyacınız Olan Şey..!

Neye ihtiyacın var..!!
Neye ihtiyacın var..!!

1. Ahududu Pi

2. TMD26721

3. I²C Kablosu

4. Raspberry Pi için I²C Kalkanı

5. Ethernet Kablosu

Adım 2: Bağlantılar:

Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar
Bağlantılar

Ahududu pi için bir I2C kalkanı alın ve ahududu pi'nin gpio pimlerinin üzerine hafifçe itin.

Ardından I2C kablosunun bir ucunu TMD26721 sensörüne ve diğer ucunu I2C blendajına bağlayın.

Ayrıca Ethernet kablosunu pi'ye bağlayın veya bir WiFi modülü kullanabilirsiniz.

Bağlantılar yukarıdaki resimde gösterilmiştir.

Adım 3: Kod:

Kod
Kod

TMD26721 için python kodu github depomuzdan indirilebilir- ControlEverythingCommunity

İşte aynısı için bağlantı:

github.com/ControlEverythingCommunity/TMD2…

TMD26721 veri sayfası burada bulunabilir:

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

Python kodu için SMBus kütüphanesini kullandık, raspberry pi'ye SMBus kurma adımları burada açıklanmıştır:

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

Kodu buradan da kopyalayabilirsiniz, aşağıdaki şekilde verilmiştir:

# Özgür irade lisansıyla dağıtılır.

# İlgili eserlerinin lisanslarına uyması koşuluyla, istediğiniz şekilde, kârlı veya ücretsiz olarak kullanın.

#TMD26721

# Bu kod, ControlEverything.com'da bulunan TMD26721_I2CS I2C Mini Modülü ile çalışmak üzere tasarlanmıştır.

#

smbus'u içe aktar

ithalat zamanı

# I2C veri yolunu alın

veri yolu = smbus. SMBus(1)

# TMD26721 adresi, 0x39(57)

# Kayıt kaydını etkinleştir, 0x00(0), komut kaydı 0x80(128) ile seçin

# 0x0D(14) Güç açık, Bekle etkin, Yakınlık etkin

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

# TMD26721 adresi, 0x39(57)

# Yakınlık zaman kontrol kaydı, 0x02(2), komut kaydı 0x80(128) ile seçin

# 0xFF(255) Süre = 2,73 ms

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

# TMD26721 adresi, 0x39(57)

# Bekleme süresi kaydı seç 0x03(03), komut kaydı ile, 0x80(128)# 0xFF(255) Zaman - 2.73ms

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

# TMD26721 adresi, 0x39(57# Darbe sayısı kaydı seç, 0x0E(14), komut kaydı ile 0x80(128)

# 0x20(32) Darbe sayısı = 32

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

# TMD26721 adresi, 0x39(57)

# 0x80(128) komut kaydı ile 0x0F(15) kontrol kaydını seçin

# 0x20(32) Yakınlık CH1 diyot kullanır

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

zaman.uyku(0.8)

# TMD26721 adresi, 0x39(57)

# Komut kaydı 0x80(128), 2 bayt ile 0x18(57)'den verileri geri oku

# Yakınlık lsb, Yakınlık msb

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

# Verileri dönüştürün

yakınlık = veri[1] * 256 + veri[0]

# Ekrana veri çıkışı

yazdır "Aygıtın Yakınlığı: %d" %yakınlığı

Adım 4: Uygulamalar:

TMD26721, Mobil Ahize Dokunmatik Ekran Kontrolü ve Otomatik Hoparlör Etkinleştirme ile birleştirilebilen bir kızılötesi dijital yakınlık sensörüdür. Ayrıca Mekanik Anahtar Değiştirme ve Kağıt Hizalama sağlayabilir. Yüksek verimliliği ve güvenilirliği, çeşitli yakınlık algılama uygulamaları için uygun olmasını sağlar.

Önerilen: