Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.11.2014, 21:30   #1
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Сетевой выключатель

Хочется организовать сетевой выключатель, но что бы он работал и механически, а не только по сети. Из железа uno и релейный модуль 4 канала, с качестве механического выключателя обычний выключатель сейчас для теста просто подаю на пин 8 GND
скетч
такой
Код:
void setup ()
{
Serial.begin(9600);
pinMode(12,OUTPUT);
digitalWrite(12, HIGH);
pinMode(8,INPUT);
digitalWrite(8, HIGH);

}


void loop()  
{ 
       
       uint8_t inByte = Serial.read();   
        if(inByte=='6' || digitalRead(8)==HIGH)
         { 
            Serial.print(" OFF ");
           digitalWrite(12, HIGH);     
          }
           if(inByte=='5' || digitalRead(8)==LOW)
         { 
            Serial.print(" ON ");
           digitalWrite(12, LOW);     
          }
  
     }
Но вот блин не хочет работать, вернее работает только по выключателю по 8 пину, если там включено то запросом 6 не выключает и на оборот.
Вот как бы реализовать такой выключатель?
avgaz вне форума   Ответить с цитированием
Старый 01.11.2014, 21:36   #2
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,368
Вес репутации: 9567
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Сетевой выключатель

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

PHP код:
  if (UART_ReadByte(inByte)) //если что то пришло  
  
{    
    switch (
inByte)  //смотрим какая команда пришла  
    
{    
        case 
'x':  //стоп  
          
robot_stop();  
        break;   
          
        case 
'W':  //вперед  
          
robot_go();    
        break;    
          
        case 
'D':  //лево  
          
robot_rotation_left();   
        break;  

        case 
'A'//право  
          
robot_rotation_right();   
        break;   
          
        case 
'S':  //назад  
          
robot_back();   
        break;     
        
    } 
Admin на форуме   Ответить с цитированием
Старый 01.11.2014, 21:53   #3
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: Сетевой выключатель

Я не совсем понимаю, как мне этот код использовать.
В в 4 канальном релейном модуле я использую одну релюшку всего.
Необходимо что бы её можно было включать как с механического выключателя так и из сети, то есть если к примеру, я включил свет выключателем механическим(то есть соединил GND и 8пин) то мог его выключить по сети и так же включить когда выключатель выключен, сейчас у меня выходит только выключателем включить и выключить по сети уже не проходит вернее пытается выключить но сразу включается обратно т.к механический включен.
Ваш код больше похож для управления несколькими реле, как его использовать мне что то не понять.
avgaz вне форума   Ответить с цитированием
Старый 01.11.2014, 21:59   #4
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,368
Вес репутации: 9567
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Сетевой выключатель

PHP код:
 if (UART_ReadByte(inByte)) //если что то пришло  
  
{    
    switch (
inByte)  //смотрим какая команда пришла  
    
{    
        case 
'1':  //включить  
          
digitalWrite(12HIGH); 
        
sw_stat=true;  
        break;   
          
        case 
'0':  //выключить  
          
digitalWrite(12LOW);  
         
sw_stat=false;  
        break;    
    } 

if(
digitalRead(8)==HIGH && sw_stat==false
{
digitalWrite(12HIGH) ;
sw_stat=true;
}
else  if(
digitalRead(8)==LOW && sw_stat)
{
digitalWrite(12LOW);
sw_stat==false;

Admin на форуме   Ответить с цитированием
Старый 01.11.2014, 22:34   #5
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: Сетевой выключатель

получился вот такой скетч
Код:
 int sw_stat = 0;
void setup ()
{
Serial.begin(9600);
pinMode(12,OUTPUT);
digitalWrite(12, HIGH);
pinMode(8,INPUT);
digitalWrite(8, HIGH);

}


void loop()  
{ 

          uint8_t inByte = Serial.read(); 
           if (inByte) //если что то пришло  
  {    
    switch (inByte)  //смотрим какая команда пришла  
    {    
        case '1':  //включить  
          digitalWrite(12, HIGH); 
        sw_stat=true;  
        break;   
          
        case '0':  //выключить  
          digitalWrite(12, LOW);  
         sw_stat=false;  
        break;    
    } 

if(digitalRead(8)==HIGH && sw_stat==false) 
{
digitalWrite(12, HIGH) ;
sw_stat=true;
}
else  if(digitalRead(8)==LOW && sw_stat)
{
digitalWrite(12, LOW);
sw_stat==false;
} 
     }
}
Результат тот же, механически включается, но уже через сеть(USB) не выключается, вернее выключается и сразу включается, т.к механически все то включен
avgaz вне форума   Ответить с цитированием
Старый 01.11.2014, 23:26   #6
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,368
Вес репутации: 9567
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Сетевой выключатель

А кнопка как у Вас подключенв? Можно схему или описание?
С дребезгом как боретесь?
Admin на форуме   Ответить с цитированием
Старый 02.11.2014, 01:07   #7
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: Сетевой выключатель

Цитата:
Сообщение от Admin Посмотреть сообщение
А кнопка как у Вас подключенв? Можно схему или описание?
С дребезгом как боретесь?
Не кнопка, а выключатель, простой бытовой. Подключен, это с GND на выключатель, а выключателя на pin 8 ну то же самое что просто кинуть с GND на пин 8 перемычку будет типа включен выключатель.
avgaz вне форума   Ответить с цитированием
Старый 02.11.2014, 03:23   #8
stD
Moderator
 
Аватар для stD
 
Регистрация: 02.04.2012
Адрес: Питер
Сообщений: 1,113
Вес репутации: 1293
stD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant futurestD has a brilliant future
По умолчанию Re: Сетевой выключатель

Нужен не фиксируемый ключатель-кнопка.
stD вне форума   Ответить с цитированием
Старый 02.11.2014, 09:13   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,368
Вес репутации: 9567
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Сетевой выключатель

Цитата:
Сообщение от avgaz Посмотреть сообщение
Не кнопка, а выключатель, простой бытовой. Подключен, это с GND на выключатель, а выключателя на pin 8 ну то же самое что просто кинуть с GND на пин 8 перемычку будет типа включен выключатель.
И как Вы себе представляете управлять светом удаленно, если выключатель включен?
Например уехали из дома и забыли выключить свет, выключить его удаленно уже не получится
Я Вам привел пример кода под кнопку
Admin на форуме   Ответить с цитированием
Старый 02.11.2014, 15:21   #10
avgaz
Senior Member
 
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0
avgaz is an unknown quantity at this point
По умолчанию Re: Сетевой выключатель

Ну с кнопкой то элементарно, но если стоят уже обычные выключатели как люди делают при этом удаленно управляемый свет? Переделывают все выключатели в доме, на кнопочные или в обще без них обходятся?
avgaz вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 12:17. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика