Skip to content
04 · Оборудование и закупка

04 · Оборудование и закупка

Оборудование, закупка и карта подключения

Раздел решает три задачи: что уже есть, что докупить в пределах ~15–20 тыс. ₽, и как всё это подключить, не наступив на две известные ловушки ESP32.

Что нужно и в какой роли

УзелКомпонентРольСтатус
РастворpH-модуль (аналоговый)pH раствора, цель 6,0–6,5есть
РастворTDS/EC-модуль (аналоговый)«крепость» раствораесть
РастворDS18B20 (герметичный)температура раствораесть
РастворJSN-SR04Tуровень в баке (герметичный УЗ)есть
РастворПеристальтические насосы ×2дозирование pH Down, микроэлементыдокупить
РастворНасос циркуляции 12 Вподача в NFT-каналесть
КлиматBME280 (I²C)воздух: t, влажность, давлениеесть
КлиматTSL2591 (I²C)освещённостьесть
КлиматФитосвет 12 В + таймерсветовой режиместь
CVUSB/CSI-камерафенотип: площадь, цвет, ростдокупить
ОбщееESP32 DevKit ×2узел раствора, узел климатаесть
ОбщееLR7843 (MOSFET-модули) ×4ключи насосов и светадокупить
ОбщееБП 12 В 5 А + DC-DC 5 Впитание силовое и логическоеесть
ХимияБуферные растворы pH 4 / 7 / 10калибровка (без них прибор врёт)докупить
ХимияСтандарт EC 1413 мкСм/смкалибровка TDSдокупить
ХимияСоли: Ca(NO₃)₂, KNO₃, KH₂PO₄, MgSO₄·7H₂O, Fe-EDTAбаза Hoagland (раздел 06)докупить
Эталоны — не «расходник, который можно потом». Буферные растворы и стандарт EC стоят копейки на фоне сметы, но без них все измерения курса не имеют цены: некалиброванный прибор выдаёт уверенные неправильные числа, и эксперимент теряет смысл целиком. Если бюджет режут — режут что угодно, кроме эталонов и солей.

Две ловушки ESP32, из-за которых «всё собрано, но не работает»

Ловушка 1. Аналоговые датчики — только на ADC1

ADC2 не работает, когда включён Wi-Fi. Это аппаратное свойство ESP32: контроллер ADC2 занят радиомодулем. Аналоговый pH или TDS, посаженный на GPIO из ADC2, даёт стабильный мусор или нули — и это не похоже на поломку датчика, поэтому ищут часами.

Правило: аналоговые pH/TDS — только на ADC1, то есть GPIO 32–39. В прошивке это PIN_PH = 34, PIN_TDS = 35.

Ловушка 2. Конфликт адресов I²C

TSL2591 (освещённость) и VL53L0X (дальномер, если применяется) оба по умолчанию отвечают на адрес 0x29. На одной шине они друг друга «глушат»: сканер видит одно устройство, показания скачут.

Три выхода, в порядке предпочтения для школы:

  1. Разнести по разным ESP32 — узел климата и узел раствора и так разные платы (самый простой путь, выбран в курсе).
  2. Управлять XSHUT — гасить один датчик на время опроса другого (нужен свободный GPIO и код).
  3. Вторая шина I²C — ESP32 умеет две; требует явной инициализации Wire1.

Занятие 6 начинается со сканера I²C. Ученик сначала видит список адресов на шине, потом пишет код опроса — а не наоборот. Обнаружить конфликт на сканере занимает минуту, отладить его «по показаниям» — занятие.

Карта подключения (узел раствора)

СигналGPIOПримечание
pH (аналог)34ADC1, только вход
TDS (аналог)35ADC1, только вход
DS18B2041-Wire, подтяжка 4,7 кОм к 3,3 В
JSN-SR04T TRIG27выход
JSN-SR04T ECHO26вход; проверить уровень 5 В → 3,3 В
Насос pH Down → LR784325выход, при старте LOW
Насос циркуляции → LR784333выход, при старте LOW
СигналGPIOПримечание
I²C SDA (узел климата)21BME280 0x76, TSL2591 0x29
I²C SCL (узел климата)22подтяжки обычно на модулях

Электрика и вода — главный риск раздела.

  • Только 12 В в силовой части. 220 В (в т.ч. аквариумные нагреватели) — вне школьного контура; либо нагреватель 12 В, либо комнатная температура как фиксируемая переменная опыта.
  • Общий минус ESP32 и силовой 12-В шины обязательно соединён — иначе ключи LR7843 работают непредсказуемо.
  • Провода, идущие к баку, — с петлёй-капельником (провис ниже разъёма): вода стечёт с петли, а не в клеммник.
  • Блок питания и платы — выше уровня воды, вне зоны возможного залива.
  • ECHO дальномера у части модулей 5-вольтовый: на вход ESP32 — через делитель, иначе выгорит пин.

Приёмка комплекта перед посевом (чек-лист)

  • Сканер I²C видит все ожидаемые адреса, конфликтов нет.
  • pH-метр откалиброван по двум буферам; TDS — по стандарту 1413 мкСм/см.
  • Аналоговые датчики физически на GPIO 32–39.
  • SENSOR_HEIGHT_MM измерена рулеткой и вписана в прошивку (раздел 08).
  • Насос при пустом баке не включается (проверено руками, а не «по коду»).
  • Все актуаторы при старте платы выключены.
  • Общий минус соединён; петли-капельники сделаны; БП выше воды.

Уровни сложности