Мазмуну:

SHT25 жана Arduino Nano аркылуу температура жана нымдуулукту көзөмөлдөө: 5 кадам
SHT25 жана Arduino Nano аркылуу температура жана нымдуулукту көзөмөлдөө: 5 кадам

Video: SHT25 жана Arduino Nano аркылуу температура жана нымдуулукту көзөмөлдөө: 5 кадам

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

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

Мына ушул себептен, бул окуу куралында биз SHT25 нымдуулук жана температура сенсорунун Arduino Nano менен иштешин түшүндүрөбүз.

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

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

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

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

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

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

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

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

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

2. Ардуино Нано

3. I2C кабели

4. Arduino нано үчүн I2C Shield

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

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

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

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

Кутудан тышкары, такта I2C интерфейси үчүн конфигурацияланган, андыктан эгер сиз агностиксиз болсоңуз, анда бул байланышты колдонууну сунуштайбыз. Сизге болгону төрт зым керек!

Vcc, Gnd, SCL жана SDA төөнөгүчтөрүнө төрт гана туташуу керек жана алар I2C кабелинин жардамы менен туташкан.

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

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

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

Эми Arduino коду менен баштайлы.

Arduino менен сенсор модулун колдонуп жатып, биз Wire.h китепканасын кошобуз. "Wire" китепканасы сенсор менен Arduino тактасынын ортосундагы i2c байланышын жеңилдетүүчү функцияларды камтыйт.

Колдонуучунун ыңгайлуулугу үчүн бүт Arduino коду төмөндө келтирилген:

#кошуу

// SHT25 I2C дареги 0x40 (64)

#define Addr 0x40

жараксыз орнотуу ()

{

// I2C байланышын MASTER катары баштаңыз

Wire.begin ();

// Сериялык байланышты баштоо, байдын ылдамдыгын = 9600

Serial.begin (9600);

кечигүү (300);

}

боштук цикл ()

{

кол коюлбаган int маалыматтары [2];

// I2C өткөрүүнү баштоо

Wire.beginTransmission (Addr);

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

Wire.write (0xF5);

// I2C өткөрүүнү токтотуу

Wire.endTransmission ();

кечигүү (500);

// 2 байт маалымат сураңыз

Wire.requestFrom (Addr, 2);

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

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

эгер (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Маалыматты конвертациялоо

калкып нымдуулук = (((маалымат [0] * 256.0 + маалымат [1]) * 125.0) / 65536.0) - 6;

// Сериалдык мониторго маалыматтарды чыгаруу

Serial.print ("Салыштырмалуу нымдуулук:");

Serial.print (нымдуулук);

Serial.println (" %RH");

}

// I2C өткөрүүнү баштоо

Wire.beginTransmission (Addr);

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

Wire.write (0xF3);

// I2C өткөрүүнү токтотуу

Wire.endTransmission ();

кечигүү (500);

// 2 байт маалымат сураңыз

Wire.requestFrom (Addr, 2);

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

// темп msb, temp lsb

эгер (Wire.available () == 2)

{

data [0] = Wire.read ();

data [1] = Wire.read ();

// Маалыматты конвертациялоо

float cTemp = (((маалымат [0] * 256.0 + маалымат [1]) * 175.72) / 65536.0) - 46.85;

float fTemp = (cTemp * 1.8) + 32;

// Сериалдык мониторго маалыматтарды чыгаруу

Serial.print ("Цельсий боюнча температура:");

Serial.print (cTemp); Serial.println ("C");

Serial.print ("Фаренгейт температурасы:");

Serial.print (fTemp);

Serial.println ("F");

}

кечигүү (300);

}

Болгону, Arduinoдогу кодду өрттөп, сериялык порттогу окууңузду текшериңиз. Чыгаруу жогорудагы сүрөттө көрсөтүлгөн.

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

Колдонмолор
Колдонмолор

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

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