Подсветка сама держит яркость
Чем темнее вокруг, тем ярче светодиод: обратная зависимость плюс сглаживание.

Что понадобится
- Arduino Uno
- Фоторезистор
- Резистор (220 Ом)
- Светодиод (зелёный)
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| Arduino Uno | 5V | → | Фоторезистор | VCC |
| Arduino Uno | GND | → | Фоторезистор | GND |
| Arduino Uno | A0 | → | Фоторезистор | AO |
| Arduino Uno | D9 | → | Резистор | 1 |
| Резистор | 2 | → | Светодиод | A |
| Светодиод | C | → | Arduino Uno | GND |
Скетч
// Яркость светодиода обратна освещённости, а показания сглажены
// экспоненциальным фильтром: свет не прыгает от случайной тени.
float smooth = 0;
bool first = true;
void setup() {
pinMode(9, OUTPUT);
Serial.begin(9600);
}
void loop() {
int raw = analogRead(A0);
if (first) { smooth = raw; first = false; }
smooth = smooth * 0.8 + raw * 0.2; // фильтр: 80 % старого, 20 % нового
int duty = map((int)smooth, 0, 1023, 255, 0); // темно → ярко
duty = constrain(duty, 0, 255);
analogWrite(9, duty);
Serial.print("свет ");
Serial.print((int)smooth);
Serial.print(" ШИМ ");
Serial.println(duty);
delay(120);
}
Коротко о детали: Фоторезистор
Модуль с фоторезистором: его сопротивление падает тем сильнее, чем ярче свет. Аналоговый выход даёт напряжение, пропорциональное освещённости, цифровой — готовый порог. Освещённость в люксах задаётся двойным кликом по компоненту.
Ещё примеры с деталью «Фоторезистор»
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «Подсветка сама держит яркость» в симуляторе