Последние статьи
- Твердотельный датчик направления и скорости ветра. Эксперимент
- iPhone на стене в качестве панели управления домом
- MegaD-16M-XT - подсветка выключателей и не только
- Переделка выключателей в кнопки и мини-обзор текущего рынка
- RadSens - модульный счетчик Гейгера с интерфейсом I2C
- "U" - значит универсальный. Обзор модуля MegaD-16U-XT
- SCD4x - современная альтернатива для измерения концентрации CO2
- HTU31D - новый датчик температуры и влажности с нагревательным элементом
- Измерение коэффициента пульсации ламп с помощью MegaD-2561
- Использование солнечных панелей в качестве датчика освещенности
- Согласование датчиков с выходом типа TTL со стандартными входами контроллера
- DPS368 - датчик атмосферного давления индустриального класса повышенной точности
- DS18B20 Waterpoof - импортзамещение
- TMP117 - высокоточный датчик температуры с интерфейсом I2C
- MegaD-16R-XT - расширитель на 16 релейных выходов
- MegaD-2561-RTC V3 - больше портов, зуммер и ИОН
Елочная гирлянда с управлением по 1-wire
26/12/2010 22:13:12
Возможно, данная статья устарела.
В конце 2017 года было реализовано куда более интересное решение гирлянды с использование лент WS2818/WS2811 и контроллера MegaD-2561. Подробнее.
Все новые статьи
Ёоооолооочкааа, зажгиииись!
Помните, как кричали мы заветные слова на новогодней елке в детском саду? И, словно по волшебству, но с непосредственным участием воспитательницы тети Гали, уборщицы тети Любы и электрика дяди Васи, вставляющего с кряхтением и оханьями вилку в розетку, елочка загоралась многочисленными разноцветными огоньками, лампочками и перемигивающимися гирляндами...
И вот, с ностальгией вспоминая о своем прошлом, я решил подключить наряженную по поводу новогодних праздников елку, растущую в саду, к сети 1-wire. Применение технологии 1-wire не ограничивается сугубо утилитарными задачами. Управляемая с помощью компьютерной программы елочная гирлянда открывает поистине колоссальные возможности для проведения детских мероприятий. Мечта дедсадовского электрика дяди Васи.
А меня, прежде всего, двигала лень. Ведь в праздничные дни елку нужно включать с наступлением темноты, а выключать тогда, когда все ложатся спать. Нелегкая задача для ленивых, недисциплинированных и забывчивых людей, вроде меня. Поэтому я взял еще один модуль на базе DS2413 и подключил к нему китайскую гирлянду для наружного применения, состоящую из 120 желтых светодиодов.
Логика работы как всегда проста. Каждую минуту по cron'у запускается маленький скрипт, который из базы данных считывает 3 значения: состояние ключа уличного освещения, состояние сигнализации, состояние собственно самой гирлянды и текущее время. Я решил, что гирлянда будет включаться с наступлением темноты. У меня уже работал скрипт, определяющий по камере видеонаблюдения недостаточную освещенность и включающий уличное освещение. Таким образом гирлянда включается автоматически в том случае, если включено уличное освещение. Далее я решил, что негоже жечь светодиоды, когда нас нет дома и запрограммировал, чтобы лампочки на елки выключались, когда сигнализация переведена в режим ОХРАНА и снова включалась в режиме НАБЛЮДЕНИЕ, если выполняется первое условие, а именно включено уличное освещение. Выключение гирлядны происходит ровно в 2 часа ночи. Единственным исключением я сделал ночь с 31 декабря по 1 января и с 6 по 7 января, когда гирлянда выключается только в 8 утра.
Но преимущества компьютерного управления гирляндой не ограничивается только включением или выключением с запрограммированными условиями. Например, я применил одноцветную гирлянду без режимов мигания. Не очень то и хотелось. Свои режими мигания можно запрограммировать самостоятельно! Вдоволь наигравшись с моргающими лампочками я понял, что это безыдейно и нужна какая-то мысль. И тогда я решил, что моя гирлянда будет показывать время. То есть в начале каждого часа моргать столько раз, сколько пробило часов. А в полночь лампочки вспыхнут 12 раз! С Новым 2011 Годом!
<? // Функции CMS - аналоги обычных SQL-запросов $keys_id = get_id_cl("keys", 1); $alarm_mode = show_list($keys_id, "#key_pio#", "", 1, "key_label='gsm_arm'", 1); $christ = show_list($keys_id, "#key_pio#", "", 1, "key_label='christ'", 1); $ext_light = show_list($keys_id, "#key_pio#", "", 1, "key_label='ext_light'", 1); if ( $alarm_mode == 1 && $christ == 1 ) key_sw("christ", 0); elseif ( $alarm_mode == 0 && $ext_light == 1 && $christ == 0 && date('H') >= 15 ) key_sw("christ", 1); elseif ( (date('j') == 31 && date('n' == 12) && date('H') > 8 && $christ == 1) || (date('j') == 1 && date('n' == 1) && date('H') && $christ == 1) ) key_sw("christ", 0); elseif ( $alarm_mode == 0 && $ext_light == 1 && $christ == 1 && date('H') >= 2 && date('H') <= 15 ) key_sw("christ", 0); $christ = show_list($keys_id, "#key_pio#", "", 1, "key_label='christ'", 1); if ( $christ == 1 && round(date('i')) == "0" ) { $my_time = date('g'); if ( $my_time == 0 ) $my_time = 12; for ( $i = 0; $i < $my_time; $i++ ) { $no_log = 1; key_sw("christ", 0); usleep(50000); key_sw("christ", 1); usleep(500000); } } ?>
Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Добавить комментарий:
Сортировка комментариев: Последние сверху | Первые сверху
2012-10-08 11:48:09 | Andrey_B
Вячеслав, если говорить о взрослом дереве, то вряд ли гирлянда сможет причинить ему сколь-нибудь серьезный урон. А вот для молодого дерева, возможно, это не очень хорошо. В любом случае я использовал светодиодную гирлянду с общим потреблением около 2-3 Ватт. Два года подряд использовал ее на молодом дереве и какого-то существенного вреда не отметил. В этом году на этой елке подсохла самая верхушка. Но, честно говоря, не думаю, что это связано именно с гирляндой. Со многими деревьями возникают те или иные проблемы, даже если на них ничего не висит.
2012-10-08 01:27:26 | Вячеслав
А не вредна ли для живого дерева гирлянда? Хочу на ели на даче повесить, но переживаю, чтобы деревья не загнулись.
2010-12-27 00:01:24 | Андрей (Sigma)
Классное решение.