К Arduino можно подключить всевозможные сенсоры. В русском языке существуют слова «датчик» и «сенсор», это синонимы и означают по сути одно и то же. Это отдельное устройство, которое способно измерять определённую физическую величину или реагировать на физическое явление и выдавать информацию об этом в виде электрического сигнала.
Сенсоры различаются по тому, что они фиксируют. Существуют сенсоры для измерения температуры, расстояния, вибрации, звука, влажности, движения, магнитного поля и многие другие.
Также они различаются по типу сигнала. Некоторые передают сигнал в виде переменного напряжения (аналоговые), некоторые в виде последовательности низкого и высокого напряжения (цифровые), другие меняют собственное сопротивление. Тип сигнала определяет, как физические показания проецируются на электрические величины, пригодные для считывания.
Далее сенсоры различаются по протоколу. Он определяет, как принимающая сторона (например, Arduino) должна интерпретировать передаваемый сенсором сигнал, чтобы получить значение измеряемой величины. Для одних сенсоров измеряемая величина прямо пропорциональна передаваемому напряжению, другие передают только «да / нет» с помощью двух величин напряжения, третьи передают свои показания в виде последовательности бит, где отсутствию напряжения соответствует 0, а высокому напряжению — 1. Протокол у каждого сенсора свой и определяется производителем датчика.
Кроме того, сенсоры различаются по способу физического подключения. Большое количество Arduino-совместимых сенсоров легко подключаются по трём проводам. Другие сенсоры имеют контакты, подходящие для подключения через breadboard.
Чтобы соединить любой сенсор с Arduino и начать считывать его показания, нужно:
Отдельных статьей заслуживают сенсор температуры и влажности, герметичный датчик температуры DS18B20 и аналоговый термометр на базе TMP36.