Подключение фоторезистора к ESP32
Датчик освещённости
Фоторезистор в готовом модуле читается аналоговым входом ESP32: AO идёт на вход АЦП, питание 3,3 В. Чем светлее, тем сильнее меняется напряжение на AO.
Схема подключения фоторезистора к ESP32
| Фоторезистор | ESP32 |
|---|---|
| AO | GPIO34 |
| VCC | 3V3 |
| GND | GND |
Схема из примера «Фоторезистор: уровень освещённости».
Выводы Фоторезистор
| Вывод | Назначение |
|---|---|
| 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
- Используйте выводы АЦП1 (GPIO32–39): АЦП2 не работает при включённом Wi‑Fi.
- Аналоговые входы ESP32 нелинейны у краёв диапазона и шумят: усредняйте несколько измерений.
В железе
На ESP32 при включённом Wi-Fi не работает АЦП2 (GPIO0, 2, 4, 12–15, 25–27). Для датчиков берите АЦП1: GPIO32–39. Питание модуля от 3,3 В, а не от 5 В — иначе на вход попадёт больше 3,3 В.
Частые ошибки при подключении к ESP32
- Вход фоторезистора на выводе АЦП2 в проекте с Wi‑Fi:
analogRead()возвращает нули. - Подавать на аналоговый вход больше 3,3 В: делитель считайте под 3,3 В, а не под 5 В.
- Аналоговый вход ESP32 из группы АЦП2 при работающем Wi-Fi —
analogReadвозвращает мусор или ошибку. - Модуль от 5 В к ESP32 — на ярком свету выход близок к 5 В, это больше допустимого для входа.
- Порог без гистерезиса — на границе день/ночь лампа мигает. Нужны два порога: включить ниже одного, выключить выше другого.
- Датчик видит свет той лампы, которой управляет, — и выключает её. Разнесите их.
Ещё по теме
- плата Подключение фоторезистора к Arduino
- деталь Фоторезистор: подключение к ESP32 и Arduino
- калькулятор Делитель напряжения
Другие детали для ESP32
HC-SR04DHT22 (AM2302)BME280DS3231SSD1306 OLED 0,96″LCD 1602 с I2CMAX7219TM1637MPU6050 (GY-521)Модуль релеWS2812B (NeoPixel)KY-040Клавиатура 4×4HX711Модуль microSDRGB-светодиодСервопривод SG9074HC595ИК-приёмник (VS1838B)TFT ST7735 1,8″Шаговый двигательКнопкаПотенциометрПьезопищалкаСветодиодDS18B20Ползунковый переключательHC-SR501TTP223Датчик влажности почвыMQ-2LM35Джойстик KY-023DHT11HTU21DSN65HVD230