Умный Дом. Управление освещением на 3вт светодиодах.

viga5
Offline
Зарегистрирован: 28.03.2011

Добрый день.

Есть желание собрать в доме освещение на мощных 1вт и 3вт светодиодах"Edison"

Дом строиться и нужно уже кидать проводку.

Есть плата Arduino Duemilanove и Arduino Nano.

Освещение в коридори, длина примерно 9м ширина 1.8

В потолке будут точечные светильники в них стоять 1 и 3 вт светодиоды

Нужно сделать на 4 группы:

1 группа -5шт х 3вт светодиодов -основное освещение

2 группа -3шт х 1вт будет как ночник

3группа - 3шт х 3вт освещение картин

4группа - освещение арки светодиодной лентой.

Поможете, с програмированием?

 

Zaliv
Offline
Зарегистрирован: 05.03.2011

 Да поможем. Опиши как подключать будешь освещение к контроллеру. И что значит "сделать 4 группы" дай use case для этих групп.

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

1. купить 1 мощный БП на 12В на все светодиоды, ампер этак на  5, чем больше тем лучше. (смело можно компьютерный БП, главное посмотреть его характеристики на 12В)

2. Взять драйвера светодиодов, если не планируется регулировка яркости то любые, если планируются то драйверы со входом для ШИМ

3. 1-я и 3-я группы - разбить на 2 подгруппы по 2 и 3 светодиода, соединять последовательно, на каждую подгруппу 1 нормальный драйвер на 700мА

4.  2-я группа 3 штуки последовательно на 1 драйвер нормальный с током 350мА

5. Лента какая обычная или RGB?

Советую почитать мою тему про светодиоды arduino.ru/forum/obshchii/27vt-svetodiodov-3-po-3vt-kazhdogo-tsveta-rgb-signal-muzykalnyi-na-analogovyi-vkhod

kikia99
Offline
Зарегистрирован: 22.03.2011

главное проводов проложить побольше пока есть возможность потом купить это http://www.kernelchip.ru/Jerome.php  на ардуино все тоже дороже и долбше там уже веб сервер готовый  можно будет прямо с телефона,компа , планшетника  включать  ну а ардуино поставить на кнопки что бы параллельно  обочные включатели с регулировкой яркости через шим 

а с драйверами надо подумать я так понимаю что светильники штатные и источники питания к ним есть ? в них встроенны драйвера и сторонии не нужны там микшер надо ставить на каждый канал по полевому транзистору 

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

чуть не забыл  вы главное интернет кабель туда заведите где вся мозга стоять будет 

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Да и самое главное охлаждение хорошее для светодиодов))) 

viga5
Offline
Зарегистрирован: 28.03.2011

Блок питаниея уже есть импульсный на 12в 150вт 12А . Светодиоды тоже 3 и 1 вт Едисон.

Драйвера точно такие как в описании Adessit про светомузыку с ШИМ на 700мА и на 350мА

Будет изменяться яркось.

Корпуса от точечных светильников с рассеивателем или такие еще не рещил .

На этих уже радиатор стоит но они дороже ;-)

Лента на арке обычная белая только нужно чтоб яркость тоже изменялась.

За интернет кабель спасибо, пойду заводить!

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

Управление  со временем через интернет.

А пока 2-3 кнопки звонка на одной стороне и на другой.

 

 

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

В одном месте делаете щиток(короб ну или как оно там у вас будет)  и туда всё хозяйство с блоком питания, драйверами светодиодов, ардуиной, (предохранители не забудьте) и вводим туда все кабеля, от датчиков в том числе. Кстати по ним не подскажу, там из-за длины кабеля могут быть большие погрешности. Можно на улицу и термодатчик. На щиток вывести экранчик и кнопки управления) А там уже будет интереснее) 

kikia99
Offline
Зарегистрирован: 22.03.2011

если вам средства позволяют вы купите с хорошим охолождением это ОЧЕНЬ ВАЖНО  основной причиной отказа длительные температуры  да и так их яркость падает линза отгорает от кристала  так что тут лишнего не бывает чем он холоднее тем дольше проживет 

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

кнопки есть путные они вроде как под жалюзи с виду как обычные но внутри концевики 

 

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Вот где душа может разгуляться на светодиодные фонари и цена доступная вполне)) Если не горит и есть возможность подождать недели2-3 то вот www.lightake.com/products.do//page.5~category.Wholesale_LED_Gadgets-119 листаем там внизу страницы с первой, просто колоссальный выбор и бесплатная доставка даже ко мне в Украину)

viga5
Offline
Зарегистрирован: 28.03.2011

 Сайт класный. Куча интересного.

 Если надо по этим ценам могу уже в Украине предложить.  :-) (Лирическое отступление ;-)   )

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

Коридор без окон.

Драйвера буду в распред коробке ставить. Блок питания отдельно в щитовой.

Кто знает витая пара выдержит нагрузку от светодиодов по  питанию(Затянул витую пару без экрана) ?

Какой датчик освещенности можно поставить и как подключить?

За клавиши от жалюзи спасибо, я про них и не подумал.

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

 Витую пару если соеденить по 4 жилы вместе то должна выдержать. там же не 100 метров кабеля у вас?

Как самый простой датчик из барахла домашнего - это солнечная батарея от какого нибудь калькулятора по больше, с небольшим конденсатором и подать на вход аналоговый)

Nikelbak
Nikelbak аватар
Offline
Зарегистрирован: 22.03.2011

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

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

короб не большой совсем должен быть. И удобство на лицо к доступу сразу всех устройств.) Светодиоды при правильной установке не нуждаются совсем в обслуживании. Да и лучше в одно место завести 220В с точки зрения пажаробезопасности, потому что если вести 220В к каждому светильнику светодиодному то нужны к каждому источник тока с 220В а это дорого для каждой еденицы. Дешевле БП на 12В и драйверов куча. Можно всё запихнуть красиво в коробку для автоматов сантиметров 15х20х10. Будет красиво и аккуратно

kikia99
Offline
Зарегистрирован: 22.03.2011

а кто мешает по проводам для сети 220 подать 12 вольт провода все меченные плюс не потеряется так что к каждому светильнику идет только провод а для всего хозяйства выберается место либо щиток либо отдельное логово 

 

Nikelbak
Nikelbak аватар
Offline
Зарегистрирован: 22.03.2011

Ну вобщем проект нужен сначало. А то я так не обясню 

viga5
Offline
Зарегистрирован: 28.03.2011

 Проводил эксперемент: подключил 4 шт 3вт белых светодиода. Блок питания 220в стабилизирован по току 700мА до 30вт.

3 шт проводом шввп 2х0.35 и один проводом от витой пары( длиной около 10м). Проработали около 4 часов. Провод не нагрелся(датчиком не мерял, только на ощупь.).

Буду ставить на витую пару. 

Управлени 4 кнопки нормально открытые.

1кн.(менее 1сек)----- вкл / выкл основной свет (1группа 5х3вт светодиодов)

1кн.(длинное нажатии) --- больше/меньше (от 0%-до 100% и обратно)

 

2 кн. (менее 1сек)---- вкл/выкл 2 группу "Ночник" (3х1вт) Сразу на 100% по истечении 2 минут выставить яркость на 20%

2 кн (длинное нажатие )--- вкл/вык на 100%

На вторую группу нужно подключить датчик освещенности который на уличе.

 

3кн (коротко )--- вкл/выкл 3группу  "Освещение картин"

3кн(длинное нажатие)--- больше/меньше

 

4 кн(коротко)--- вкл/выкл посветку в арке

4 кн (длинно)---больше/меньше

 

И отдельно 5 кнопка все вкл/выкл 

 

 

Как это все правильно запрагромировать?

 

 

 

 

 

kikia99
Offline
Зарегистрирован: 22.03.2011

 мудрено все как то мож пересмотреть в сторону упрощения  прибавление от 0 до 100 кнопкой это не очень хорошо всегда будете путаться проскакивать это будет злить и напрягать луч заранее запрограмировать десять градаций по +10 процентов  и так проще запомнить  десять раз нажал максимум клавиша от жалюзей помойму содержит два концевика вверх вниз  соответственно вверх один вкл еще нажатие плюс 10 процентов вниз  выкл  так проще и удобнее  каждая группа светодиодов имеет свою клавишу либо по одной кнопке и вкл и выкл а шим от отдельного блока с переменным резистром который имеет кнопку селективного переключения по каналам выбора  упровляемой группы светодиодов  ну типа взять корпус от димера там и нажатие есть и переменный резистор нажал один раз выстовляешь яркость первой группы светильников нажал второй раз упровляешь группой номер два и так далее 

Adessit
Adessit аватар
Offline
Зарегистрирован: 12.04.2011

Ну и то что писал автор выше, тоже можно сделать. Это рассписано в первых примерах книги http://arduino.shopium.ua/pages/arduino-getting-started/

Там есть пример с антидребезгом и фейдом на одной кнопке, как раз данная задача и всё работает)))

Пример 5-2. Включить светодиод при нажатии кнопки, оставить включённым после её отпускания с использованием простого антидребезга. Если кнопка нажата, изменять яркость.
#define LED 9     // the pin for the LED
#define BUTTON 7  // input pin of the pushbutton

int val = 0;      // stores the state of the input pin

int old_val = 0;  // stores the previous value of "val"
int state = 0;    // 0 = LED off while 1 = LED on

int brightness = 128;         // Stores the brightness value
unsigned long startTime = 0;  // when did we begin pressing?

void setup() {
  pinMode(LED, OUTPUT);   // tell Arduino LED is an output
  pinMode(BUTTON, INPUT); // and BUTTON is an input
}

void loop() {

  val = digitalRead(BUTTON); // read input value and store it
                             // yum, fresh

  // check if there was a transition
  if ((val == HIGH) && (old_val == LOW)) {

    state = 1 - state; // change the state from off to on
                       // or vice-versa

    startTime = millis(); // millis() is the Arduino clock
                          // it returns how many milliseconds
                          // have passed since the board has
                          // been reset.

   // (this line remembers when the button
   // was last pressed)
   delay(10);
}
// check whether the button is being held down
  if ((val == HIGH) && (old_val == HIGH)) {

    // If the button is held for more than 500ms.
    if (state == 1 && (millis() - startTime) > 500) {

      brightness++; // increment brightness by 1
      delay(10);    // delay to avoid brightness going
                    // up too fast

      if (brightness > 255) { // 255 is the max brightness

        brightness = 0; // if we go over 255
                        // let's go back to 0
      }
    }
  }

  old_val = val; // val is now old, let's store it

  if (state == 1) {
    analogWrite(LED, brightness); // turn LED ON at the
                                 // current brightness level
  } else {
    analogWrite(LED, 0); // turn LED OFF
  }
}

 

stset
Offline
Зарегистрирован: 18.11.2012

а подскажите как реализовать несколько режимов?? 

собрал на uln2003 из 3вт светодиодов простой светильник с управлением с пульта - не догоняю как сделать несколько режимов 

интересует просто включение\выключение и стробоскопический эффект

 

stset
Offline
Зарегистрирован: 18.11.2012

да ладно.че никто подсказать не может?? 

alex_r61
alex_r61 аватар
Offline
Зарегистрирован: 20.06.2012

Привет всем! Сколько на "грудь" приняли чтоб такое придумать?
Питание по витой паре, а обычные провода не продают. Причём закладывать
надо не мене 0.5, а с учётом развития 0.75 или больше. Да и кнопок "маловато" :)
Возьмите Ардуину и дисплей 16x2, сделайте управление через меню.
Тогда Вам хватит и трёх кнопок или одного энкодера с центральной кнопкой.
Да и пульт ДУ можно подцепить.
Заложите в меню несколько готовых сценариев. Например:
1 все горят
2 все выключены

3 ручное управление

4 автомат(по датчикам)
5 только основное освещение
6 только подсветка и т.д.
Я у себя в каждый светильник ставлю контроллер, который будет управлять
светодиодами по командам от центрального МК, а также по сигналам датчиков
движения, освещённости и сонара. Управление или по витой паре через RS485
или по беспроводке. Питание в щитке на входе, причём два. Одно мощное 12вольт
от импульсника, второе дежурное 12 вольт 3А от трансформатора для постоянной работы.
(Не доверяю я импульсникам, особенно компьютерным)

Vlad-bodryi
Offline
Зарегистрирован: 12.04.2014

всем здравствуйте! я тут в начале года немного изучал программирование и немного переделал скетч из 17 сообщения, но после краха компа и некоторой паузы утеряны все мои достижения в этом направлении.

недостатки алгоритма и правильные алгоритмы:
 1) - "цикличнось яркости" при удержании кнопки - нужно исправить на переход от крайних значений в обратном направлении, т.к. при цикличности невозможно поймать крайние значения и нужного значения.
 2) - при двойном нажатии кнопки - вкючение на максимальную яркость.

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

Vlad-bodryi
Offline
Зарегистрирован: 12.04.2014

иправил цикличность

#define LED 2       //1
#define BUTTON 52   //1


int val = 0;      //1 сохраняет состояние входного контакта
int old_val = 0;  //1 хранит предыдущее значение "вал"
int state = 0;    //1 0 = LED off в то время как 1 = LED on

int fadeAmount = 1;          //3 шаг приращения/убывания яркости
int brightness = 13;         //1 Хранит значение яркости
unsigned long startTime = 0;  //1 когда же мы начнем нажатием?




void setup() 
{
  pinMode(LED, OUTPUT);         //1 tell Arduino LED is an output
  digitalWrite(52, HIGH);       //1

  
}

void loop() 

{

   val = digitalRead(BUTTON);                //1 читать входное значение и сохранить его ням, свежий галочку, если произошел переход
     
   if ( (val == LOW) && (old_val == HIGH) )  //1           "2061/13 - муте"
   {
    state = !state;                          //1 изменить состояние из выключенного состояния во включенное или наоборот
    startTime = millis();                    //1 millis()является Arduino часы она возвращает количество миллисекунд прошло с тех пор совет был сброшен. (эта линия помнит, когда кнопка была нажата в прошлом)
    
   }
  
   
    if ( (val == LOW) && (old_val == LOW) )    //1 проверить, является ли кнопка удерживается нажатой
     {
      if (state == 1 && (millis() - startTime) > 500)    //1 Если кнопка удерживается в течение более чем 500 мс.
          { brightness = brightness + fadeAmount;                                
                                             
           if (brightness == 0 || brightness == 255) 
              { fadeAmount = -fadeAmount ;}                         
          }
          delay(10);
     }

  old_val = val;                                      //1 val теперь старый, давайте хранить его
  
  
  if (state == 1)                                     //1
   { analogWrite(LED, brightness); }                  //1 включить светодиод на на текущем уровне яркости
  else                                                //1
   { analogWrite(LED, 0); }                           //1 выключить светодиод


   
}

 

Vlad-bodryi
Offline
Зарегистрирован: 12.04.2014

никак неполучается "максималка по двойному клику" и плавность вкл./выкл.