Этот учебник является частью: Цифровой датчик относительной влажности и температуры HTU21D
Видеоролики, посвященные цифровому датчику относительной влажности и температуры HTU21D. Ссылки на другие видеоролики находятся ниже этой статьи.
Урок 35: Использование датчика температуры HTU21D с Arduino
Этот проект поможет вам использовать Arduino для считывания данных о температуре и влажности с датчика HTU21D-F. Этот датчик недорогой и широко доступный, что делает его идеальным для разнообразных проектов. Датчик передает данные по I2C, общему цифровому протоколу связи. Изучение работы с этим датчиком и I2C откроет множество возможностей для ваших проектов.

Практические приложения:
- Создание умного домашнего экологического монитора
- Создание метеостанции
- Разработка климат-controlled корпуса для чувствительной электроники
- Контроль температуры и влажности в теплице или террариуме
Аппаратное обеспечение/Компоненты
Вам понадобятся следующие компоненты:
- Плата Arduino (например, Uno, Nano)
- Датчик температуры и влажности HTU21D-F (в видео на 00:22)
- Соединительные провода
- Макетная плата (необязательно, но рекомендуется)
Схема подключения
Проводка проста. Подключите датчик к Arduino следующим образом (в видео на 02:28):
- Сенсор VCC к Arduino 3.3V
- Датчик GND к Arduino GND
- Датчик SDA к Arduino A4
- Датчик SCL к Arduino A5

Объяснение кода
Предоставленный код использует библиотеку Adafruit HTU21D-F (на видео на 03:03) для взаимодействия с датчиком. Ключевые части следующие:
// These are the lines that you can configure:
const int inPin =A0;//can change
const int iteration = 1000; //can change (see video at 00:22)
const float LM35_FACTOR =0.01;// do not change
inPinУказывает аналоговый контакт, подключенный к датчику температуры. Вы можете изменить это в соответствии с вашей проводкой.
iterationЭта переменная контролирует количество измерений, проводимых для усреднения температуры. Увеличение этого значения повышает точность, но замедляет считывания (в видео на 00:22).
ThegetHTU()функция (в видео на 08:46) позволяет получить температуру в градусах Цельсия, Фаренгейта или Кельвина, или влажность, передав символ ('C', 'F', 'K' или 'H') в качестве аргумента. Код затем использует эту функцию для отображения данных на последовательном мониторе.
float getTemperature(char type) {
// ... (code to read temperature and humidity) ...
if (type == 'F') {
value = averageTemperature * 9 / 5 + 32; // Fahrenheit
} else if (type == 'K') {
value = averageTemperature + 273.15; // Kelvin
} else {
value = averageTemperature; // Celsius
}
return value;
}
Живой проект/демонстрация
В видео демонстрируется функциональность датчика (в видео на 07:34). Последовательный монитор отображает показания температуры и влажности. Ведущий также показывает, как код может вызывать действия на основе температурных порогов (в видео на 06:45).
Главы
- [00:00] Введение
- [00:22] Обзор датчиков
- [01:22] Обзор технической документации
- [02:28] Проведение проводки
- [03:03] Установка библиотеки
- [04:05] Объяснение кода (Часть 1)
- [08:33] Объяснение кода (Часть 2)
- [07:34] Прямой показ
Этот учебник является частью: Цифровой датчик относительной влажности и температуры HTU21D
- Урок 35-1: Использование датчика температуры HTU21D
- Урок 35-2: Использование датчика температуры HTU21D - собственный код
- Урок 36: Использование датчика температуры HTU21D с LCD Arduino пошаговый курс
- Использование двух датчиков влажности и температуры HTU21DF с Arduino
- Отображение температуры с HTU21D на ЖК-дисплее
- Отображение температуры с HTU21D в виде столбчатой диаграммы на ЖК-дисплее
- Как использовать датчик влажности и температуры HTU21DF с Arduino (базовый код)
- Как использовать датчик влажности и температуры HTU21DF с Arduino (пользовательский код)
Вещи, которые могут вам понадобиться
-
АмазонкаКупите модуль HTU21D на Amazon.amzn.to
-
eBayКупите HTU21D на eBayebay.us
-
АлиЭкспрессПриобретите HTU21D или SHT21 на AliExpress.s.click.aliexpress.com
Ресурсы и ссылки
-
ВнешнийHTU21D Технические характеристики (PDF)cdn-shop.adafruit.com
-
ВнешнийБиблиотека Adafruit HTU21D (GitHub)github.com
-
ВнешнийРазница между HTU21DF и HTU21D (изображение)robojax.com
Файлы📁
Библиотеки Arduino (zip)
-
Adafruit HTU21DF library (Robojax.com)
robojax_HTU21DF_Adafruit_HTU21DF_Library-master.zip0.01 MB