цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Автоматический бесконтактный выключатель света на основе Arduino своими руками

Автоматический бесконтактный выключатель света на основе Arduino своими руками

Автор: Mike(admin) от 7-09-2020, 05:15

Выключатель света, вероятно, является одним из самых часто трогаемых объектов в вашем доме, о чем вы даже не подозреваете. Более того, выключатель света – это скрытый фактор, который вносит свою немалую лепту в счета за электроэнергию. В условиях пандемии коронавируса и повышении тарифов на электроэнергию лучшим решением будет автоматический выключатель света, который помогает предотвратить распространение COVID-19 и снизить стоимость электроэнергии.


Автоматический бесконтактный выключатель света на основе Arduino своими руками

Конечно, на рынке уже имеются готовые решения, но их цена и стоимость установки автоматического выключателя света весьма существенная. И кто захочет взять на себя все хлопоты по найму электрика? Поэтому лучше сделать такой автоматический бесконтактный выключатель самостоятельно, используя Arduino, пару серводвигателей и датчик звука.


Итак, для начала найдите свой "целевой" выключатель света. Например, такой:


Автоматический бесконтактный выключатель света на основе Arduino своими руками

Найдите куски ненужной древесины (картон или пенопласт также подойдут).


Автоматический бесконтактный выключатель света на основе Arduino своими руками

Отрежьте 2 куска дерева так, чтобы сам выключатель выступал из дерева.


Автоматический бесконтактный выключатель света на основе Arduino своими руками

Затем с помощью горячего клея приклейте компоненты к доске.


Автоматический бесконтактный выключатель света на основе Arduino своими руками

Компоненты должны быть подключены в соответствии со следующей принципиальной схемой.


Автоматический бесконтактный выключатель света на основе Arduino своими руками

Загрузите следующий код в Arduino.



#include <Servo.h>

Servo on;
Servo off;

int light_switch = 0;

unsigned long startMillis;
unsigned long currentMillis;
const unsigned long period = 1000; 

void setup() {
  Serial.begin(9600);
  on.attach(9);
  off.attach(8);
  pinMode(7, INPUT);

  off.write(0);
  delay(5) ;
  on.write(180);

  startMillis = millis();
}

void loop() {
  currentMillis = millis();
  int sensor = digitalRead(7);
  /*
  if(light_switch == 0){
    if(currentMillis - startMillis > period){
      //move servo
      on.write(180);
      delay(5);
      off.write(30);      
      startMillis = currentMillis;
    }
  }
  */
  if(sensor == 1){
    
    if(light_switch == 0){
      
      Serial.println("off");
      on.write(180);
      delay(5);
      off.write(30);
      delay(2000);

      light_switch ++;
      
    }else if(light_switch==1){
       Serial.println("on");
       off.write(0);
       delay(5);
       on.write(150);
       delay(2000);
       light_switch = 0;
    }
  }
}

Теперь щелкая пальцем около датчика звука, можно включать и отключать свет.


Автоматический бесконтактный выключатель света на основе Arduino своими руками



© digitrode.ru


Теги: Arduino, коронавирус, датчик звука




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий