Датчики для Arduino: список популярных модулей и подключение
Выбрать датчик для Arduino проще, если понимать, что вы вообще хотите измерить. Список ниже разложен по группам: климат, расстояние и движение, свет, звук, инерция, среда. По каждой позиции указано, чем датчик измеряет, какой у него интерфейс и какие грабли он готовит.
Все модули из списка можно потрогать в симуляторе, а каждый тип разобран в отдельном уроке со скетчем и разбором граблей. Отдельные позиции, которые чаще всего ищут, вынесены в свои гайды: влажность почвы, фоторезистор, ультразвук HC-SR04.
Ниже есть четыре раздела, которых обычно не хватает в справочниках: как выбирать датчик по четырём вопросам, что делать, когда датчик не отвечает, сколько датчиков реально тянет одна плата и какой набор стоит купить новичку.
Разрядность, опорное напряжение и шаг измерения — откуда берётся 1023.
Подгружаем интерактив…
Сырое значение АЦП с джиттером и гистерезис реле: почему пороги нужны парой.
Подгружаем интерактив…
Как выбрать: четыре вопроса к себе
- Что именно измеряем: температуру, влажность, расстояние, свет, наклон или факт движения. От ответа зависит тип датчика, а не наоборот.
- Какая нужна точность и диапазон: для комнатного климата хватит DHT11, для теплицы DHT22, для воды DS18B20 в герметичном корпусе.
- Какой интерфейс допустим: I2C-датчики свободно делят шину A4 и A5, 1-Wire-датчики делят один пин с подтяжкой 4,7 кОм, аналоговые занимают по отдельному входу.
- Хватает ли питания: сенсоры, которые жрут миллиампер, ставятся прямо на плату, а газовые анализаторы и ультразвук лучше питать отдельным источником.
Климат: температура и влажность
| Датчик | Измеряет | Интерфейс | Точность | Для чего |
|---|---|---|---|---|
| DHT11 | T + влажность | 1-Wire-подобный | ±2 °C | обучение, комнатный климат |
| DHT22/AM2302 | T + влажность | 1-Wire-подобный | ±0.5 °C | теплицы, термостаты |
| DS18B20 | T −55…+125 °C | 1-Wire | ±0.5 °C | вода, полы, многоканальные замеры |
| BME280 | T + влажность + давление | I2C | ±0.5…1 °C | погодные станции |
Расстояние и движение
| Датчик | Принцип | Дальность | Нюансы |
|---|---|---|---|
| HC-SR04 | ультразвук (эхо) | 2–400 см | мягкие поверхности глушат эхо |
| PIR HC-SR501 | ИК-излучение тела | до 7 м | перезаряд 5–8 с между срабатываниями |
| микроволновый RCWL-0516 | доплер | до 7 м | «видит» через тонкие стены |
Свет, звук, инерция
| Датчик | Измеряет | Как читать | Типовая задача |
|---|---|---|---|
| фоторезистор (LDR) | освещённость | аналоговый вход + делитель | авто-подсветка, ночник |
| звуковой модуль | громкость (порог) | цифровой (D0) / аналоговый (A0) | хлопок-выклюкатель |
| MPU6050 | ускорение + гироскоп | I2C (0x68) | наклон, счёт шагов, роботы |
| датчик тока ACS712 | ток | аналоговый вход | мониторинг нагрузки |
Среда: почва и газ
| Датчик | Измеряет | Интерфейс | Нюансы |
|---|---|---|---|
| влажность почвы | влажность грунта | аналоговый вход | ёмкостные версии не ржавеют |
| MQ-2 | дым, горючие газы | аналоговый вход | прогрев 1-2 минуты до вменяемых цифр |
| MQ-135 | качество воздуха (CO2, аммиак) | аналоговый вход | нужна калибровка по чистому воздуху |
| Датчик | Питание | Интерфейс | Потребление, для ориентира |
|---|---|---|---|
| DHT11 / DHT22 | 5 В | один провод, подтяжка к питанию | менее 2 мА в момент замера |
| DS18B20 | 3–5 В | 1-Wire, подтяжка 4,7 кОм | 1–1,5 мА на замер |
| BME280 / BMP280 | 3,3 или 5 В | I2C | десятки микроампер в ожидании |
| HC-SR04 | 5 В | два цифровых вывода | 15–20 мА в покое |
| PIR HC-SR501 | 5 В | цифровой выход | меньше 1 мА |
| MPU6050 | 3,3 или 5 В | I2C, адрес 0x68 | около 3 мА |
Разбор полива по датчику почвы есть в гайде про влажность почвы, а проверить показания любого аналогового датчика можно на встроенном стенде: ADC-лаборатория на этой странице и симулятор без железа.
С чего начать
- Первым берите DHT11: код из пяти строк, мгновенный результат на экране.
- Вторым фоторезистор: он не требует библиотек вообще и учит делителю напряжения.
- Третьим HC-SR04: первый настоящий прибор, из которого получаются парктроники.
- PIR подключайте после того, как разобрались с millis(): у него своя логика времени.
Тупик: датчик молчит, и это не библиотека
Классический сюжет: датчик подключён, скетч залит, в мониторе порта пусто. Новичок начинает смотреть в код, меняет библиотеку, версию, пробует другой пример из интернета, и через полчаса становится хуже, потому что правильный скетч уже заменён на случайный.
Помогает один вопрос: видит ли плата устройство на шине. Для I2C запускается сканер адресов, и если в списке пусто, дело точно не в коде. Дальше проверяются три вещи: наличие общей земли, правильность питания и порядок проводов SDA и SCL. В нашей практике чаще всего не хватало именно общей земли: датчик питался от отдельного блока, а земля к плате не шла, и плата не видела сигнал вообще. Для аналоговых датчиков сценарий другой: там показания не отсутствуют, а неверны, и проверять приходится делитель напряжения и питание.
Личный опыт: сколько датчиков тянет одна плата
Отдельная граница, которую мы считаем не по datasheet, а по факту. Плата Uno получает от USB-порта около 500 мА, и это предел для всей навески, а не для одного модуля. Газовый анализатор MQ-2 в одиночку уже съедает заметную часть этого бюджета, а ультразвуковой датчик добавляет к нему свои 15–20 мА.
Мы собирали стенд из шести модулей: DHT22, фоторезистор, PIR, HC-SR04, OLED и кнопка. Шесть модулей по отдельности давали честные показания, но вместе начинка платы уходила в тёплый перегрев, а датчики начинали показывать «прыгающие» числа при смене показаний соседа. Вывод, который мы сделали для себя: всё, что потребляет больше 20 мА, питаем отдельно, а на плате оставляем только логику. Если питание общее, просадка по 5 В видна в первую очередь там, где питание взято по тонкому проводу.
Авторская позиция: что купить новичку
Мы советуем начинать не с датчиков, а с набора: плата, макетка, провода, кнопка, светодиод с резистором и потенциометр. Это стоит дешевле одного анализатора воздуха и даёт базу, на которой потом видно любую аномалию. Как только вы понимаете, как читаются аналоговое значение и цифровой вход, выбор датчика перестаёт быть лотереей.
Когда база собрана, первым реальным датчиком мы берём DHT11 или DHT22, а не PIR и не MQ-2. Причина в повторяемости: DHT даёт честную цифру, которую видно и на графике, и в мониторе порта, а PIR требует настройки чувствительности подсветкой и недели калибровки, а газовый датчик без калибровки по чистому воздуху выдаёт красивые, но бессмысленные числа. Ещё одно правило: покупайте датчики сразу в двух экземплярах, особенно те, что работают на нагреве, потому что они выходят из строя первыми.