Включение света с разных источников

drago56
Offline
Зарегистрирован: 20.10.2015

Получаю сигнал с приемника wi-fi и свободно включаю и выключаю лампочку, но потом встал вопрос как сделать независимо еще включение с выключателя. Придумал подавать с выключателя сигнал на ардуино. Но почему то через раз может включиться лампочка, может не сразобать, когда щелкаешь выключатель

int val;

int in1;//(переменная)счиние напрежение на выключателе

int pow_reley = 12;

int pow_reley1 = 6;//подаем напряжение на лампочку

int lampa1 = 2;//счиние напрежение на выключателе
;

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

  pinMode(lampa1, INPUT);
  digitalWrite(lampa1, 1);//включаем подтягивающий встроенные резистр,чтобы убрать помехи
 
  pinMode(pow_reley, OUTPUT);//
  digitalWrite(pow_reley, LOW);//подаем напряжение на выключатели

  pinMode(pow_reley1, OUTPUT);
  digitalWrite(pow_reley1, HIGH);

    attachInterrupt(0, button2, CHANGE);
}
void loop()
{
    in1 = digitalRead(lampa1);   

  val = Serial.read();

    // При символе "1" выключаем светодиод
   if (val == '1')
    {
      digitalWrite(pow_reley1, HIGH);
    }
     // При символе "3" включаем светодиод
    if ( val == '3')
    {
      digitalWrite(pow_reley1, LOW);
    } 

}
//=======================================

void button2() {
  if (digitalRead (pow_reley1) == HIGH)
  digitalWrite (pow_reley1, LOW);
 else
    digitalWrite(pow_reley1,HIGH);
}

 

Andy
Andy аватар
Offline
Зарегистрирован: 01.01.2016

дребезг контактов

Честно говоря не понимаю как происходит включение лампы с выключателя.

in1 нигде не используется. Что на контакте 0, на которое повешено прерывание?

Скорее всего даже не дребезг, а помехи на висящий вход 0.

drago56
Offline
Зарегистрирован: 20.10.2015

дребезг, разобрался