Мазмуну:

Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python үйрөткүчү: 4 кадам
Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python үйрөткүчү: 4 кадам

Video: Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python үйрөткүчү: 4 кадам

Video: Raspberry Pi - TMD26721 Infrared Digital Proximity Detector Python үйрөткүчү: 4 кадам
Video: Raspberry Pi TMD2771 Ambient Light Sensing (ALS) Proximity Detection Python Tutorial 2024, Ноябрь
Anonim
Image
Image

TMD26721-бул инфрақызыл санариптик жакындык детектору, ал толугу менен жакындыкты аныктоо тутумун жана санариптик интерфейстин логикасын бир 8-пиндүү беттин үстүнө орнотуу модулунда камсыз кылат. Жакындыктын офсеттик реестри IR LED менен сенсордун ортосундагы оптикалык системанын кесилишине компенсация берет. Бул жерде python кодун колдонуп, малина pi менен анын көрсөтмөсү.

1 -кадам: Сизге эмне керек..

Сизге эмне керек.. !!
Сизге эмне керек.. !!

1. Raspberry Pi

2. TMD26721

3. I²C кабели

4. Raspberry Pi үчүн I²C Shield

5. Ethernet кабели

2 -кадам: Байланыштар:

Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар
Байланыштар

Малина пи үчүн I2C калканчын алыңыз жана аны акырын малинанын пи gpio казыктарынын үстүнө басыңыз.

Андан кийин I2C кабелинин бир учун TMD26721 сенсоруна, экинчи учун I2C калканчына туташтырыңыз.

Ethernet кабелин пи -ге туташтырыңыз же WiFi модулун колдонсоңуз болот.

Байланыштар жогорудагы сүрөттө көрсөтүлгөн.

3 -кадам: Код:

Код
Код

TMD26721 үчүн питон кодун биздин github репозиторийибизден жүктөп алсаңыз болот- ControlEverythingCommunity

Мына ушуга шилтеме:

github.com/ControlEverythingCommunity/TMD2…

TMD26721 маалымат барагын бул жерден тапса болот:

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

Биз SMBus китепканасын python коду үчүн колдонгонбуз, малина пи боюнча SMBus орнотуу кадамдары бул жерде сүрөттөлгөн:

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

Сиз бул жерден кодду көчүрүп алсаңыз болот, ал төмөнкүчө берилген:

# Эркин лицензия менен бөлүштүрүлгөн.

# Аны каалагандай колдон, пайда же бекер, эгерде ал тиешелүү эмгектеринин лицензиясына туура келсе.

# TMD26721

# Бул код ControlEverything.com жеткиликтүү болгон TMD26721_I2CS I2C Mini Module менен иштөө үчүн иштелип чыккан.

#

smbus импорттоо

импорттоо убактысы

# I2C автобусун алыңыз

автобус = smbus. SMBus (1)

# TMD26721 дареги, 0x39 (57)

# 0x00 (0) регистринин регистрин иштетүүнү тандаңыз, 0x80 (128) буйругу менен

# 0x0D (14) Күйгүзүү, күтүү иштетилди, жакындык иштетилди

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

# TMD26721 дареги, 0x39 (57)

# 0x02 (2) жакындыкты көзөмөлдөө регистрин тандаңыз, 0x80 (128) буйругу менен

# 0xFF (255) Убакыт = 2.73 мс

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

# TMD26721 дареги, 0x39 (57)

# Күтүү убактысынын регистрин тандаңыз 0x03 (03), буйрук реестри менен, 0x80 (128)# 0xFF (255) Убакыт - 2.73ms

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

# TMD26721 дареги, 0x39 (57# Импульс саноо регистрин тандоо, 0x0E (14), 0x80 (128) буйругу менен

# 0x20 (32) Пульс саны = 32

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

# TMD26721 дареги, 0x39 (57)

# 0x0F (15) башкаруу регистрин танда, 0x80 (128) буйругу менен

# 0x20 (32) Жакындык CH1 диодун колдонот

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

убакыт.уйку (0.8)

# TMD26721 дареги, 0x39 (57)

# 0x18 (57) маалыматын 0x80 (128) буйругу менен, 2 байт менен окуу

# Жакындык lsb, Жакындык msb

маалыматтар = bus.read_i2c_block_data (0x39, 0x18 | 0x80, 2)

# Маалыматтарды айландыруу

жакындык = маалыматтар [1] * 256 + маалымат [0]

# Экранга маалыматтарды чыгаруу

басып чыгаруу "Түзмөктүн жакындыгы: %d" %жакындык

4 -кадам: Тиркемелер:

TMD26721 - бул инфракызыл санариптик жакындык сенсору, ал мобилдик телефондун сенсордук экранын көзөмөлдөөгө жана автоматтык спикерфонду иштетүүгө киргизилиши мүмкүн. Ал ошондой эле Механикалык которууну алмаштырууну, ошондой эле Кагазды тегиздөөнү камсыздай алат. Анын жогорку эффективдүүлүгү жана ишенимдүүлүгү ар кандай жакындыкты сезүү колдонмолору үчүн жарактуу кылат.

Сунушталууда: