Мазмуну:

SHT25 жана Raspberry Pi колдонуу менен температура жана нымдуулукту көзөмөлдөө: 5 кадам
SHT25 жана Raspberry Pi колдонуу менен температура жана нымдуулукту көзөмөлдөө: 5 кадам

Video: SHT25 жана Raspberry Pi колдонуу менен температура жана нымдуулукту көзөмөлдөө: 5 кадам

Video: SHT25 жана Raspberry Pi колдонуу менен температура жана нымдуулукту көзөмөлдөө: 5 кадам
Video: Arduino Nano SHT25 I2C Humidity & Temperature Sensor Tutorial 2024, Июль
Anonim
Image
Image

Биз жакында температура менен нымдуулуктун мониторингин талап кылган ар кандай долбоорлордун үстүндө иштедик, анан бул эки параметр системанын иштөө эффективдүүлүгүн баалоодо негизги ролду ойной турганын түшүндүк. Өнөр жай деңгээлинде да, жеке тутумдарда да оптималдуу температура системанын шайкеш иштеши үчүн зарыл шарт болуп саналат.

Мына ушул себептен, бул окуу куралында биз SHT25 нымдуулук жана температура сенсорунун иштешин малина пи менен түшүндүрөбүз. Бул өзгөчө үйрөткүчтө анын иштеши Java коду аркылуу көрсөтүлөт.

Бул үчүн сизге керектүү болгон жабдыктар:

1. SHT25

2. Raspberry Pi

3. I2C кабели

4. Малина пи үчүн I2C калканы

1 -кадам: SHT25 Обзор:

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

Биринчиден, сенсордун негизги түшүнүгүнөн жана ал иштеген протокол менен баштайлы.

SHT25 I2C нымдуулук жана температура сенсору ± 1,8%RH ± 0,2 ° C I2C Mini Module. Бул жогорку тактыктагы нымдуулук жана температура сенсорлору форфактор жана интеллект жагынан өнөр жай стандартына айланып, санариптик, I2C форматында калибрленген, сызыктуу сенсор сигналдарын берет. Атайын аналогдук жана санариптик схема менен интеграцияланган бул сенсор температураны жана нымдуулукту өлчөө үчүн эң натыйжалуу аппараттын бири.

Сенсор иштеген байланыш протоколу I2C. I2C интегралдык схеманы билдирет. Бул байланыш протоколу, анда байланыш SDA (сериялык маалыматтар) жана SCL (сериялык саат) линиялары аркылуу ишке ашат. Бул бир эле учурда бир нече түзмөктү туташтырууга мүмкүндүк берет. Бул эң жөнөкөй жана эффективдүү байланыш протоколунун бири.

2 -кадам: Сизге эмне керек …

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

Максатыбызга жетүү үчүн бизге керектүү материалдар төмөнкү аппараттык компоненттерди камтыйт:

1. SHT25 нымдуулук жана температура сенсору

2. Raspberry pi

3. I2C кабели

4. Raspberry Pi үчүн I2C Shield

5. Ethernet кабели

3 -кадам: Аппараттык туташуу:

Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу
Аппараттык туташуу

Аппараттык туташуу бөлүмү негизинен сенсор менен малина пи ортосунда талап кылынган зым байланыштарын түшүндүрөт. Туура туташууларды камсыздоо каалаган өндүрүш үчүн кандайдыр бир системада иштеп жатканда негизги зарылчылык болуп саналат. Ошентип, керектүү байланыштар төмөнкүлөр:

  • SHT25 I2C үстүндө иштейт. Бул жерде сенсордун ар бир интерфейсин кантип зым менен жабуу керектигин көрсөтүүчү зымдардын схемасы келтирилген.
  • Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!
  • Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.

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

4 -кадам: Температура жана нымдуулуктун мониторинги Java коду:

Температураны жана нымдуулукту көзөмөлдөө Java коду
Температураны жана нымдуулукту көзөмөлдөө Java коду
Температураны жана нымдуулукту көзөмөлдөө Java коду
Температураны жана нымдуулукту көзөмөлдөө Java коду

Малина пи колдонуунун артыкчылыгы, башкача айтканда, сенсорго интерфейс үчүн тактаны программалоону каалаган программалоо тилинин ийкемдүүлүгүн камсыздайт. Бул тактанын артыкчылыгын колдонуп, биз бул жерде анын Java программасын көрсөтөбүз. SHT25 үчүн Java кодун биздин github коомчулугунан жүктөп алса болот Dcube Store.

Колдонуучулардын ыңгайлуулугу үчүн, биз бул жерде кодду түшүндүрүп жатабыз:

Коддоонун биринчи кадамы катары java болгон учурда pi4j китепканасын жүктөп алуу керек, анткени бул китепкана коддо колдонулган функцияларды колдойт. Ошентип, китепкананы жүктөө үчүн төмөнкү шилтемеге кире аласыз:

pi4j.com/install.html

Бул сенсордун java кодун бул жерден көчүрүп алсаңыз болот:

com.pi4j.io.i2c. I2CBus импорттоо;

com.pi4j.io.i2c. I2CDevice импорттоо; com.pi4j.io.i2c. I2CFactory импорттоо; java.io. IOException импорттоо; SHT25 коомдук классы {public static void main (String args ) өзгөчө учурларды таштайт {// I2C шинасын түзүү I2CBus Bus = I2CFactory.getInstance (I2CBus. BUS_1); // I2C түзмөгүн алыңыз, SHT25 I2C дареги 0x40 (64) I2CDevice түзмөгү = Bus.getDevice (0x40); // Температураны өлчөө буйругун жөнөтүңүз, master device.write (HAY) кармабаңыз ((байт) 0xF3); Thread.sleep (500); // 2 байт маалымат окуу // темп msb, temp lsb байт data = жаңы байт [2]; device.read (маалыматтар, 0, 2); // Маалыматтарды кош cTemp = (кош fTemp = (cTemp * 1.8) + 32; // Нымдуулукту өлчөө буйругун жөнөтүү, NO HOLD master master.write ((байт) 0xF5); Thread.sleep (500); // Окуу 2 байт маалымат // нымдуулук мсб, нымдуулук lsb device.read (маалыматтар, 0, 2); // Маалыматтарды кош нымдуулукка айландыруу = ((((((маалымат [0] & 0xFF) * 256) + (маалымат [1] & 0xFF)) * 125.0) / 65536.0) - 6; // Чыгуу маалыматтары System.out.printf экранына ("Салыштырмалуу нымдуулук: %.2f %% RH %n", нымдуулук); System.out.printf ("Цельсий боюнча температура: %.2f C %n", cTemp); System.out.printf ("Farhenheitтеги температура: %.2f F %n", fTemp); }}

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

Сенсор менен тактанын ортосундагы i2c байланышын жеңилдеткен китепкана pi4j, анын ар кандай пакеттери I2CBus, I2CDevice жана I2CFactory байланышты түзүүгө жардам берет.

com.pi4j.io.i2c. I2CBus импорттоо;

com.pi4j.io.i2c. I2CDevice импорттоо; com.pi4j.io.i2c. I2CFactory импорттоо; java.io. IOException импорттоо;

Коддун бул бөлүгү сенсорду write () функциясын колдонуу менен тиешелүү буйруктарды жазуу аркылуу температураны жана нымдуулукту өлчөө үчүн иштетет, андан кийин маалыматтар read () функциясын колдонуу менен окулат.

device.write ((байт) 0xF3);

Thread.sleep (500);

// 2 байт маалыматтарды окуңуз

// темп msb, temp lsb

байт маалымат = жаңы байт [2];

device.read (маалыматтар, 0, 2);

// Нымдуулукту өлчөө буйругун жөнөтүңүз, уста кармабаңыз

device.write ((байт) 0xF5);

Thread.sleep (500);

// 2 байт маалыматтарды окуңуз

// нымдуулук msb, нымдуулук lsb

device.read (маалыматтар, 0, 2);

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

SHT25 температурасы жана салыштырмалуу нымдуулук сенсорунда температураны көзөмөлдөө, компьютердин перифериялык жылуулук коргоо сыяктуу ар кандай өнөр жай колдонмолору бар. Биз ошондой эле бул сенсорду аба ырайы станциясынын колдонмолоруна, ошондой эле күнөскананын мониторинг системасына коштук.

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