Перейти до вмісту
    Arduino / Автоматичний вимикач: датчики руху та світла на Arduino

    Автоматичний вимикач: датчики руху та світла на Arduino

    Оцініть цю публікацію!
    [Усього: 0 Середнє значення: 0]

    Економія електроенергії та автоматизація освітлення – це завдання, яке часто стоїть перед розробниками IoT рішень. Неефективне використання світла призводить до зайвих витрат та збільшення вуглецевого сліду, особливо у великих приміщеннях або офісах. Наприклад, залишення світла увімкненим у порожньому офісі може збільшити щомісячні витрати на електроенергію на 15-20%.

    Контекст і чому це важливо

    Автоматичні вимикачі, що реагують на рух та освітлення, стають все більш популярними у “розумних” будинках та офісах. Вони забезпечують автоматичне вмикання світла при входженні людини в приміщення та вимикання через певний час після її виходу. Це особливо актуально для коридорів, сходищ, ванних кімнат та інших місць, де постійно ввімкнене освітлення не потрібне.

    Ігнорування цих можливостей призводить до марно витраченої електроенергії та збільшення експлуатаційних витрат. Згідно з дослідженнями, автоматизація освітлення може зменшити споживання електроенергії на 30-50% у житлових приміщеннях та на 40-60% в офісах.

    Практична реалізація

    Ми створимо просту систему, яка використовує датчик руху PIR (Passive Infrared) та датчик освітлення LDR (Light Dependent Resistor) для автоматичного керування світлом. Система буде реалізована на платформі Arduino, що забезпечує простоту програмування та доступність компонентів.

    // Підключення пінів
    const int pirPin = 2;  // Піна датчика руху
    const int ldrPin = A0; // Піна датчика освітлення
    const int relayPin = 8; // Піна реле для керування світлом
    
    int pirState = LOW;     // Поточний стан датчика руху
    int ldrState = 0;      // Поточний стан датчика освітлення
    int ledState = LOW;     // Поточний стан світлодіода
    
    void setup() {
      Serial.begin(9600);
      pinMode(pirPin, INPUT);
      pinMode(ldrPin, INPUT);
      pinMode(relayPin, OUTPUT);
    }
    
    void loop() {
      // Зчитування даних з датчиків
      pirState = digitalRead(pirPin);
      ldrState = analogRead(ldrPin);
    
      // Вивід даних в Serial Monitor для налагодження
      Serial.print("PIR: ");
      Serial.print(pirState);
      Serial.print("  LDR: ");
      Serial.println(ldrState);
    
      // Якщо датчик руху спрацював і освітлення недостатнє
      if (pirState == HIGH && ldrState > 500) {
        digitalWrite(relayPin, HIGH); // Увімкнути світло
      } else {
        digitalWrite(relayPin, LOW);  // Вимкнути світло
      }
    
      delay(1000); // Затримка для стабілізації
    }
    

    Цей код постійно зчитує дані з датчиків руху та освітлення. Якщо датчик руху фіксує рух, і рівень освітлення, визначений порогом (500 в цьому прикладі), нижчий за необхідний, то реле активується, вмикаючи світло.

    Поширені помилки та підводні камені

    • Неправильне калібрування LDR: Некоректний поріг освітлення може призвести до постійного ввімкнення/вимкнення світла. Потрібно експериментально підібрати значення порогу, враховуючи умови освітлення.
      • Чутливість PIR сенсора: Занадто чутливий датчик руху може спрацьовувати на дрібні рухи, наприклад, від домашніх тварин. Можна спробувати зменшити чутливість, змінивши кут огляду або відстань до об’єкта.
    • Затримка відгуку: Занадто коротка затримка між спрацюванням датчика руху та ввімкненням світла може бути неприємною для користувача. Рекомендовано встановити затримку не менше 1 секунди.

    Порівняння підходів

    Раніше, для автоматизації освітлення часто використовували таймери, які працювали за фіксованим розкладом. Це неефективно, оскільки світло вмикається навіть коли нікого немає в приміщенні, що призводить до марно витраченої електроенергії. Цей підхід призводив до втрати до 30% електроенергії.

    Використання датчиків руху та освітлення дозволяє реалізувати більш інтелектуальну систему, яка реагує на фактичну потребу в освітленні. Завдяки цьому, споживання електроенергії може бути зменшено на 40-60%, що суттєво впливає на фінансові показники.

    Висновки

    Автоматичні вимикачі на базі датчиків руху та освітлення ідеально підходять для коридорів, підвалів, складів та інших місць, де освітлення потрібне лише при наявності людей. Спробуйте створити прототип такої системи з використанням Arduino та доступних датчиків – це чудовий спосіб познайомитися з основами IoT. Почніть з вибору відповідних датчиків та реле, а потім перейдіть до програмування логіки керування.

    Залишити відповідь

    Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *