БОЛЬШИЕ ЧАСЫ НА LED ЛЕНТАХ
Светодиодных часов продаётся гора — маленькие, средние, с большими цифрами. Но что если нужны индикаторы ещё больше? Придётся делать своими руками! Вот цифровый часы RGB, которые сделаны на светодиодных лентах WS2812B. Это реально большие часы. Высота цифр составляет около 110 мм, а вся конструкция имеет размеры высота = 190 мм, ширина = 480 мм, глубина = 60 мм. Они были сделаны из таких материалов, как оргстекло, вспененный ПВХ, дерево, но в принципе пойдёт всё что есть под рукой.
Изготовление корпуса больших часов
Предполагалось, что часы будут сделаны так, чтобы их можно было увидеть из любой точки большой комнаты. Визуальный дизайн был создан в Fusion 360. Электроника в Eagle, программное обеспечение в Bascom.
Вначале с помощью самодельного фрезерного станка с ЧПУ выфрезеровали канавки на деревянной доске, в которую поместили нарезанные светодиодные ленты, по два LED в каждой. То есть два светодиода на каждый сегмент дисплея. Затем все нарезанные кусочки были соединены тонкими проводами.
Потом снова на помощь пришёл ЧПУ. Вырезаем отверстия из вспененного ПВХ для всех сегментов дисплея. Две пластины толщиной 5 мм и одна 1 мм. В конце разрезаем по размеру оргстекло.
Сборка идёт по порядку: деревянное основание со светодиодными лентами, две 5-миллиметровые ПВХ-пластины (позже использовал светорассеивающий фильтр), затем ПВХ 1 мм, окрашенный в черный лак, и, наконец, оргстекло, тонированное фольгой лобового стекла автомобиля. Все это скрутить декоративными винтами. На том же фрезерном станке вырезаем корпус электроники, а также ручку для настенного монтажа.
Электроника часов (схема и программа)
Печатная плата создана методом ЛУТ. Все контролируется м/к Atmega8 с тактовой частотой 16 МГц на кварце, питание от готового импульсного источника питания. Блок питания установлен на основной плате, как показано на фото.
Схема имеет датчик освещенности для автоматической регулировки яркости и вход для цифрового датчика температуры DS1820. Также добавлена возможность устанавливать цвет дисплея часов (10 цветов плюс случайное изменение цвета каждую секунду). Установка цвета отображения температуры. А ещё:
- Восемь настроек для точек между часами и минутами.
- Четыре различных эффекта перехода между временем и температурой.
- Восемь настроек минимальной яркости дисплея в темноте плюс максимальная яркость.
- Время отображения часов от 5 с до 45 с плюс только часы все время без термометра.
- Время отображения температуры от 1 до 9 с.
Вот такой получился интересный проект, который при желании можно ещё увеличить путём удлинения и утолщения кусков светодиодной ленты. Если кто-то также захочет сделать эти часы, во вложении все необходимые файлы и описание.
Форум по обсуждению материала БОЛЬШИЕ ЧАСЫ НА LED ЛЕНТАХ
Классический фонарик со встроенным зарядным устройством можно неплохо улучшить, добавив пару микросхем и 18650 АКБ.
Электромагнитное реле — теория и практика применения. Обозначение, виды, основные параметры и правила эксплуатации.
Изучим разные типы датчиков приближения и объекты, которые они могут обнаруживать.
Источник
Аналоговые светодиодные часы своими руками
Простые часы на светодиодных матрицах.
Автор: O-LED
Опубликовано 19.09.2011
Создано при помощи КотоРед.
2011
Многие радиолюбители, начинающие и не только любят «изобретать велосипед» — строить СВОИ электронные часы. Не обошла эта участь и меня. Конструкций часов в инете сегодня конечно предостаточно, но вот часов на светодиодных матрицах почему-то среди них единицы. В русскоговорящем интернете я нашел только одну полностью законченную конструкцию. В тоже время, светодиодные матрицы сейчас очень сильно подешевели, и их стоимость не выше, а то и ниже, чем у семисегментных индикаторов такого же размера. Например примененные мной GNM23881AD при размере 60х60мм были куплены за 1,5уе (3 индикатора обошлись в 4,5уе) за эти деньги вы вряд ли купите четыре семисегментника таких-же размеров). А вот информации, разместить на матричном индикаторе, можно намного больше. Кроме цифр на них можно отображать буквы, знаки, а с помощью бегущей строки еще и текст. Исходя из этого, появилось желание построить часы на светодиодных матрицах, но чтоб схема при этом получилась не сложнее чем на семисегментниках. Также хотелось чтоб она была достаточно функциональна и не похожа на другие. Так родилась следующая схема.
Функционал у часов такой:
- Отсчет времени, календарь, день недели. (високосный год учитывается, переход на летнее/зимнее время не осуществляется).
- Сохранение хода часов при пропадании внешнего питания (потребление составляет 15мка).
- Коррекция хода + — 59,9сексутки, с шагом 0,1сек.
- 9 будильников. 3 из которых «одноразовые», и 6 «постоянных», индивидуально настраиваемых по дням недели.
- Индивидуально настраиваемая длительность звукового сигнала каждого будильника (1-15мин).
- Звуковое подтверждение нажатия кнопок (возможно отключить).
- Ежечасный звуковой сигнал (возможно отключить). С 00-00 до 08-00 сигнал не подаётся.
- 1 или 2 датчика температуры (Улица и дом).
- Настраиваемая бегущая строка, посредством которой выводится вся информация (кроме времени)
- Значение коррекции хода, и настройки «бегущей строки» — сохраняются даже при пропадании резервного питания.
«Сердцем» часов выбрана AtMega16A, из-за её доступности, дешевизны и «ногастости». Схему хотелось максимально упростить, поэтому все что можно, было возложено на контроллер. В результате удалось обойтись всего двумя микросхемами, контроллером и регистром с мощными выходами TPIC6B595. Если кому то недоступен TPIC6B595, то можно его заменить на 74НС595 + ULN2803. Оба варианта были опробованы. Так же можно попробовать применить TPIC6С595, она немного слабовата, и слегка грелась, но в целом работала стабильно. Отсчет времени производится с помощью асинхронного тайме – Т2. Ход часов продолжается и при пропадании питания. В это время бОльшая часть схемы обесточена, и только контроллер получает питание от батарейки, аккумулятора , или от ионистора. Мне было интересно «по играться» с ионистором, поэтому применил его. Ток потребления часами в дежурном режиме составляет 15мка. При питании от ионистора на 1Ф, часы «продержались» четверо суток. Этого вполне достаточно для поддержания хода во время перебоев питания. Если применить батарейку СR2032, то теоретически, по расчетам заряда должно хватить на 1,5года. Наличие сетевого напряжения контроллер «слушает» через вывод РВ.3. Напряжение питания, через делитель R2-R3 подается на вывод РВ.3, и в нормальном состоянии равно примерно 1,5в. Если внешнее напряжение упадет ниже 4,1 вольта, то напряжение на выводе РВ.3 станет меньше 1,23вольта, при этом сгенерируется прерывание от компаратора, и в обработчике этого прерывания выключаются все «лишние» узлы контроллера и сам контроллер усыпляется. В этом режиме продолжает работать только отсчитывающий время таймер Т2. При появлении внешнего питания, напряжение на РВ.3 сново подымится выше 1,23в, контроллер «увидев» это, переведет все узлы в рабочее состояние. Если вместо ионистора, будет использоваться батарейка СR2032, то её нужно подключить через диод(предпочтительно диод шоттки). Анод диода подключается к + батарейки, а катод к катоду VD1.
В обычном режиме на экране отображается время в формате часы-минуты. С интервалом в одну минуту происходит запуск бегущей строки. Бегущей строкой отображается день недели, дата, год, темп. дома, и темп. на улице. Бегущая строка настраиваемая, т.е. можно включить/выключить отображение любого из элементов. (я например всегда отключаю отображение года). При выключении отображения всех элементов бегущей строки, она не запускается вовсе, и часы постоянно отображают только время.
9 будильников разделены на 3 одноразовых и 6 многоразовых. При включении будильников 1-3, они срабатывают только один раз. Для того чтоб они сработали еще раз, их нужно повторно включать вручную. А будильники 4-9 многоразовые, т.е. они будут срабатывать ежедневно, в установленное время. Кроме того эти будильники можно настроить на сработку только в определенные дни недели. Это удобно, например если не хотите чтоб будильник разбудил Вас в выходные. Или например Вам нужно просыпаться в будние дни в 7-00, а в четверг в 8-00, а на выходных будильник не нужен. Тогда настраиваем один многоразовый на 7-00 в понедельник-среду и пятницу, а второй на 8-00 в четверг….. Кроме того все будильники имеют настройку длительности сигнала, и если Вам, для того чтоб проснуться, мало сигнала в течении 1 минуты, то можно увеличить его на время от 1 до 15мин.
Коррекция хода производится один раз в сутки, в 00-00. Если часы спешат к примеру на 5 сек в сутки, то в 00-00-00 время установится в 23-59-55, если же часы отстают на 5 сек, то в 00-00-00 время установится в 00-00-05. Шаг коррекции – 0,1 сек. Максимальная коррекция – 59,9 сек/сутки. С исправным кварцем больше вряд ли понадобиться. Коррекция осуществляется и в дежурном режиме при питании от батареи.
Светодиодные матрицы можно использовать любые 8*8 светодиодов с общим катодом. Как уже было указано, я применил GNM23881AD. В принципе можно «набрать» матрицу и из отдельных светодиодов. Микроконтроллер AtMega16a можно заменить на «старый» AtMega16 с буквой L. При этом, теоретически должен немного увеличится ток потребления от батарейки. Наверное будет работать и просто AtMega16, но могут возникнуть проблемы при работе от 3х вольтовой батарейки. Диод D1 — желательно любой диод шоттки. С обычным выпрямительным тоже работает, но чтоб обезопасить себя от различных глюков, связанных с тем что часть схемы питается напряжением «до диода», а часть «после диода» лучше поискать шоттки. Транзистор VT1 – любой n-p-n.
Управление часами осуществляется двумя кнопками. Их количество можно было довести до 8шт, не добавляя больше вообще ни одного компонента, кроме самих кнопок, но захотелось попробовать «выкрутится» всего двумя. Кнопки условно названы «ОК» и «ШАГ». Кнопкой «ШАГ» как правило происходит переход к следующему пункту меню, а кнопкой «ОК» изменение параметров текущего меню. Сигнал сработавшего будильника также выключается кнопками «ОК» или «ШАГ». Нажатие любой кнопки во время сигнала будильника отключает его. Схема управления получилась такой:
Конструктивно часы выполнены на одной ПП. Размер ПП соответствует размеру индикаторов. Минимальная ширина дорог ПП – 0,4мм, расстояние между – 0,4мм. Так что любители «ЛУТа» смогут без труда изготовить плату самостоятельно.
Все элементы — в SMD исполнении, и расположены с одной стороны платы. А индикаторы с другой. Получается миниатюрный монолитный блок, который легко встроить в какой ни будь небольшой плоский корпус.
Корпус спаян из стеклотекстолита, прошпаклеван и покрашен в цвет «спелая вишня». Стекло передней панели – обычное тонированное стекло.
Источник
Большие часы на адресных светодиодах WS2812B
ViVant
Всем привет, хочу рассказать о том как я попробовал повторить проект, но столкнулся с некоторыми проблемами.
Как-то раз на просторах зарубежного интернета я нашел вот такой проект часов на базе светодиодной ленты WS2812B: Big, Auto Dim, Room Clock, и мне захотелось его повторить. Часы устроены как семи сегментный циферблат и работают на RTC модуле DS3231 . Часы умеют показывать температуру, имеют кнопки для настройки и перевода на зимнее время и обратно, позже я добавил датчик влажности DHT11. Температура уже вместе с влажностью считывалась с этого датчика и выводилась раз в минуту. Хоть и в модуле часов есть температурный датчик, но похоже он показывал температуру не корректно из-за самонагрева (ИМХО).
Когда все было собрано, повозившись с библиотеками, все заработало. И тут возникло одно большое НО: положения яркости в только в двух позициях меня не устраивало. Тем более на границе значений происходило мерцание. Установка яркости на статичном значении меня тоже не очень устраивала ибо днем при установленном тусклом свете ничего не было видно, а ночью даже со значениями близким к минимуму можно было осветить всю Москву. Поинтересовавшись как в других проектах с этим справляется Alex было решено заменить такой код настройки яркости.
Тут стоит упомянуть что программистом я не являюсь и большинство проблем я пытаюсь решить методом тыка и перебора.
И тут все заработало, моей радости не было придела, пока не наступила ночь. Появилась проблема с отключением ленты при полной темноте. Иногда это было только на минуту, а иногда на целую ночь. Еще есть проблема со слабим мерцанием светодиодов если освещения в комнате было мало (например когда работал телик), но это было редко и длилось это одну минуту.
Что касается кода вот сылка на GitHub. Кое-что я перевел для лучшего понимания.
Давно хотел поделиться готовым и работоспособным проектом в кругах аудитории Алекса, но вышло так что собственно нормальной работоспособностью тут не пахнет. Буду благодарени, если у кто сможет помочь.
Thug Robot
Thug Robot
ViVant
Рисуя схему допустил ошибку. Да, на фоторезисте используется резистор на 10 кОм. Схему перезалил.
Промониторив значения на выходе фоторезистора заметил, что при слабом освещении происходили скачки этих самых значений.
Перебрав пару способов, получилось убрать мерцание и отключение ленты. Мерцание я поборол добавив в код строчку с округлением значения кратному 10, а полное отключение разрешилось добавлением единицы к значению яркости. Ибо иногда на выходе функции получалось 0. Хотя как там получался ноль я не представляю, потому что из-за наличия функций map и constrain, этого происходить не должно. Хоть и это, наверное, костыли, но это работает.
Доброй ночи, решил я сделать тоже часы на WS2812B и Arduino, перепробовал несколько скетчей из сети, но ни один так и не смог запустить. Потом нашел этот форум и здешние не запускаются. Спаял по схеме, но поставил по 1 светодиоду на сегмент, направление как у автора.
Подскажите, пожалуйста, что в скетче еще надо изменить помимо #define NUM_LEDS на свое количество светодиодов, в byte digits[13][28] = в строках цифр ставлю значения для одного светодиода, а вот в // 1*7*4 +2 количество светодиодов в ленте здесь мне поставить 1*7*4 или 4*7*1?
Ну, и все же, если я ничего не изменю в скетче, а использую под количество светодиодов автора, хоть что-то должно светиться? У меня при запуске ничего не светится вообще, компилируется и загружается, правда пишет:
C:\Program Files (x86)\Arduino\libraries\FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.005
# pragma message «FastLED version 3.001.005»
но это ж вроде не ошибка?
ViVant
Доброй ночи, решил я сделать тоже часы на WS2812B и Arduino, перепробовал несколько скетчей из сети, но ни один так и не смог запустить. Потом нашел этот форум и здешние не запускаются. Спаял по схеме, но поставил по 1 светодиоду на сегмент, направление как у автора.
Подскажите, пожалуйста, что в скетче еще надо изменить помимо #define NUM_LEDS на свое количество светодиодов, в byte digits[13][28] = в строках цифр ставлю значения для одного светодиода, а вот в // 1*7*4 +2 количество светодиодов в ленте здесь мне поставить 1*7*4 или 4*7*1?
Ну, и все же, если я ничего не изменю в скетче, а использую под количество светодиодов автора, хоть что-то должно светиться? У меня при запуске ничего не светится вообще, компилируется и загружается, правда пишет:
C:\Program Files (x86)\Arduino\libraries\FastLED/FastLED.h:17:21: note: #pragma message: FastLED version 3.001.005
# pragma message «FastLED version 3.001.005»
но это ж вроде не ошибка?
Источник