Оглавление:

Измерение влажности с помощью HYT939 и Arduino Nano: 4 шага
Измерение влажности с помощью HYT939 и Arduino Nano: 4 шага

Видео: Измерение влажности с помощью HYT939 и Arduino Nano: 4 шага

Видео: Измерение влажности с помощью HYT939 и Arduino Nano: 4 шага
Видео: Учебное пособие по датчику влажности и температуры Arduino Nano HYT939 I2C 2024, Июль
Anonim
Image
Image

HYT939 - это цифровой датчик влажности, работающий по протоколу связи I2C. Влажность является ключевым параметром, когда речь идет о медицинских системах и лабораториях, поэтому для достижения этих целей мы попытались связать HYT939 с Arduino nano. В этом руководстве демонстрируется взаимодействие модуля датчика HYT939 с arduino nano.

Для считывания значений влажности мы использовали Arduino с адаптером I2C. Этот адаптер I2C делает подключение к модулю датчика простым и надежным.

Протокол связи, по которому работает датчик, - I2C. I2C означает межинтегральную схему. Это протокол связи, в котором связь осуществляется через линии SDA (последовательные данные) и SCL (последовательные часы). Это позволяет одновременно подключать несколько устройств. Это один из самых простых и эффективных протоколов связи.

Шаг 1: Требуемое оборудование:

Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование
Требуемое оборудование

Материалы, которые нам нужны для достижения нашей цели, включают следующие компоненты оборудования:

1. HYT939

2. Arduino Nano

3. Кабель I2C

4. Экран I2C для Arduino nano

Шаг 2: Подключение оборудования:

Подключение оборудования
Подключение оборудования
Подключение оборудования
Подключение оборудования

В разделе «Подключение оборудования» в основном объясняются проводные соединения, необходимые между датчиком и Arduino nano. Обеспечение правильных соединений является основной необходимостью при работе с любой системой для достижения желаемого результата. Итак, необходимые подключения следующие:

HYT939 будет работать по I2C. Вот пример схемы подключения, демонстрирующий, как подключить каждый интерфейс датчика.

Изначально плата настроена для интерфейса I2C, поэтому мы рекомендуем использовать это подключение, если вы не сторонник этого. Все, что вам нужно, это четыре провода!

Требуются только четыре соединения, выводы Vcc, Gnd, SCL и SDA, которые подключаются с помощью кабеля I2C.

Эти соединения показаны на рисунках выше.

Шаг 3: Код Arduino для измерения влажности:

Код Arduino для измерения влажности
Код Arduino для измерения влажности
Код Arduino для измерения влажности
Код Arduino для измерения влажности

Начнем с кода Arduinoo.

При использовании сенсорного модуля с Arduino мы включаем библиотеку Wire.h. Библиотека Wire содержит функции, которые облегчают обмен данными i2c между датчиком и платой Arduino.

Полный код Arduino приведен ниже для удобства пользователя:

#включают

// Адрес I2C HYT939: 0x28 (40)

#define Addr 0x28

установка void ()

{

// Инициализируем связь I2C как МАСТЕР

Wire.begin ();

// Инициализировать последовательную связь

Serial.begin (9600);

задержка (300);

}

пустой цикл ()

{

данные типа int без знака [4];

// Запуск передачи I2C

Wire.beginTransmission (адрес);

// Отправляем команду нормального режима

Wire.write (0x80);

// Остановить передачу I2C

Wire.endTransmission ();

задержка (300);

// Запрос 4 байта данных

Wire.requestFrom (Адрес, 4);

// Читаем 4 байта данных

// влажность msb, влажность lsb, temp msb, temp lsb

если (Wire.available () == 4)

{

данные [0] = Wire.read ();

данные [1] = Wire.read ();

данные [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.println («% относительной влажности»);

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 (); данные [1] = Wire.read (); данные [2] = Wire.read (); данные [3] = Wire.read ();

}

Выход датчика показан на картинке выше.

Шаг 4: Приложения:

Приложения
Приложения

HYT939, являющийся эффективным цифровым датчиком влажности, используется в медицинских системах, автоклавах. Этот сенсорный модуль также используется в системах измерения точки росы и сушки под давлением. В различных лабораториях, где соответствующий уровень влажности является ключевым параметром для проведения экспериментов, этот сенсор можно использовать для измерения влажности.

Рекомендуемые: