Обзор датчика температуры и влажности HTU21D
Датчика температуры и влажности HTU21D обеспечивает линеаризацию и калибровку данных, передаваемых по четырехпроводному интерфейсу I2C.
В предыдущих статьях рассказывал об датчиках температуры и влажности DHT11 и DHT22, которые часто можно встретить в системах умный дом и различных проектах в которых необходимо измерять влажность и температуру. Но у данных датчиков есть недостатки, это большая погрешность, частые зависания и габариты. В этой статье расскажу об еще одном датчике температуры и влажности HTU21D, так же приведу пример подключения его к контроллеру Arduino UNO R3.
Технические параметры
► Напряжение питания: 1.5 В ~ 3.6 В;
► Ток потребления: ≤ 4 мА;
► Диапазон измерения влажности: 0 ~ 100%;
► Диапазон измерения температуры: — 40 ℃ ~ +105 ℃;
► Интерфейс: I2C;
► Точность измерения влажности (от 10% до 95% ): ± 2%;
► Точность измерения температуры: ± 0.3 °C;
► Время измерения: 0.5 с;
► Габариты: 15 x 15 x 2 мм;
► Вес: 1 грамм.
Общие сведения
Немного расскажу о самом модуле, на верхней стороне платы установлен датчик HTU21D в корпусе DFN, рядом установлены два подтягивающих резистора на 4.7 кОм, так же в цепи питания установлен керамический конденсатор. На обратной стороне платы нету компонентов, по сути мы имеем модуль с HTU21D минимальной обвязкой. По питанию, в технической документации указано, что HTU21D работает от 1.5 В до 3.3 В (рекомендуемое 3 В). Так же, на плате предусмотрено места для перемычек, если используете несколько устройства на шине I2C, можно убрать их, тем самым отключив встроенные резисторы.
Назначение контактов:
► VCC — вывод питания 3.3 В;
► GND — заземляющий вывод питания микросхемы
► CL — вывод I2C, подключается к линии I2C микроконтроллера, рабочие напряжение 3 В или 5 В.
► DA — вывод данных I2C подключается к линии I2C микроконтроллера, рабочие напряжение 3 В или 5 В.
Принципиальная схема модуля HTU21D показана на рисунке ниже.
Подключение HTU21D к Arduino
Необходимые детали:
► Arduino UNO x 1 шт.
► Датчика температуры и влажности HTU21D x 1 шт.
► Провода DuPont M-F, 20 см x 1 шт.
► Макетная плата 400 контактов x 1 шт.
Описание:
В этом примере покажу как подключить датчик температуры и влажности HTU21D к Arduino UNO, все показания будем отображать в «Мониторинг порта».
Подключение.
Сначала подключить питание, выводы +3.3 В и GND (Arduino) подключаем к выводам Vcc и GND (HTU21D), далее подключаем интерфейс I2C, выводы A4 и A5 (Arduino) подключаем к выводам DA и CL (HTU21D), так же приведу схему подключения.
Установка библиотек:
В данном примере используем одну библиотеку «SparkFunHTU21D» скачать ее можно с «Менеджер библиотек» или в конце статьи, на 18.09.2020 версия 1.0.5.
В строке поиска вводим «HTU21D» находим библиотеку «SparkFunHTU21D» и устанавливаем ее.
Программа:
Пример простой, копируем или скачиваем и загружаем в Arduno.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
/* Тестировалось на Arduino IDE 1.8.5 Дата тестирования 18.09.2020г. */ #include <Wire.h> // Подключаем библиотеку Wire #include "SparkFunHTU21D.h" // Подключаем библиотеку SparkFunHTU21D HTU21D myHumidity; // Создаем объект для работы с датчиком void setup() { Serial.begin(9600); // Открытие последовательного порта на скорости 9600 Serial.println("HTU21D Example!"); // Отправка сообщения в последовательного порт myHumidity.begin(); // Инициализация HTU21D } void loop() { float humd = myHumidity.readHumidity(); // Считываем влажность float temp = myHumidity.readTemperature(); // Считываем температуру Serial.print("Temperature:"); // Отправка сообщения Serial.print(temp, 1); // Отправка температуры Serial.print("C"); // Отправка сообщения Serial.print(" Humidity:"); // Отправка сообщения Serial.print(humd, 1); // Отправка влажности Serial.print("%"); // Отправка сообщения Serial.println(); // Отправка сообщения delay(1000); // Пауза } |
После загрузки скетча, открываем «Мониторинг порта» на скорости 9600 бит/с, где можно увидеть показания температуры и влажности.
Вот и все, будут вопросы пишите.
Ссылки
Документация на HTU21D
Купить на Aliexpress
Контроллер Arduino UNO R3 на CH340G
Контроллер Arduino UNO R3 на Atmega16U2
Провода DuPont, 2,54 мм, 20 см
Датчика температуры и влажности HTU21D
скажите пожалуйста, как сделать так, чтобы с этого датчика температуру и влажность вывести на экран HW-239A. ?