Мазмуну:

HYT939 жана Arduino Nano аркылуу нымдуулукту өлчөө: 4 кадам
HYT939 жана Arduino Nano аркылуу нымдуулукту өлчөө: 4 кадам

Video: HYT939 жана Arduino Nano аркылуу нымдуулукту өлчөө: 4 кадам

Video: HYT939 жана Arduino Nano аркылуу нымдуулукту өлчөө: 4 кадам
Video: STC-3028 Thermostat with Heat and Humidity Fully Explained and demonstrated 2024, Июль
Anonim
Image
Image

HYT939 I2C байланыш протоколу боюнча иштеген санарип нымдуулук сенсору. Нымдуулук медициналык тутумдарга жана лабораторияларга келгенде негизги параметр болуп саналат, ошондуктан бул максаттарга жетүү үчүн HYT939ду arduino нано менен интерфейске келтирүүгө аракет кылдык. Бул окуу куралында HYT939 сенсор модулунун arduino нано менен интерфейси көрсөтүлгөн.

Нымдуулук баалуулуктарын окуу үчүн, биз I2c adapter. This I2C адаптер менен arduino колдонгон сенсор модулу менен байланышты жеңил жана ишенимдүү кылат.

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

1 -кадам: Аппараттык камсыздоо талап кылынат:

Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат
Аппараттык камсыздоо талап кылынат

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

1. HYT939

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

3. I2C кабели

4. Arduino нано үчүн I2C калканы

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

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

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

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

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

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

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

3 -кадам: Ардуино нымдуулукту өлчөө коду:

Нымдуулукту өлчөө үчүн Arduino коду
Нымдуулукту өлчөө үчүн Arduino коду
Нымдуулукту өлчөө үчүн Arduino коду
Нымдуулукту өлчөө үчүн Arduino коду

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

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

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

#кошуу

// HYT939 I2C дареги 0x28 (40)

#define Addr 0x28

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

{

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

Wire.begin ();

// Сериялык байланышты баштоо

Serial.begin (9600);

кечигүү (300);

}

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

{

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

// I2C берүүнү баштоо

Wire.beginTransmission (Addr);

// Кадимки режим буйругун жөнөтүү

Wire.write (0x80);

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

Wire.endTransmission ();

кечигүү (300);

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

Wire.requestFrom (Addr, 4);

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

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

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

{

data [0] = Wire.read ();

data [1] = Wire.read ();

data [2] = Wire.read ();

маалымат [3] = Wire.read ();

// Маалыматтарды 14 битке айландырыңыз

калкып турган нымдуулук = ((((маалымат [0] & 0x3F) * 256.0) + маалымат [1]) * (100.0 / 16383.0);

float cTemp = (((маалымат [2] * 256.0) + (маалымат [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

float fTemp = (cTemp * 1.8) + 32;

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

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

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

Serial.println (" %RH");

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

Serial.print (cTemp);

Serial.println ("C");

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

Serial.print (fTemp);

Serial.println ("F");

}

кечигүү (300);

}

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

// Окуу 4 байт маалымат // нымдуулук msb, нымдуулук lsb, temp msb, temp lsb if (Wire.available () == 4) {data [0] = Wire.read (); data [1] = Wire.read (); data [2] = Wire.read (); маалымат [3] = Wire.read ();

}

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

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

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

HYT939 натыйжалуу санарип нымдуулук сенсору болуп Медициналык системаларда, Автоклавдарда колдонулат. Басымдын шүүдүрүм чекитин өлчөө жана кургатуу системалары да бул сенсор модулунун колдонулушун табышат. Тиешелүү нымдуулуктун деңгээли эксперименттерди жүргүзүү үчүн негизги параметр болуп саналган ар кандай лабораторияларда бул сенсорду нымдуулукту өлчөө үчүн жайгаштырууга болот.

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