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

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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2012, 11:07   #21
Bagunda
Member
 
Регистрация: 12.03.2012
Возраст: 39
Сообщений: 51
Вес репутации: 0
Bagunda is on a distinguished road
По умолчанию

Ну я и говорю, что роутер можно использовать любой.
А вот надо сделать веб сервер, который будет хранить похожую флэшку.
В общем, не важно. До этого далеко.

Я вот себе буду УД тоже собирать на ардуине. Очень хотелось бы диммирование чтобы было в скетче и чтобы вкл/выкл работало и дребезг учитывался. И наверно у всех разные кнопки будут, поэтому дребезг тоже должен быть как-то настраиваемым.

Поэтому хотелось еще узнать, а реле на ардуино реализовано? В смысле скетча? И хотелось бы иметь реле на разные мощности, вплоть до 2-3 кВт.
И хотелось бы чтобы была возможность безшумного реле, чтобы можно было не выносить его из комнаты. Реле, а не симистор - имеется ввиду для того, чтобы управлять любой нагрузкой, а не только резистивной. Есть такая реализация?
И хотелось бы, чтобы можно было навешать много диммеров и реле и выключателей и чтобы всё на одной ардуине и чтобы еще ноги остались, чтобы еще к ардуине подключать оборудование.
Вообще, я себе в автокаде в 3D нарисовал схему чего и где мне надо.
Сильно интересуют вышеописанные вопросы и вот датчик 8 в одном бы...
Мне нужно: датчик освещенности, пожара, ИК трансмиттер и ресивер, можно и датчик движения, важен датчик температуры, т.к. это устройство вещается в очень хорошее место - примерно по середине потолка, так что там правильно мерять температуру.
Bagunda вне форума   Ответить с цитированием
Старый 02.04.2012, 13:15   #22
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию

Почти все что нужно для Умного дома есть, только осталось все объединить в кучу, по мере возможности буду выкладывать
Чесно говоря программно проблема дребезга решается на ура, но я бы все таки еще конденсатор параллельно кнопке повесил.
Admin вне форума   Ответить с цитированием
Старый 02.04.2012, 16:57   #23
Bagunda
Member
 
Регистрация: 12.03.2012
Возраст: 39
Сообщений: 51
Вес репутации: 0
Bagunda is on a distinguished road
По умолчанию

Цитата:
Сообщение от Bagunda Посмотреть сообщение
Хотелось еще узнать, а реле на ардуино реализовано? В смысле скетча? И хотелось бы иметь реле на разные мощности, вплоть до 2-3 кВт. Можно ссылку, если есть?
И хотелось бы чтобы была возможность безшумного реле, чтобы можно было не выносить его из комнаты. Реле, а не симистор - имеется ввиду для того, чтобы управлять любой нагрузкой, а не только резистивной. Есть такая реализация?
И хотелось бы, чтобы можно было навешать много диммеров и реле и выключателей и чтобы всё на одной ардуине и чтобы еще ноги остались, чтобы еще к ардуине подключать оборудование. Можно ссылку?
Сильно интересуют вышеописанные вопросы и вот датчик 8 в одном бы...
Мне нужно: датчик освещенности, пожара, ИК трансмиттер и ресивер, можно и датчик движения, важен датчик температуры, т.к. это устройство вещается в очень хорошее место - примерно по середине потолка, так что там правильно мерять температуру. Есть? Можно ссылку?
И как реализовать много кнопок на ардуине?
Bagunda вне форума   Ответить с цитированием
Старый 02.04.2012, 17:34   #24
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию

Вот например скетч для схемы управления светом
PHP код:
#define LightHole B00000001
  #define LightBedR B00000010
  #define LightLivingR B00000100
  #define LightKitchen B00001000
  #define LightBathR B00010000
  #define LightTualet B00100000
  #define LightBalcon B01000000
  #define Shkaf B10000000 // 15-й вывод шифта, на плате не разведен

  #define KoridorZhalo B00000001//не нужно, т.к. это 15-й вывод шифта, а он у меня на плате не задействован
  #define ShadesBadrUP B00000010//KuhnyaZhalo 
  #define ShadesBadrDOWN B00000100//SpalnyaZhalo 
  #define ShadesLivingrUP B00001000//GostinnayaZhalo 
  #define ShadesLivingrDOWN B00010000//TualetZhalo 
  #define ShadesBalkonUP B00100000//BannayaZhalo 
  #define ShadesBalkonDOWN B01000000//BalkonZhalo 
  #define ShkafZhalo B10000000//не используется, но есть на плате.

  #define ButtonShadesBedrUP 7 //вывод кнопок жалюзей - спальня
  #define ButtonShadesBedrDOWN 8 //вывод кнопок жалюзей - спальня
  #define ButtonShadesBalconUP 10 //вывод кнопок жалюзей - гостинная
  #define ButtonShadesBalconDOWN 9 //вывод кнопок жалюзей - гостинная
  #define ButtonShadesLivingrUP 12 //вывод кнопок жалюзей - гостинная
  #define ButtonShadesLivingrDOWN 11 //вывод кнопок жалюзей - гостинная

  #define ButtonLightHole 6
  #define ButtonLightBedR 7
  #define ButtonLightLivingR 19
  #define ButtonLightKitchen 18
  #define ButtonLightBathR 17
  #define ButtonLightTualet 16
  #define ButtonLightBalcon 13

  
byte StatusLightHole=0;
  
byte StatusLightBedR=0;
  
byte StatusLightLivingR=0;
  
byte StatusLightKitchen=0;
  
byte StatusLightBathR=0;
  
byte StatusLightTualet=0;
  
byte StatusLightBalcon=0;
  
  
byte StatusShadesBedUP=0;
  
byte StatusShadesBedDOWN=0;
  
byte StatusShadesLivingUP=0;
  
byte StatusShadesLivingDOWN=0
  
byte StatusShadesBalconUP=0;
  
byte StatusShadesBalconDOWN=0
  
  
byte DebounceLightHole=0;
  
byte DebounceLightBedR=0;
  
byte DebounceLightLivingR=0;
  
byte DebounceLightKitchen=0;
  
byte DebounceLightBathR=0;
  
byte DebounceLightTualet=0;
  
byte DebounceLightBalcon=0;
  
  
byte DebounceShadesBedUP=0;
  
byte DebounceShadesBedDOWN=0;
  
byte DebounceShadesLivingUP=0;
  
byte DebounceShadesLivingDOWN=0
  
byte DebounceShadesBalconUP=0;
  
byte DebounceShadesBalconDOWN=0;
  
  
int latchPin 5;//Порт подключенный к ST_CP 74HC595
  
int clockPin 6;//Порт подключенный к SH_CP 74HC595
  
int dataPin 4;//Порт подключенный к DS 74HC595
  
byte StatShift0=0;
  
byte StatShift1=0;

  
void setup() 
  {
  
pinMode(latchPinOUTPUT);
  
pinMode(clockPinOUTPUT);
  
pinMode(dataPinOUTPUT);

  
digitalWrite(latchPinLOW); //отключить защелку
  
shiftOut(dataPinclockPinMSBFIRST0); 
  
shiftOut(dataPinclockPinMSBFIRST0); // выключить все выходы шифта
  
digitalWrite(latchPinHIGH); //защелкнуть байт в регистр

         
for (int in=7in <= 21in++)
         {
           
pinMode(in,INPUT); 
           
digitalWrite(inHIGH); 
         }

// pinMode(13,OUTPUT);
// digitalWrite(13, LOW);
      
Serial.begin(115200); // Инициализация ком порта 
  
}

  
void loop() 

           
DebounceLightHole analogRead(ButtonLightHole)/4;
           
DebounceLightBedR analogRead(ButtonLightBedR)/4;
           
DebounceLightLivingR digitalRead(ButtonLightLivingR);
           
DebounceLightKitchen digitalRead(ButtonLightKitchen);
           
           
DebounceLightBathR digitalRead(ButtonLightBathR);
           
DebounceLightTualet digitalRead(ButtonLightTualet);
           
DebounceLightBalcon digitalRead(ButtonLightBalcon);
 
           
DebounceShadesBedUP digitalRead(ButtonShadesBedrUP);
           
DebounceShadesBedDOWN digitalRead(ButtonShadesBedrDOWN);
           
DebounceShadesLivingUP digitalRead(ButtonShadesLivingrUP);
           
DebounceShadesLivingDOWN digitalRead(ButtonShadesLivingrDOWN); 
           
DebounceShadesBalconUP digitalRead(StatusShadesBalconUP);
           
DebounceShadesBalconDOWN digitalRead(StatusShadesBalconDOWN);
       
           
delay(40); // пауза для проверки дребезга 
         
         // Serial.println(DebounceLightBedR, BIN);
 //------------------------------------------------------------------------------------------------------
// if (digitalRead(ButtonLightHole) == LOW && DebounceLightHole == 0 && StatusLightHole == 0)
// {
//   LightOn(LightHole); //включить источник
//   StatusLightHole=255; //запомнить состояние источника 
//   while(digitalRead(ButtonLightHole) == LOW){ delay(10);}//ждем отпускания кнопки 
// } else { 
//         if (digitalRead(ButtonLightHole) == LOW && DebounceLightHole == 0 && StatusLightHole == 255) 
//           { 
//             LightOff(LightHole); 
//             StatusLightHole=0; //запомнить состояние лампочки 
//             while(digitalRead(ButtonLightHole) == LOW){ delay(10);}//ждем отпускания кнопки 
//           }
//       } 
 //------------------------------------------------------------------------------------------------------
// if (analogRead(ButtonLightBedR)/4 < 30 && DebounceLightBedR < 30 && StatusLightBedR == 0)
// {
//   LightOn(LightBedR); //включить источник
//   StatusLightBedR=255; //запомнить состояние источника 
//   while(analogRead(ButtonLightBedR)/4 < 30){ delay(10);}//ждем отпускания кнопки 
// } else { 
//           if (analogRead(ButtonLightBedR)/4 < 30 && DebounceLightBedR < 30 && StatusLightBedR == 255) 
//           { 
//             LightOff(LightBedR); 
//             StatusLightBedR=0; //запомнить состояние лампочки 
//             while(analogRead(ButtonLightBedR)/4 < 30){ delay(10);}//ждем отпускания кнопки 
//            }
//        } 
//------------------------------------------------------------------------------------------------------
            
if (digitalRead(ButtonLightLivingR) == LOW && DebounceLightLivingR == && StatusLightLivingR == 0)
             {
               
LightOn(LightLivingR); //включить источник
               
StatusLightLivingR=255//запомнить состояние источника 
               
while(digitalRead(ButtonLightLivingR) == LOW){ delay(10);}//ждем отпускания кнопки 
              
} else { 
                        if (
digitalRead(ButtonLightLivingR) == LOW && DebounceLightLivingR == && StatusLightLivingR == 255
                          { 
                           
LightOff(LightLivingR); 
                            
StatusLightLivingR=0//запомнить состояние лампочки 
                            
while(digitalRead(ButtonLightLivingR) == LOW){ delay(10);}//ждем отпускания кнопки 
                          
}
                     } 
//------------------------------------------------------------------------------------------------------
            
if (digitalRead(ButtonLightKitchen) == LOW && DebounceLightKitchen == && StatusLightKitchen == 0)
             {
               
LightOn(LightKitchen); //включить источник
               
StatusLightKitchen=255//запомнить состояние источника 
               
while(digitalRead(ButtonLightKitchen) == LOW){ delay(10);}//ждем отпускания кнопки 
              
} else { 
                        if (
digitalRead(ButtonLightKitchen) == LOW && DebounceLightKitchen == && StatusLightKitchen == 255
                          { 
                           
LightOff(LightKitchen); 
                            
StatusLightKitchen=0//запомнить состояние лампочки 
                            
while(digitalRead(ButtonLightKitchen) == LOW){ delay(10);}//ждем отпускания кнопки 
                          
}
                     } 
// //------------------------------------------------------------------------------------------------------
// if (digitalRead(ButtonLightBathR) == LOW && DebounceLightBathR == 0 && StatusLightBathR == 0)
// {
// LightOn(LightBathR); //включить источник
// StatusLightBathR=255; //запомнить состояние источника 
// while(digitalRead(ButtonLightBathR) == LOW){ delay(10);}//ждем отпускания кнопки 
// } else { 
// if (digitalRead(ButtonLightBathR) == LOW && DebounceLightBathR == 0 && StatusLightBathR == 255) 
// { 
// LightOff(LightBathR); 
// StatusLightBathR=0; //запомнить состояние лампочки 
// while(digitalRead(ButtonLightBathR) == LOW){ delay(10);}//ждем отпускания кнопки 
// }
// } 
// //---------------------------------------------------
// if (digitalRead(ButtonLightTualet) == LOW && DebounceLightTualet == 0 && StatusLightTualet == 0)
// {
// LightOn(LightTualet); //включить источник
// StatusLightTualet=255; //запомнить состояние источника 
// while(digitalRead(ButtonLightTualet) == LOW){ delay(10);}//ждем отпускания кнопки 
// } else { 
// if (digitalRead(ButtonLightTualet) == LOW && DebounceLightTualet == 0 && StatusLightTualet == 255) 
// { 
// LightOff(LightTualet); 
// StatusLightTualet=0; //запомнить состояние лампочки 
// while(digitalRead(ButtonLightTualet) == LOW){ delay(10);}//ждем отпускания кнопки 
// }
// } 
// //---------------------------------------------------
// if (digitalRead(ButtonLightBalcon) == LOW && DebounceLightBalcon == 0 && StatusLightBalcon == 0)
// {
// LightOn(LightBalcon); //включить источник
// StatusLightBalcon=255; //запомнить состояние источника 
// while(digitalRead(ButtonLightBalcon) == LOW){ delay(10);}//ждем отпускания кнопки 
// } else { 
// if (digitalRead(ButtonLightBalcon) == LOW && DebounceLightBalcon == 0 && StatusLightBalcon == 255) 
// { 
// LightOff(LightBalcon); 
// StatusLightBalcon=0; //запомнить состояние лампочки 
// while(digitalRead(ButtonLightBalcon) == LOW){ delay(10);}//ждем отпускания кнопки 
// }
// } 
// 
}
//************************************************************************
  
void LightOn(byte Room)
  {
  
StatShift1 StatShift1 Room;
  
digitalWrite(latchPinLOW); //отключить защелку
  
shiftOut(dataPinclockPinMSBFIRSTStatShift0); // выключить
  
shiftOut(dataPinclockPinMSBFIRSTStatShift1); // выключить
  
digitalWrite(latchPinHIGH); //защелкнуть байт в регистр 
  
Serial.println(StatShift1BIN);
  }

  
void LightOff(byte Room)
  {
  
StatShift1 StatShift1 & ~Room;
  
digitalWrite(latchPinLOW); //отключить защелку
  
shiftOut(dataPinclockPinMSBFIRSTStatShift0); // выключить
  
shiftOut(dataPinclockPinMSBFIRSTStatShift1); // выключить
  
digitalWrite(latchPinHIGH); //защелкнуть байт в регистр 
  
Serial.println(StatShift1BIN);
  }

  
void ShadesOn(byte Shades)
  {
  
StatShift0 StatShift0 Shades;
  
digitalWrite(latchPinLOW); //отключить защелку
  
shiftOut(dataPinclockPinMSBFIRSTStatShift1); // выключить
  
shiftOut(dataPinclockPinMSBFIRSTStatShift0); // выключить
  
digitalWrite(latchPinHIGH); //защелкнуть байт в регистр 
  
}

  
void ShadesOff(byte Shades)
  {
  
StatShift0 StatShift0 & ~Shades;
  
digitalWrite(latchPinLOW); //отключить защелку
  
shiftOut(dataPinclockPinMSBFIRSTStatShift1); // выключить
  
shiftOut(dataPinclockPinMSBFIRSTStatShift0); // выключить
  
digitalWrite(latchPinHIGH); //защелкнуть байт в регистр 
  

Admin вне форума   Ответить с цитированием
Старый 02.04.2012, 17:46   #25
Bagunda
Member
 
Регистрация: 12.03.2012
Возраст: 39
Сообщений: 51
Вес репутации: 0
Bagunda is on a distinguished road
По умолчанию

А как реализовать еще больше кнопок и управляемых каналов и чтобы на одной ардуине?
Bagunda вне форума   Ответить с цитированием
Старый 02.04.2012, 17:59   #26
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию

Больше это сколько?
Без дополнительных микросхем можно сделать 17 кнопок и подключить через шифты бесконечное количество нагрузок
Admin вне форума   Ответить с цитированием
Старый 02.04.2012, 18:30   #27
metaforos
Member
 
Регистрация: 17.03.2012
Адрес: Мариуполь (UA)
Сообщений: 72
Вес репутации: 0
metaforos is on a distinguished road
По умолчанию

Давайте, может быть добавим в качестве опроса, функции, которые нужны умному дому? Я вот хочу "Умный дом", а до настоящего момента, не могу определиться с блоком реле (сколько релюшек мне нужно), т.к. не могу придумать, чем буду управлять...
metaforos вне форума   Ответить с цитированием
Старый 02.04.2012, 19:12   #28
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9820
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
По умолчанию

Создал отдельную тему список оборудования умного дома
Admin вне форума   Ответить с цитированием
Старый 03.04.2012, 14:37   #29
ua0yas
Junior Member
 
Регистрация: 03.04.2012
Сообщений: 3
Вес репутации: 0
ua0yas is on a distinguished road
По умолчанию

Присоединяюсь к теме. слежу за ходом и потихоньку делаю исполнительные механизмы. с Хабаровска есть люди?
ua0yas вне форума   Ответить с цитированием
Старый 08.04.2012, 17:43   #30
metaforos
Member
 
Регистрация: 17.03.2012
Адрес: Мариуполь (UA)
Сообщений: 72
Вес репутации: 0
metaforos is on a distinguished road
По умолчанию

Исполнил аналог Centrafuse Plugin для Ардуино, только на PHP+MySQL. Управление осуществляется USB-Serial. Жаль Ethernet шилда нет, так-бы запустил в сеть и тестировал. Может у кого будет желание потестировать и приложить умелые руки для наведения красоты, было-бы замечательно (вдруг пригодиться для умного дома)
Исходники - http://www.compcar.ru/forum/showpost...83&postcount=9

Теперь пытаюсь научить php читать из Ардуины, т.к. кроме как на экране, хочу управлять СМСками и IR. И все это нужно синхронизировать.
metaforos вне форума   Ответить с цитированием
Ответ


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

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

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

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

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


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


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