Оглавление:

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

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

Видео: Измерение влажности с помощью HYT939 и Raspberry Pi: 4 шага
Видео: Мониторинг температуры и влажности с помощью Particle Photon 2024, Ноябрь
Anonim
Image
Image

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

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

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

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

Оборудование, необходимое для выполнения задачи, следующее:

1. HYT939

2. Raspberry Pi

3. Кабель I2C

4. I2C Shield для Raspberry Pi

5. Кабель Ethernet.

-

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

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

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

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

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

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

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

Шаг 3: Java-код для измерения влажности:

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

Преимущество использования raspberry pi заключается в том, что он обеспечивает гибкость языка программирования, на котором вы хотите запрограммировать плату, чтобы связать с ней датчик. Используя это преимущество этой платы, мы демонстрируем ее программирование на Java. Код Java для HYT939 можно загрузить в нашем сообществе github, которое называется Dcube Store.

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

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

pi4j.com/install.html

Вы также можете скопировать рабочий java-код для этого датчика отсюда:

import com.pi4j.io.i2c. I2CBus;

import com.pi4j.io.i2c. I2CDevice;

import com.pi4j.io.i2c. I2CFactory;

import java.io. IOException;

публичный класс HYT939

{

public static void main (String args ) выдает исключение

{

// Создаем I2CBus

Шина I2CBus = I2CFactory.getInstance (I2CBus. BUS_1);

// Получение устройства I2C, адрес I2C HYT939 - 0x28 (40)

I2CDevice device = bus.getDevice (0x28);

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

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

Thread.sleep (500);

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

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

byte data = новый байт [4];

device.read (данные, 0, 4);

// Преобразуем данные в 14-битные

двойная влажность = (((данные [0] & 0x3F) * 256) + (данные [1] & 0xFF)) * (100.0 / 16383.0);

double cTemp = ((((данные [2] & 0xFF) * 256) + (данные [3] & 0xFC)) / 4) * (165.0 / 16383.0) - 40;

двойной fTemp = (cTemp * 1.8) + 32;

// Выводим данные на экран

System.out.printf («Относительная влажность:%.2f %% RH% n», влажность);

System.out.printf ("Температура в градусах Цельсия:%.2f C% n", cTemp);

System.out.printf ("Температура в градусах Фаренгейта:%.2f F% n", fTemp);

}

}

Библиотека, которая упрощает связь i2c между датчиком и платой, называется pi4j, ее различные пакеты I2CBus, I2CDevice и I2CFactory помогают установить соединение.

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

Функции write () и read () используются для записи определенных команд в датчик, чтобы он работал в определенном режиме и считывал выходные данные датчика соответственно. Следующая часть кода иллюстрирует использование этих функций.

// Отправляем команду нормального режима device.write ((byte) 0x80); Thread.sleep (500); // Чтение 4 байтов данных // влажность msb, влажность lsb, temp msb, temp lsb byte data = new byte [4]; device.read (данные, 0, 4);

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

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

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

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

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