Датчик температуры для Arduino: DHT11, DHT22, DS18B20 или BMP280
Измерить температуру можно пятью разными способами, и выбор зависит не от точности в характеристиках, а от условий: нужна ли влажность, будет ли датчик в воде, сколько их будет на одном проводе.
Разберём ходовые варианты по порядку — от самого дешёвого до самого точного.
Разборы конкретных моделей
Как подключить датчик температуры и влажности DHT22 (AM2302) к Arduino: распиновка, интерактивная схема, подтягивающий резистор, библиотека DHT и готовый скетч с выводом в монитор порта.
Датчик температуры DS18B20Как подключить DS18B20 к Arduino: распиновка, схема с подтягивающим резистором 4,7 кОм, паразитное питание в два провода, несколько датчиков на одной шине 1-Wire и готовый скетч.
Термистор NTC 10 кОмКак подключить термистор NTC 10 кОм к Arduino: схема с делителем напряжения, почему зависимость нелинейна, упрощённая формула бета и уравнение Стейнхарта-Харта в готовом скетче.
Что выбрать
Температура и влажность в одном. Точность плюс-минус два градуса, диапазон от нуля до пятидесяти. Опрашивается раз в секунду. Самый дешёвый вариант и самый грубый: для учебного проекта хватит, для метеостанции нет. Ниже нуля не работает вообще.
Тот же протокол и та же схема подключения, но точность плюс-минус полградуса и диапазон от минус сорока до восьмидесяти. Влажность меряет заметно честнее. Стоит в два-три раза дороже DHT11 и опрашивается раз в две секунды.
Влажность не меряет, зато точность плюс-минус полградуса, диапазон до ста двадцати пяти и работа по шине 1-Wire: несколько датчиков вешаются на один провод, у каждого свой адрес. Продаётся в герметичном металлическом корпусе на проводе — единственный из списка, который можно опустить в воду или закопать.
Меряют температуру и атмосферное давление, а BME280 ещё и влажность. Подключаются по I2C, точность высокая, размер крошечный. Берут для метеостанций и высотомеров. Осторожно с маркировкой: BMP и BME отличаются одной буквой и наличием влажности.
Аналоговые датчики: выдают напряжение, которое плата читает через analogRead. Библиотека не нужна вовсе, зато показания чувствительны к длине провода и наводкам. Термистор дополнительно требует пересчёта по формуле, потому что его зависимость нелинейна.
Нужна ли влажность
Это первый вопрос, который отсекает половину вариантов. Если влажность нужна — выбор сводится к DHT22 и BME280: первый дешевле и проще, второй точнее и мельче.
Если нужна только температура, DHT брать не стоит вовсе: DS18B20 при той же цене точнее, работает в куда более широком диапазоне и не боится воды.
Сколько датчиков будет в проекте
Каждый датчик DHT занимает свой цифровой вывод платы. Пять датчиков — пять выводов и пять проводов через всю конструкцию.
DS18B20 работает иначе: все датчики вешаются на один и тот же провод, потому что у каждого есть уникальный заводской адрес. Для тёплого пола, теплицы или системы с несколькими точками замера это решающее преимущество.