Контроллер освещения на Arduino

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Контроллер освещения на Arduino

Сообщение sergejey » Пт янв 02, 2015 8:18 pm

shemnik69 писал(а):Скажу честно ..как?
Если есть возможность можно краткое описание его логики... для понимания.
Зачем вот это?
void setup()
{
randomSeed(analogRead(0));
pinMode(PIN_LED,OUTPUT);
Serial.begin(9600);

Т.е опрос аналогового порта? На моем контроллере, такие есть и они совмещены с выходом на реле. И я ничего не понимаю зачем это.
В тоже время сам скетч работает! Чудеса..может так надо Новый год!... :D
Я так понимаю, что смущает именно эта строчка?

Код: Выделить всё

randomSeed(analogRead(0)); 
Собственно, она не обязательна. Дело в том, что у меня каждое устройство имеет свой уникальный ID и ниже есть такой код:

Код: Выделить всё

unique_device_id=random(10000, 60000); 
Так вот, randomSeed только для того, чтобы инициировать генератор случайного числа с помощью чтения "шума" на аналоговом порту. В противном случае генератор случайного числа будет выдавать одно и тоже значение. Короче, к логике работы самого контроллера света оно не имеет никакого отношения -- весь код по генерации и сохранению уникального идентификатора устройства можно смело вырезать.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: Контроллер освещения на Arduino

Сообщение shemnik69 » Пт янв 02, 2015 8:31 pm

те. она не нужна. Ну скажем в простом исполнении. Я собрал несколько контролеров для того чтобы уйти от 1-ware ключей. Данный контроллер просто находка поскольку много функций.
Теперь по порядку:
Опиши пожалуйста как нумеруются реле по выводам и как кнопки поскольку сейчас вот настраиваю и получилось что выключатель 1 включает реле № 6 ну это не страшно просто из описания это не видно и если можно кратко опиши саму логику т.е краткий алгоритм скетча. Он вроде понятен но там все на переменных и не очень видно что откуда. Заранее спасибо.

Если проще то по реж.. сам скетч оставив только опрос кнопок и выход на реле а также передачу на СОМ. Чувствую что не все так просто.... :D
И с новым годом!
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Контроллер освещения на Arduino

Сообщение sergejey » Пт янв 02, 2015 9:03 pm

В скетче в массиве заданы все входы и выходы. Попробую "разложить по полочкам":

Код: Выделить всё

#define TOTAL_OUTPUTS (16) // общее количество выходов (управляемых реле)
#define TOTAL_INPUTS (10) // общее количество входов (контактов выключателей)
int outputPins[TOTAL_OUTPUTS] = {22, 24 , 26, 28, 30, 32, 34 ,36 , 23, 25, 27, 29, 31, 33, 35, 37}; // пины, отвечающие за выходы (позиции 0-15)
int inputPins[TOTAL_INPUTS] = {38, 39, 40, 41, 43, 45, 47, 49, 51, 53}; //пины, отвечающие за входы (позиции 0-9)
int directLinkedPins[TOTAL_INPUTS] = {22,24,26,28,30,32,34,36,23,25};  //пины выходов, которые управляются входами напрямую 
Во-первых, контроллер управляется командами и команда turnoff0; выключит пин, который в массиве под номером 0 (это пин 22). А команда status1; выдаст статус пина из массива входов в позиции 1 (это пин 39). Ну и соответственно при изменении уровня сигнала на входе 1 будет выдана строчка типа "IN1 set to 1" или "IN1 set to 0".

О последней строчке немного подробней. Она устанавливает, что входы на соответствующих позициях управляют пинами автоматически. Т.е. в соответствии пину входа 0 (пин 38) ставится пин выхода 22, вход 1 (пин 39) управляет пином выхода 24 и так далее.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: Контроллер освещения на Arduino

Сообщение shemnik69 » Пт янв 02, 2015 9:33 pm

Логика такая.
Анализируем входа их 10 (у меня 8 это через оптроны) и 8 еще (не задействованы). Это понятно.
Выходы.
А Вас их 16 у меня 12 (завязанные на ключи) тоже понятно.
Далее опрашиваем все входа и соответственно меняем данные в массиве с сохранением в энергонезависимой памяти. Так.
Изменяем данные на выходах..теперь как увязать скажем порт входа 1 и порт выхода тоже 1 ..я так понял это в массиве.
Передаем данные на выход, (роутер ) это да видно в обмене COM порта.
Т.е, мне нужно, просто привязать порты входа Вашего "скетча" к соответствию портов Atmegi 32. Вроде так.
Убрал строчки ID ///так и не понял зачем..ну ладно. Вроде остальное .... работает.

Да ... Не зря говорят дом построить проще чем его переделать под себя....
annton
Сообщения: 13
Зарегистрирован: Чт янв 30, 2014 8:03 pm
Благодарил (а): 9 раз
Поблагодарили: 0

Re: Контроллер освещения на Arduino

Сообщение annton » Пт сен 11, 2015 1:58 pm

Подскажите пожалуйста, какие изменения надо внести в код, чтобы использовать не универсальный узел автоматики, а ethernet shield. Может кто-то уже делал что-то подобное.
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Контроллер освещения на Arduino

Сообщение akouz » Пт сен 18, 2015 1:50 pm

sergejey писал(а):Для управления освещением на этаже
...
Каждый выключатель и источник света отдельным проводом идёт в щиток
...
Контроллер прошит таким образом, что изменение состояния выключателя автоматически приводит в нужное состояние соответствующее реле, т.е. даже без внешней связи свет включается как и должен. Дополнительно контроллер управляется WiFi-роутером, принимая команды извне, а так же уведомляя об изменении положения выключателей.
То есть, получился централизованный контроллер, который, помимо автономного управления светом, может принимать команды извне и уведомлять о положении выключателей. Проводов для всего этого требуется даже больше, чем для обычной силовой проводки, где выключатель управляет светом непосредстаенно. Если контроллер сломается, то света не будет. Зато можно управлять светом централизованно.

Есть у меня коллега, который построил свой дом сам, красивый двухэтажный дом. И управление светом сделал таким же образом, через централизованный котроллер. От всех выключателей в его доме проложены Cat5 кабели в гараж. Там стоит стандартный 19-дюймовый шкаф с ПЛК и множеством реле. Далее силовые провода расходятся ко всем лампочкам в доме. Он мне говорил, что в сумме он в своем доме уложил около 5 км кабеля. Зато он может выключить весь свет в доме одним выключателем у входа. М-да...
Dr.Gilbert
Сообщения: 3
Зарегистрирован: Вс сен 13, 2015 8:20 pm
Благодарил (а): 3 раза
Поблагодарили: 0

Re: Контроллер освещения на Arduino

Сообщение Dr.Gilbert » Пт сен 18, 2015 2:19 pm

akouz писал(а):Есть у меня коллега...
Ха! Тут полфорума таких коллег! :)
Вложения
IMG_4762.JPG
А это витуха в 19'' шкафчик
IMG_4762.JPG (125.93 КБ) 10780 просмотров
IMG_4764.JPG
Это силовые в квартирный щиток.
IMG_4764.JPG (137.76 КБ) 10780 просмотров
akouz
Сообщения: 254
Зарегистрирован: Ср июл 09, 2014 3:48 pm
Благодарил (а): 6 раз
Поблагодарили: 41 раз

Re: Контроллер освещения на Arduino

Сообщение akouz » Пт сен 18, 2015 2:48 pm

"Мы пойдем другим путем" (с)

Изображение
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Контроллер освещения на Arduino

Сообщение sergejey » Пт сен 18, 2015 3:58 pm

akouz писал(а):То есть, получился централизованный контроллер, который, помимо автономного управления светом, может принимать команды извне и уведомлять о положении выключателей. Проводов для всего этого требуется даже больше, чем для обычной силовой проводки, где выключатель управляет светом непосредстаенно. Если контроллер сломается, то света не будет. Зато можно управлять светом централизованно.

Есть у меня коллега, который построил свой дом сам, красивый двухэтажный дом. И управление светом сделал таким же образом, через централизованный котроллер. От всех выключателей в его доме проложены Cat5 кабели в гараж. Там стоит стандартный 19-дюймовый шкаф с ПЛК и множеством реле. Далее силовые провода расходятся ко всем лампочкам в доме. Он мне говорил, что в сумме он в своем доме уложил около 5 км кабеля. Зато он может выключить весь свет в доме одним выключателем у входа. М-да...
У меня не такой большой дом, плюс я делал отдельные контроллеры на этажи -- контроллер первого этажа в гараже и контроллер второго этажа на чердаке. Ну да, расход кабеля несколько больше, но не так много выключателей и точек освещения в целом, так что вполне терпимо.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Контроллер освещения на Arduino

Сообщение Ivan » Пт сен 18, 2015 4:06 pm

Не проще было сделать шкаф на каждую комнату и на этаж. Шкафы былибы меньше и разбираться проше
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Ответить