Тема 3: Задание – Ночник

Создайте ночник, который можно включать и выключать с помощью кнопки/потенциометр.
Интенсивность света (аналогово-цифровая запись(PIN ,0..255)/количество горящих светодиодов зависит от окружающего освещения (светового резистора).
Для яркости используйте AnalogdigitalWrite(PIN,0..255), если вы используете несколько светодиодов, используйте digitalWrite(PIN,HIGH/LOW).
При использовании светодиода RGB в потенциометре можно выбрать разные цвета.

Если в эмуляторе все работает, то создайте схему на реальном Arduino.
Оценку можно повысить!
!!!Встройте наборы в коробку или поверхность, которую вы сделали.!!! Посмотрите на картинку
!!!Используйте батарейки или аккумуляторы!!!

Создайте видео работающей лампы и добавьте его в подготовленный отчет.

const int sensorPin = A0;
const int button1Pin = 2;

const int ledPin = 9;
const int L1 = 13;
const int L2 = 12;
const int L3 = 11;
const int L4 = 10;
const int L5 = 8;

int lightLevel, high = 0, low = 1023;

bool ledState = false;

void setup() {
pinMode(button1Pin, INPUT);
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(ledPin, OUTPUT);

Serial.begin(9600);
}

void loop() {
int button1State = digitalRead(button1Pin);

// Проверяем состояние кнопки
if (button1State == LOW) {
ledState = !ledState;
if (ledState) {

// Включаем светодиоды в зависимости от уровня яркости
if (lightLevel == 0) {
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(ledPin, LOW);
} else if (lightLevel <= 51) {
digitalWrite(L1, HIGH);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(ledPin, LOW);
} else if (lightLevel <= 102) {
digitalWrite(L1, HIGH);
digitalWrite(L2, HIGH);
digitalWrite(L3, LOW);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(ledPin, LOW);
} else if (lightLevel <= 153) {
digitalWrite(L1, HIGH);
digitalWrite(L2, HIGH);
digitalWrite(L3, HIGH);
digitalWrite(ledPin, HIGH);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
} else if (lightLevel <= 204) {
digitalWrite(L1, HIGH);
digitalWrite(L2, HIGH);
digitalWrite(L3, HIGH);
digitalWrite(ledPin, HIGH);
digitalWrite(L4, HIGH);
digitalWrite(L5, LOW);
} else {
digitalWrite(L1, HIGH);
digitalWrite(L2, HIGH);
digitalWrite(L3, HIGH);
digitalWrite(ledPin, HIGH);
digitalWrite(L4, HIGH);
digitalWrite(L5, HIGH);
}

                     // Включаем светодиод

} else {
digitalWrite(L1, LOW);
digitalWrite(L2, LOW);
digitalWrite(L3, LOW);
digitalWrite(L4, LOW);
digitalWrite(L5, LOW);
digitalWrite(ledPin, LOW);
// Выключаем светодиод
}
delay(250);
}

  // Считываем уровень освещенности

lightLevel = analogRead(sensorPin);

// Преобразуем уровень освещенности в диапазон яркости (0-255)
lightLevel = map(lightLevel, 0, 1023, 0, 255);

// Ограничиваем значение яркости
lightLevel = constrain(lightLevel, 0, 255);
// Выводим уровень освещенности в Serial Monitor
Serial.println(lightLevel);

delay(1000);
}

https://drive.google.com/file/d/1f-MZZfVCIdKXBwBz1jXvgnGuj4JYQwKG/view?usp=sharing