Подключение фоторезистора к ESP32

Датчик освещённости

Фоторезистор в готовом модуле читается аналоговым входом ESP32: AO идёт на вход АЦП, питание 3,3 В. Чем светлее, тем сильнее меняется напряжение на AO.

Схема подключения фоторезистора к ESP32

ФоторезисторESP32
AOGPIO34
VCC3V3
GNDGND

Схема из примера «Фоторезистор: уровень освещённости».

Фоторезистор: уровень освещённости

Открыть пример целиком

Выводы Фоторезистор

ВыводНазначение
AOаналоговый выход — средняя точка делителя
DOцифровой выход компаратора: порог задаёт подстроечный резистор на модуле
VCCпитание делителя
GNDобщий провод

Код для ESP32

const int LDR = 34;

// Значения снимаются один раз в темноте и при полном свете.
const int DARK = 200;
const int BRIGHT = 3800;

void setup() {
  Serial.begin(115200);
}

void loop() {
  int raw = analogRead(LDR);
  int percent = constrain(map(raw, DARK, BRIGHT, 0, 100), 0, 100);
  Serial.printf("сырое %4d   освещённость %3d %%\n", raw, percent);
  delay(300);
}

Скетч можно править и запускать в симуляторе без платы и установки среды.

Что учесть на ESP32

В железе

На ESP32 при включённом Wi-Fi не работает АЦП2 (GPIO0, 2, 4, 12–15, 25–27). Для датчиков берите АЦП1: GPIO32–39. Питание модуля от 3,3 В, а не от 5 В — иначе на вход попадёт больше 3,3 В.

Частые ошибки при подключении к ESP32

Другие детали для ESP32