Мазмуну:

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

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

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

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

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

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. Бөлүкчө фотону үчүн I2C калканы

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

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

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

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

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

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

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

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

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

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

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

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

#кошуу

#кошуу

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

#define Addr 0x40

калкып нымдуулук = 0.0, cTemp = 0.0, fTemp = 0.0;

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

{

// Өзгөрмөнү коюу

Particle.variable ("i2cdevice", "SHT25");

Particle.variable ("нымдуулук", нымдуулук);

Particle.variable ("cTemp", cTemp);

// 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;

// Маалыматтарды тактасына чыгаруу

Particle.publish ("Салыштырмалуу нымдуулук:", String (нымдуулук));

}

// 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 ();

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

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

fTemp = (cTemp * 1.8) + 32;

// Маалыматтарды тактасына чыгаруу

Particle.publish ("Цельсий боюнча температура:", String (cTemp));

Particle.publish ("Фаренгейттеги температура:", String (fTemp));

}

кечигүү (300);

}

Particle.

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

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

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

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

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