Компоненты · 3 мин чтения

Датчики для Arduino: 12 самых популярных

Самые популярные датчики для Arduino: DHT11, DHT22, HC-SR04, фоторезистор, PIR, MQ-2, NTC, датчик пламени, влажности почвы, RFID и другие. Что измеряют, как подключать и на что обратить внимание.

Датчики — это детали, благодаря которым Arduino чувствует внешний мир. Датчик превращает измеряемую физическую величину (температуру, расстояние, свет, газ) в сигнал, который Arduino может прочитать. В этом руководстве ты найдёшь самые популярные датчики, узнаешь, для чего они нужны и на что обратить внимание при подключении.

DHT11
DHT11
HC-SR04
HC-SR04
Фоторезистор (LDR)
Фоторезистор (LDR)

Типы выходов датчиков: аналоговые, цифровые и с интерфейсом

  • Аналоговые датчики (фоторезистор, потенциометр, NTC, газовые MQ) выдают значение в виде напряжения, его читают через analogRead как 0–1023.
  • Цифровые датчики (PIR, датчик пламени, геркон) сообщают только «да/нет», их читают через digitalRead как HIGH/LOW.
  • Датчики с интерфейсом (DHT22, BMP280, RC522) передают данные по I2C, SPI или собственному протоколу; обычно им нужна библиотека.

Датчики температуры и влажности

DHT11
DHT11
DHT22
DHT22
DS18B20
DS18B20
BME280
BME280
NTC-термистор
NTC-термистор
ДатчикЧто измеряетТочностьПримечание
DHT11Температура + влажность±2 °C, ±5%Дешёвый, 1 измерение в секунду
DHT22Температура + влажность±0,5 °C, ±2–5%Точнее, шире диапазон
NTC-термисторТемператураЗависит от калибровкиАналоговый, очень дешёвый
DS18B20Температура±0,5 °CЕсть водонепроницаемая версия, один провод данных
BME280Температура + влажность + давление±1 °C, ±3%I2C, идеален для метеостанции
Не опрашивай датчики DHT чаще раза в секунду: получишь неверные или пустые (nan) значения. Делай паузу между измерениями не меньше 2 секунд.

Датчик расстояния: HC-SR04

HC-SR04 посылает звуковую волну и измеряет, через сколько вернётся эхо; диапазон измерения примерно 2–400 см. На нём строятся парктроники, роботы, объезжающие препятствия, и уровнемеры. Датчик работает от 5 V; с ESP32 или Pico поставь делитель напряжения на пин ECHO.

Датчик освещённости: фоторезистор (LDR)

Фоторезистор (LDR) — деталь, сопротивление которой падает на свету. Его читают аналоговым пином, собрав делитель напряжения с резистором 10 kΩ. Фоторезисторы используют в ночниках, автоматических шторах и лазерной сигнализации. Для точного измерения освещённости (в люксах) лучше подходят I2C-датчики вроде BH1750.

Датчик движения: PIR (HC-SR501)

PIR-датчик замечает изменение теплового излучения человеческого тела и, увидев движение, ставит на выходе HIGH. Двумя потенциометрами настраиваются чувствительность (3–7 м) и время, на которое включается выход. После подачи питания датчику нужна примерно минута на прогрев.

PIR-датчик движения

Датчики газа и пламени

MQ-2
MQ-2
MQ-135
MQ-135
Датчик пламени
Датчик пламени
ДатчикЧто обнаруживает
MQ-2Дым, пропан-бутан (LPG), метан, водород
MQ-4Метан (природный газ)
MQ-7Угарный газ
MQ-135Качество воздуха (аммиак, газы вроде CO2)
Датчик пламениИнфракрасное излучение пламени
Датчики MQ и датчики пламени предназначены для обучения и экспериментов. Для безопасности дома используй сертифицированные детекторы дыма, газа и угарного газа.

Другие популярные датчики

Датчик влажности почвы
Датчик влажности почвы
Геркон
Геркон
RC522 RFID
RC522 RFID
ИК-приёмник
ИК-приёмник
Джойстик
Джойстик
Датчик звука KY-038
Датчик звука KY-038
  • Датчик влажности почвы: для проектов автополива. Ёмкостные модели не ржавеют, поэтому служат дольше.
  • Геркон: замыкается, когда рядом магнит; используется в датчиках открытия дверей и окон.
  • RC522 RFID: считывает идентификаторы карт и брелоков; используется в дверных замках и системах учёта посещаемости. Питать его нужно только от 3,3 V.
  • ИК-приёмник (VS1838B/TSOP): принимает сигналы пультов от телевизора.
  • Джойстик: двухосевой аналоговый манипулятор для проектов с роботами и играми.
  • Датчик звука: определяет уровень звука, например чтобы включать лампу хлопком.

На что смотреть при выборе датчика

  1. Рабочее напряжение: датчику нужно 5 V или 3,3 V? Совпадает ли оно с логическим уровнем твоей платы?
  2. Тип выхода: аналоговый, цифровой или I2C/SPI? Хватит ли на плате подходящих пинов?
  3. Точность и диапазон: попадает ли нужное значение в диапазон датчика?
  4. Библиотеки: есть ли для Arduino IDE актуальная и популярная библиотека?
  5. Условия работы: нужна ли модель, устойчивая к влаге, воде, пыли или высокой температуре?

Как сделать показания датчиков стабильными

Небольшие колебания у аналоговых датчиков — это нормально. Если брать среднее или медиану нескольких измерений, использовать гистерезис для порогов (два отдельных порога на включение и выключение) и обновлять дисплей всего несколько раз в секунду, показания будут выглядеть гораздо стабильнее. В проектах с питанием от батарей увеличение интервала между измерениями заметно продлевает работу батареи; оценить срок поможет калькулятор времени работы от батареи.

Частые вопросы

Какой датчик температуры лучше всего подходит для Arduino?

Для начала хватит DHT11. Для более точных измерений выбирай DHT22 или DS18B20, а если нужно измерять ещё и давление — BME280.

Сколько датчиков можно подключить к одной Arduino?

Зависит от количества пинов и типа датчиков. I2C-датчики могут делить одни и те же два провода, поэтому их можно подключить десятки; для аналоговых датчиков у Uno 6 аналоговых входов, у Mega — 16.

Почему показания датчика постоянно меняются?

Причина — помехи, длинные провода и колебания питания. Усредняй несколько измерений, делай провода короче и поставь конденсатор 100 nF на питание датчика.

Можно ли подключить 5-вольтовый датчик к ESP32?

Питать датчик можно от 5 V, но его выходной сигнал нужно понизить до 3,3 V, прежде чем он попадёт на ESP32. Используй делитель напряжения или преобразователь уровней; у некоторых датчиков есть и версии, совместимые с 3,3 V.

Как перевести показание аналогового датчика в реальные единицы?

Сначала переведи показание в напряжение (значение × 5 / 1023), а затем по формуле из даташита датчика получи реальную величину: температуру, освещённость или концентрацию газа. Некоторым датчикам нужна калибровка.

Все проекты
Температура и влажность с DHT11
#55Средний

Температура и влажность с DHT11

Насколько тепло в твоей комнате и влажный ли воздух или сухой? Датчик DHT11 измеряет температуру и влажность, а Arduino выводит значения на двухстрочный LCD-экран и обновляет их каждые пару секунд. Ес

4.7(47)
73
Парктроник на HC-SR04
#28Средний
Premium

Парктроник на HC-SR04

Мини-версия автомобильного парктроника: чем ближе предмет, тем чаще сигнал. Датчик расстояния измеряет предмет перед собой; если он дальше 20 сантиметров, горит зелёный светодиод, а если ближе — мигае

4.8(64)
85
Ночник на LDR
#12Новичок

Ночник на LDR

Маленький ночник, который сам включается, когда темнеет, и гаснет, когда наступает утро. Датчик освещённости измеряет, насколько светло в комнате, и Arduino включает светодиод, когда достаточно темно,

4.8(102)
205
Детектор движения на датчике движения
#24Новичок
Premium

Детектор движения на датчике движения

Простой охранник, который сообщает, что кто-то вошёл в комнату. Датчик движения улавливает тепло человеческого тела, а Arduino держит светодиод включённым, пока есть движение, и гасит его, когда движе

4.6(47)
67
Работа с датчиком газа
#51Новичок
Premium

Работа с датчиком газа

Маленький страж, который замечает утечку газа на кухне раньше тебя. Датчик газа всё время «принюхивается» к воздуху; пока всё в порядке, горит зелёный светодиод, а когда газа в воздухе становится боль

4.6(37)
50
Работа с датчиком пламени
#50Средний
Premium

Работа с датчиком пламени

Маленький страж, который замечает огонь на кухне или в мастерской раньше тебя. Датчик пламени улавливает невидимый свет, который испускает огонь; пока всё в порядке, горит зелёный светодиод, а когда о

4.6(33)
44
Умная станция полива
#83Продвинутый
Premium

Умная станция полива

Садовник, который сам поливает растения, чтобы они не засохли, пока ты в отпуске. Датчик влажности почвы измеряет, насколько влажная земля; когда она сохнет, Arduino на несколько секунд включает водян

5.0(42)
57
Чтение значения RFID
#53Новичок
Premium

Чтение значения RFID

В брелоке от подъезда или карте доступа спрятан секретный идентификационный номер, и этот проект его читает. Поднеси карту к считывателю RFID, и Arduino выведет номер карты на экран компьютера. Первый

4.7(47)
61