Загрузка данных


const int LIGHT_SENSOR_PIN = A4;
const int RELAY_PIN = 7;
const int BUTTON_PIN = 2;

const int DARKNESS_THRESHOLD = 600;

// инверсия реле (у тебя именно такая)
const int RELAY_STATE_ON = LOW;
const int RELAY_STATE_OFF = HIGH;

void setup() {
  Serial.begin(9600);

  pinMode(RELAY_PIN, OUTPUT);
  pinMode(BUTTON_PIN, INPUT_PULLUP);

  digitalWrite(RELAY_PIN, RELAY_STATE_OFF);
}

void loop() {
  int lightValue = analogRead(LIGHT_SENSOR_PIN);
  int buttonState = digitalRead(BUTTON_PIN);

  Serial.print("Свет: ");
  Serial.print(lightValue);
  Serial.print(" | Кнопка: ");
  Serial.println(buttonState);

  // ✅ ГЛАВНОЕ УСЛОВИЕ ИЗ ЗАДАНИЯ
  if (lightValue > DARKNESS_THRESHOLD && buttonState == LOW) {
    digitalWrite(RELAY_PIN, RELAY_STATE_ON);   // включаем
    Serial.println("Темно + нажата кнопка → ВКЛ");
  } else {
    digitalWrite(RELAY_PIN, RELAY_STATE_OFF);  // выключаем
    Serial.println("Условия не выполнены → ВЫКЛ");
  }

  delay(200);
}