Подключение деталей к ESP32 и Arduino
Датчики, дисплеи и модули: что это, какие выводы куда, рабочий код и частые ошибки. Схема и скетч на каждой странице — из примера галереи, его можно запустить в симуляторе прямо здесь.
Датчики
HC-SR04
Меряет расстояние до препятствия от 2 см до 4 м по времени, за которое ультразвук долетает до цели и возвращается. Два сигнальных провода, никаких библиотек.
DHT22 (AM2302)
Температура от −40 до 80 °C и влажность 0–100 % по одному проводу. Медленный, но простой: библиотека делает всю работу, от вас — один вывод и пауза между чтениями.
BME280
Три величины в одном крошечном датчике по шине I2C: температура, влажность и атмосферное давление, а по давлению — ещё и высота. Лучше и быстрее DHT22.
MPU6050 (GY-521)
Шесть осей движения: ускорение и угловая скорость по X, Y, Z. Для балансирующих роботов, измерения наклона и шагомеров.
HX711
24-битный АЦП для тензодатчиков — из него и балки получаются весы. Два провода к контроллеру, калибровка грузом известной массы.
Фоторезистор
Сопротивление падает на свету и растёт в темноте. В делителе напряжения это превращается в число на аналоговом входе — день или ночь.
ИК-приёмник (VS1838B)
Принимает команды обычного пульта от телевизора. Каждая кнопка — свой код, и им можно управлять чем угодно.
Модули
DS3231
Точные часы с батарейкой: помнят время при выключенном питании и уходят не больше чем на минуту в год. Шина I2C, библиотека RTClib.
Модуль microSD
Гигабайты для журналов, настроек и картинок. Файлы в FAT32 читаются на любом компьютере.
74HC595
Три вывода контроллера превращаются в восемь выходов, а цепочка микросхем — в шестнадцать, двадцать четыре и дальше.
Дисплеи
SSD1306 OLED 0,96″
Контрастный монохромный экран 128×64 точки на четырёх проводах: текст, графики, иконки. Не нужна подсветка — светятся сами пиксели.
LCD 1602 с I2C
Две строки по шестнадцать символов с подсветкой — классика. С переходником I2C (PCF8574) вместо шестнадцати проводов нужно четыре.
MAX7219
Матрица 8×8 светодиодов (или восемь цифр семисегментника) на трёх проводах. Модули соединяются цепочкой — из четырёх получается бегущая строка.
TM1637
Четыре цифры с двоеточием — для часов, таймеров и счётчиков. Два провода, яркие сегменты, библиотека в одну строку.
TFT ST7735 1,8″
Маленький цветной экран: графики, картинки, интерфейсы. SPI на пять проводов, библиотеки Adafruit.
Исполнительные устройства
Модуль реле
Слабый сигнал контроллера включает мощную нагрузку: лампу, насос, обогреватель. Контакты реле гальванически отделены от схемы.
WS2812B (NeoPixel)
Каждый светодиод — свой цвет и яркость, а провод данных один. Ленты, кольца, матрицы — управление одинаковое.
RGB-светодиод
Три кристалла в одном корпусе: смешивая красный, зелёный и синий по ШИМ, получаете любой цвет.
Сервопривод SG90
Мотор с редуктором и обратной связью: поворачивается на заданный угол от 0 до 180° и держит его. Для заслонок, рулей и манипуляторов.
Шаговый двигатель
Поворачивается точными шагами — 200 на оборот у типичного NEMA17. Для 3D-принтеров, ЧПУ и поворотных механизмов.
Пьезопищалка
Звук для сигнализаций, будильников и простых мелодий. Главное — понять, активный у вас зуммер или пассивный.
Светодиод
Первая деталь почти любого проекта. Два правила: правильная полярность и резистор, который ограничивает ток.
Органы управления
KY-040
Ручка без упоров: крутится бесконечно в обе стороны, щёлкает по 20 шагов на оборот и нажимается. Для меню и настроек.
Клавиатура 4×4
Шестнадцать кнопок на восьми проводах: цифры, буквы, звёздочка и решётка. Для кодовых замков и меню.
Кнопка
Самый простой ввод — и самый частый источник странностей: висящий вход и дребезг контактов. Разбираемся с обоими.
Потенциометр
Ручка, положение которой контроллер читает числом. Внутри — делитель напряжения с подвижной средней точкой.