Повторил проект. Из-за особенностей корпуса конечно пришлось помудыхаться с пайкой. Попросил сына подправить код. Оставили только время, точки в цвет сегментов, вместо температуры сделали отображение даты дд.мм. Печать всего PETG. Результатом даволен. Спасибо!
Для тех, кто хочет повторить и не знает как подключить ленту в сегментах. Из кода автора(спасибо ему за то, что всё откоментировано) следует, что сегменты подключаются последовательно по часовой стрелке начиная с верхнего, и последний это сегмент в середине. Подробнее: a - 0, b -1, c - 2, d - 3, e - 4, f - 5, g - 6(десятки часов). И в следующем индикаторе(еденицы часов): a -7, b - 8,...., g -13. Точки 14 и 15 сегменты. И так далее.
Скетч на 86 элементов и фото по ссылке. Сегменты только еще пленкой не заклеил ,а надо.... drive.google.com/file/d/16tWGN74ASsGh4OS-swQGfhkTd9dZ71yH/view?usp=sharing
А как подключаются точки? С сегмента единиц часов из последнего светодиода на верхнюю точку, с верхней точки на нижнюю точку? Сколько светодиодов в горизонтальном и вертикальном элементе сегмента? Ещё в вашем скетче написано что сегменты построены на базе ws2811 или это осталось от первоначального исходника, а у вас все же ws2812?
Спасибо за хороший корпус,собрал в этом корпусе по 4 светодиода на сегмент.Единственное изменил масштаб соединений между цифрами на 50% и укоротил на длину оригинала,провод который использовал не влазил в модель а если рассверлить получалось довольно хлипко.
Значение яркости храниться в ПЗУ и при изменении каждый раз записывается новое. Изменить можно кнопками. Если на табло горит "b" и цифры то это значит режим выбор яркости. "c"-выбор цвета.
Спасибо за проявленный интерес и комментарии. Про различия WS2812 от WS2811 я в видео вроде бы рассказывал, еще раз повторюсь проще собрать будет на 5-ти вольтовой WS2812 - меньше мороки будет с двумя точками и с питанием (можно будет запитать от любого USB), ну а коли завалялась без дела у кого 12-ти вольтовая WS2811, то можно собрать и на ней (как было в моём случае). Буду рад повторяемости моего проекта, отвечу на любые вопросы.
ну две точки WS2812 очень легко заменить одной ws2811 используя крайние диоды и прикрыв средний (за то отпадет надобность тащить отдельные пять вольт к точкам), единственное что под ваш напечатанный корпус такой вариант не подойдёт. нужно лишь немного поправить скетч на 29 диодов и убрать коррекцию цветов для 2812
Уважаемый Сергей. Большая просьба немного подкорректировать скетч - нужно одноцветное свечение точек и сегментов, а также на показаниях температуры нужно убрать десятые доли, чтобы уместился "минус" при отрицательных значениях. Заранее спасибо!
Уважаемый Сергей. Подскажите пожалуйста, я хотел поставить фотоэлемент, но там не подписан номинал резистора. Подскажите, пожалуйста, заранее благодарю.
Я не помню, что-бы код затемнения работал у меня нормально. Может быть в релиз даже и не попала функция отслеживающая освещенность. Если напишите сами то хорошо. Номинал резистора (делителя) зависит от фоторезистора, ориентировочно 2кОм можете ставить. Если будете писать код - используйте фильтры и небольшую задержку. Фильтр нужен, что бы не дёргаласть яркость от любой тени.
Доброго времени суток. Я захотел сделать ещё одни часы ваш готовый вариант я распечатал но хотел бы вас попросить снять видео как собирать 3D распечатку никак не догадаюсь как собрать заранее благодарю уважаемый Сергей.
Доброго времени суток. Сергей, поясните эту строку в скетче - //updateEEPROM; // при первой прошивке раскомментировать для записи настроек в ПЗУ контроллера. Ну это понятно, что надо убрать слеш, и почему при первой прошивке? Вопрос в следующем, остается ли в ПЗУ запись навечно и тд. Спасибо.
не вводи людей в заблуждение ту что ты показал не WS2812, а WS2811 (пиксель - три диода с отдельной микросхемой). на WS2812 микросхема уже встроена в каждый диод. и WS2811 насколько язнаю 12в, а WS2812 5в
Да, для этого в скетче нужно переписать функции вывода символов 0-9 и некоторые знаки "С" или градус, я уже точно не помню что я закладывал в признак температуры. Файлы в архиве, правьте и будет вам счастье.
Подскажите, пожалуйста. Сделал часы по модифицированной вашей схеме на 86 диодов. Функция часов работает отлично, но вот температура до 0 (плюсовая) показывает норм, а ниже какую-то чушь с 8ками. В чем может быть проблема?
Когда мой скетч модифицировали под большее количество светодиодов, не довели до конца. Вам придется его довести до конца. Можете в качестве примера взять мой исходный код. Я писал код давно, но вроде делал два варианта отображения минуса: минус перед температурой, но без десятой части и минус после числа с десятой частью. Поищите мои исходники. Если сделаете и вышлите мне, то я выложу в общий доступ.
@@Lukys30 проблема в том что код в части обчисления температуры точь в точь как у вас, корректировка только в символах. Плюсовую температуру показывает правильно, доходит до нуля, зажигается минус под знаком цельсия и дальше постоянно светится 08.8с_
Наверное. Я не запариваюсь по этому поводу и подключаю напрямую к пину. А по хорошему нужно почитать даташит к ленте, может резистор уже есть на ленте.
Я писал скетч давно, но работу датчика вроде бы не закладывал, так что если подключите фоторезистор, то Вам нужно будет заложить алгоритм его работы в скетч.
Сергей подскажите пожалуйста, при отображении минусовой температуры не показывает ниже -08 градусов, там тоже ниже человек писал про эту проблему у меня такая же. Подскажите куда копать в коде?
Ох. ты .... Я уже даже и алгоритм забыл. как у меня считывание то организованно с датчика. но могу посоветовать для начала вывести результат с датчика на монитор порта и проверить датчик температуры нормально отправляет данные в контроллер. если данные приходят, то надо смотреть как они выводятся на ленту. Специально я никаких ограничений не делал на предмет меньше минус 8. Еще другой вариант подцепить например аналоговый датчик и третий вариант искусственно присвоить значению temp разные отрицательные значения и посмотреть как контроллер их выводит.
Сергей ЧАСЫ ОТЛИЧНЫЕ но попробуй матовыми фильтрами или матовой плёнкой убрать выделение и засветку светодиодов а то их видно пробуй матовую бумагу типа кальки а так Молодец что своими руками сделал продолжай в томже духе успехов тебе и удачи с уважением Евгений Сергеев
Подскажите пожалуйста, все вроде собрал, отображается только температура? как быть? модуль ds3231 подключен правильно,100% рабочий! подскажите пожалуйста
Скорее всего кнопки управления у Вас подключены к "+" и идёт сигнал о нажатой кнопке, соответственно обработка нажатия. Кнопки заведите на землю, а не на "+" и всё заработает.
а можно как то уменьшить прошивку? что бы поместилось на ардуино нано . мне в принципи температура не нужна. если у вас есть облегченная прошивка, буду очень признателен.
Пробуйте залить существующую прошивку, на момент релиза она вмешалась в объем 168 атмеги. Если не влезает, то значит потолстели библиотеки. Тут тогда два варианта: либо установить старые библиотеки и скомпилировать прошивку или отрезать ненужное закомментировав часть кода. Пробуйте, скетч я старался писать понятным.
Здравствуйте! У меня вопрос!? Как обстоят дела с отрицательной температурой??? Так как я живу на севере, мне просто необходима отрицательная температура. тут лето всего месяц.
Отрицательная температура реализована, вроде даже два вида делал, целочисленное значение с минусом в первом сегменте и дробную с минусом в последнем. Попробуйте скетч по умолчанию, вроде даже в нем реализован, точно не помню, давно делал.
@@Lukys30 А у вас все скетчи сохранены??? и ещё вопрос? У вас есть скетч где полностью переделано на WS2812B , чтоб и разделительные точки были одним цветом с сегментами. Я собираю сейчас часы, у меня 30 диодов "WS2812B" , мне нужно чтоб показывало температуру на улице, дату и время, ну и чтоб цвет меняли))))
@@ПавелСухоруков-т2р вот переделка моего скетча пользователем Михаил Портнов- он сделал под 30 светодиодов на WS 2812b drive.google.com/file/d/1YTv-7Qnu3L-xlHR_guRfCjEaItPrJk4p/view?usp=sharing
@@Lukys30 Спасибо вам большое, буду собирать. А расположение светиков такое же (A,B,C,D,E,F,G ... A,B,C,D,E,F,G ... верхняя разделительная точка, нижняя разделительная точка ... A,B,C,D,E,F,G ... A,B,C,D,E,F,G)
@@ПавелСухоруков-т2р по моему да, я уже не помню на счет разделительных точек. а сами сегменты семисегментного индикатора подключены по классической схеме.
Сергей, добрый день! Подскажите, пожалуйста, если меня не устраивает порядок нумерации сегментов в цифре, мне нужно только изменить порядок гашения светодиодов во всех кейсах "знакогенератора" в скетче? Или есть еще нюансы?
Да. У каждого управляемого светодиода свой номер которому сообщаем каким ему цветом гореть, поэтому если вы измените последовательность подключения сегментов, то надо будет изменить куски кода в функциях отображения символов в скетче.
@@Lukys30 а конкретно: в скетче 17 кейсов, в которых прописан порядок гашения для каждой цифры, или знака. Вот их и отредактировать под свой вариант. Верно?
Нужно рассеиватель что бы пикселей не видно было ... Можно попробовать от разбитой ЖК матрицы телевизора вырезать ... Там белый матовый лист рассеивает свет, что бы светодиоды от подсветки не выделялись засветами.
Не понимаю что происходит? Втыкаю датчик температуры и отображается только температура, часы перестают показывать. Датчик отключаю начинают показывать время. Не понимаю где я ошибаюсь, три раза перепрошивал, но результатов ноль.
в настройках выставлено время отображения температуры скорее всего 60 секунд. Установите 3-5 сек и температура будет показываться в начале каждой минуты на эту продолжительность.
Сергей Здравствуйте! Собрал часы на адресной светодиоде ws2812, как вы рассказали на видео, но уменя не получается, проверил соединение ws2812 на 86 элемент и сделал тест на примерах Adafruit Neo Pixel standtest работает, где может быть ошибка или изменение вашем скетче?
должно запуститься, но только 28 светодиодов как прописано в скетче. Перезапустите ардуинку. что бы она подхватила переменную яркости с ПЗУ, так как в новой все ячейки равны нулю. Далее в вашем случае она не будет правильно отображать сегменты, надо будет переписать скетч, а именно все функции вывода символов от 0 до 9, знак "С" и ещё парочку символов. У меня за один сегмент отвечает один светодиод, итого 7 на индикатор, а у вас получиться 3 на один сегмент, итого 21 на индикатор. Там не сложно разобраться.
А к этим часам можно будет приделать второй датчик температуры? Можно использовать летну на микросхеме ws2811 где одна микросхема стоит на 3 светодиода(1 микросхема на 1 сегмент ленты с плотностью 30 диодов на метр)?
Я пробовал два разных модуля точного времени и оба работали. Выведите время с модуля времени в терминал, чтобы убедиться что он работает корректно, возможно вы попутали контакты при подключении, так же на заводе могут попутать названия выводов модуля и нанести неправильно шелкографию на плату, такие платы обычно стоят дешевле.
@@hugoodas Всё что я поменял в скетче, это изменил везде порядок букв RBG на RGB, помоему даже кроме последней строчки. Точки стали светить в цвет. Да, установил прогу v1.6. и залил всё в Мегу 168, все влезло. Больше ничего не ирогал....
Добры день.. Спасибо за проект.. Скажите пожалуйста.. можно ли чтобы часы по мимо времени и температуры.. автоматом выводили на экран.. число.. месяц.. год.. время.. температуру.. если да.. то где поправить в скетче.. не силен в программировании.. спасибо за ранее..
Я старался максимально комментировать скетч, поизучайте его, там найдете условие вывода температуры (например срабатывает на 30й секунде) и по аналогии впишите свой кусок для даты. В другом своем проекте на матричных часах я подобное делал. Ардуинку берите на 32 КБ ибо этот скетч уже впритык. А лучше уже на esp32 делать, у него память от мегабайта и больше, а по цене на 2 доллара дороже.
Здравствуйте . Еще вопрос . На ардуино уно все работает. А вот на нано отказывается работать. Хотя скетч заливается. Пробовал просто эффекты для светодиодов работают. Разные скетчи заливал работают а вот часы отказываются. Залил на нано бутлоадер от уно тоже не работает. какая у вас плата ???? может у меня кварц не тот стоит или фиг знает...
Вариант 1. Может дело в памяти: у атмеги 168 16кБ памяти. Скетч с библиотеками влазит под завязку. Попробуйте библиотеки из архива. Обновленные библиотеки обычно тяжелее. Вариант 2. Перезапустите, чтобы контроллер подхватил из ПЗУ переменную яркости, в новой микросхеме все ячейки памяти нулевые. Или наугад попробуйте изменить яркость кнопками.
@@Lukys30 атмега 328 что на Ардуино что на нано. Что самое странное взял другой скетч все пашет. На кнопки не реагирует. Иногда минус высвечивается на первом сегменте. Причем с 6 вывода выходят некие данные он тушит светодиоды.
Разобрался я с часами заменив очередную ардуино. Все работает. Схема подключения такая: Pin arduino nano D2 - кнопка 1 на GND и подтягивается резистором на 10 кОм к «+» D3- кнопка 2 на GND и подтягивается резистором на 10 кОм к «+» D4- кнопка 3 на GND и подтягивается резистором на 10 кОм к «+» D6 - лента WS2812 D10 - датчик температуры ds18b20 подтягивается резистором на 4.7 кОм к «+» А4 - на pin SDA модуля часов DS3132 А5 - на pin SCL модуля часов DS3132
Ну вот класс, я уже подзабыл ардуины, но у этих микроконтроллеров также вроде бы есть программная подтяжка к +, так что запаивать дополнительные резисторы нет необходимости pin pullup или как то похоже по-моему пишется.
поесню, по умолчанию 3 светодиода на сегмент, а я к примеру хочу нуу оооооочень гиганские часы, к примеру 5 светодиодов на сегмент, можно ли в проги( или где именно, и что?) поменять эти значения?
Для того чтобы задать любое количество светодиодов на сегмент нужно переписать функции вывода цифр от 0 до 9. Я всё подробно комментировал. Разобраться не составит труда.
Сергей здравствуй, почему у меня температура вообще не выводится? Всё настраивается кнопками, погоду стил и 60 и 01 и 20 Вообще не показывает. Скетч на 86 диодов ws2812. Ещё, скажи а что надо сделать чтобы дата выводилась? Есть только в настройках!
Проект бомба, спасибо, но в видео есть ошибка в подключении модуля времени подключать нужно А5- SCI ( C на модуле), A4- SDA ( D на модуле ) А еще у меня почему - то скетч не поместился на атмегу 168 - мало места пишет, но это скорее всего что плата китайская. хотя.... В любом случае спасибо автору, очень простой но эффектный прибор получился !
Спасибо. У меня ещё вопросы у тебя на скетч изначально используются датчик температуры BMP280 или ds18b20.. 2. вопрос на какой пины подключить кнопки. И ленту. 3. вопрос у меня 5 метров лента есть только ws2812b. А не ws2811. Мой лента подойдёт мне? Ничего не надо будет менять скетче? Так как я новичок у меня столько вопросов извини меня.
Здравствуйте! Скажите пожалуйста, Вы не взвешивали готовую 3д модель часов в сборе? Хочу заказать 3д печать Ваших часов, интересует на сколько влетит мне печать)
Там на цену печати больше будет вероятно влиять работа самого персонала. Во первых надо кроме обычного АБС пластика ещё и полупрозрачный желательно гибкий пластик, типа SBS. А что касается массы, то я взвешивал для интереса но уже забыл. Рассчитывайте ориентировочно на 150 г ABS + 50 г прозрачного.
Ув. Сергей , мне нравится ваш проек тем ,что вы не используете матричные модули на max7219. Очень хотелось бы чтобы вы в архив добавили схему подключения диодов, понятно ,что их по 3 на сегмент,но сама цепь подключения может быть разной, если возможно, добавьте схему! Эаранее благодарен!
А подтягивающие резисторы для кнопок лучше всё-таки припаять! Без них те, которые подключаются программно, не работают. Входы "Ардуино" ловят помеху, и дисплей мигает, как будто никаких программных резисторов нет. Проявляется это после 4-5 часового "прогрева", а сначала, после запуска все работает штатно. Проблему снял установкой физических резисторов. Проверено на трёх платах "Ардуино". Возможно, китайские платы имеют "некоторые особенности" )))
Я не прописал кусок кода, отвечающего за затемнение, так надо было фильтровать значения, но кто-то из тех кто повторил проект доработал. А номинал 1-2 кОм.
Еще раз приветствую!столкнулся с такой проблемой,цвет разделительных точек не соответствует цвету часов и минут,в скетче вычитал что для точек у Вас сделано модифицированное цветовое колесо ,и я так понимаю проблема в этом,подскажите пожалуйста как вернуть обычное цветовое колесо
В моем случае основная лента и элементы точек имели разную последовательность цветов RBG и RGB, для этого и ввел второе цветовое колесо. В Вашем случае, когда все управляемые светодиоды имеют одну и ту же последовательность достаточно использовать одну процедуру цветового колеса. В скетче подправьте в месте когда задается цвет точек обращение к той же процедуре, что и основная лента (если не ошибаюсь в команде при вызове процедуры достаточно поменять на другую, а именно поменять две буквы ???RGB на ???RBG ... название процедуры уже не помню, так как давно скетч писал)
Всё бы круто, но блок отдельно.... Вот бы впихнуть всё в сами часы. Сделал настенные большие и чуть меньше. Сегменты вырезал из пластика. Упарился. Сейчас принтер есть, можно и на печатать. Статья классная. До работать под себя и на печать,думаю. Вместо кнопок ставлю герконы. Меньше гемора с кнопками.
@@MrPon4ik1974 Я обычно дарю почти всё, что делаю своими руками. Эти часы находятся на площадке второго этажа в доме моей мамы, работают круглосуточно уже около года, ночью создают небольшую подсветку, ей нравится и удобно.
Сергей добрый день, помоги решить проблемму с отображением знака (С) при отображении температуры! Прошивка на 86 диодов. У нас в последнем сегменте горит вместо (с) B.C.E. и еще в D. первый светодиод горит другим цветом. Помоги пожалуйста! или кто может?
Посмотрите в скетче кусок кода который отображает "С" и поправьте его. Алгоритм такой: на сегмент который не светится посылаем код 0;0;0. Я думаю вы разберётесь.
переделал я ваш скетч под 114 диодов 2812 ленты. под распайку сегмент А в центре цифры. сделал точки одним цветом с цифрами. и цвет температуры тоже. но вот почему-то символ С в температуре горит без нижнего сегмента. еще не смог реализовать уменьшение/увеличение яркости в соответствии со временем. как то так. спасибо за подсказки. ваш скет пошел за основу моих часов.
Сергей, здравствуйте! Я правильно понимаю, что Ваш скетч не предусматривает использование BME280? В inklude и define я вижу только DS18B20 Сам я, к сожалению, скетч под BME280 не доработаю, знаний и опыта не хватит. Нет ли у Вас готового скетча для такого датчика?
Функционально они работают одинаково, присваивают переменной Temperature измеренное значение. Используйте любой, только из примера от датчика возьмите кусок кода. Если сложно, то сначала разберитесь с одним датчиком, как он выводит информацию, а потом вставьте кусок скетча в мой скетч.
@@Lukys30 Большое спасибо за быстрый ответ! Попробую разобраться. Только я уже старый пенёк, мне уже 65! ))) Но я и старый радиолюбитель, стараюсь не отставать, гимнастика для мозга полезна ), надеюсь, что получится. Ну, а не получится - тут уж чоуж...
Взял ардуино нано от рободин все заработало. Немного перебрал скетч хотя в этом ничего не понимаю так поверхностно. Как исправить последний сегмент он немного другого оттенка . Где в коде нужно значение подправить. И как подключить датчик DHT11 просто он есть в наличии хотя тот что у вас в видео точно закажу.
скорее всего до последнего сегмента напряжение доходит с большим падением. запитайте по другому или провод потолще возьмите. Про другой датчик посмотрите пример на него, впишите в скетч и присвойте переменой temp значение с этого датчика.
@@Lukys30 Да нет в напряжении проблем точно нет. 5 ампер и сечение в два раза превышает норму. Последний сегмент горит так представим восьмерку так один из 7 сегментов горит основным цветом а остальные другим оттенком. Так что тут однозначно код.
@@РомаЯковлев-ц6г я такого в код не закладывал. Попробуйте померять напряжение на самих светодиодах, если все нормально, то подкинуть другие светодиоды.
@@Lukys30 Спасибо. Разобрался. Оказалось лента с другой партии имеет другой оттенок синего цвета. Капец и такое бывает . Заказывал потом еще до заказывал.
подскажите по настройкам часы идут все настраивается но температура не отображается датчик температуры 280 подключал по схеме с вашего видео.заранее спасибо
проверьте настройки времени вывода температуры, если на табло tt-0 значит выводится не будет. поставьте несколько секунд для вывода значения температуры.
Средней кнопкой войдите в режим выбора цвета (загорится "С") затем выбирайте цвет, автоцвет я уже не помню под каким номером, может 0, а может последний по списку.
@@eugenezaporozchenko4110 надо изучить скетч и библиотеку датчика, затем изменить код с учетом нового датчика. Скетч я старался комментировать, так что если вы немного умеете программировать, то справитесь за пару часов, если не умеете программировать, то придётся поучить Ардуино и за пару дней справитесь.
Добрый день.Решил собрать вторые часы на макетной плате,подключил прошли все работает.Тут с Китая приехала очередная пародия ардуинок нано.Ставлю их в макетную плату прошиваю и часы показывают только температуру,ставлю старую прошиваю все в порядке,из новых ставил все пять,что пришли все только температуру показывают.Залива в них другую прошивку светильника все работает,может по шине i2ci в них проблема.Голова скоро лопнит))))
Скорее всего все нормально с Ардуинками. Возможно при первом запуске программа попыталась считать настройки с ПЗУ, которая у новой ардуины чистая, по идее перезагрузка должна помочь. Если не поможет, то попробуйте оценить работу кнопок, возможно не подтянуты внутренние резисторы, если что припаяйте поддягивающие резисторы к + или -, я уже не помню к чему я их программно поддягивал.
Часы классные получились! Ещё обратил внимание на программу DesignSpark Mechanical 4.0 тоже её осваиваю, отличная программа, но есть одна проблема с ней) не могу нарисовать цилиндр с перфорацией) Подскажите пожалуйста!)
Программа действительно лёгкая в освоении, но я столкнулся с тупиками которые не под силу дизайнспарку. Например проецирование по нормали к изогнутой поверхности и др. В итоге рекомендую потратить +100-200 часов на освоение более продуманного продукта, например солидворкс. Цилиндр с вырезами делается просто: формируется круговой массив из элементов вырез по основанию или вырез по сечениям. Я уже давно не открывал дизайнспарк и полностью перешёл на солидворкс, но думаю спарку эта задача ещё под силу.
До солидворкса мне ещё далеко) мне бы с этой лёгкой программкой разобраться, посмотрите пожалуйста, может там всё просто и это только я не могу понять....
Давно рисовал эти часы и успел забыть такие мелочи. Рассчитывайте так, что бы мелкие детали обеспечивали и устойчивость конструкции и что бы внутри них вы просунули провода. Скорее всего общее количество составит 8 шт горизонтальных перемычек для соединения между собой сегментных индикаторов и разделительных точек. Если парочку лишних напечатаете - не беда, на них много пластика не уйдёт.
Я вот такого плана на али нашел, aliexpress.ru/item/4000237560685.html?dp=42q4r7vj0y2nr5q7in75hb0nl1yn5oou&af=359030&cv=37464817&cn=42q4r7vj0y2nr5q7in75hb0nl1yn5oou&aff_request_id=0ad6cfa415bb4784a84829a8416bbd39-1580108960867-08226-mun2n2V&aff_platform=default&cpt=1580108960867&sk=mun2n2V&aff_trace_key=0ad6cfa415bb4784a84829a8416bbd39-1580108960867-08226-mun2n2V&terminal_id=adea72143d284f7e95f9a03c30855f33, можно внутренности свои поставить, но мне не нравится, что корпус массивный, а у вас он более изящный.
никак не могу найти пример часов с адресной лентой похожие на стрелочные. в ленте 60 диодов расположенные по кругу. все диоды горят белым час указывает красный цвет диода, синий минутная стрелка. и если ленту между двух стёкол поместить обклееных зеркальной плёнкой.
Интересный наверное получится эффект, реализовать не сложно, я бы заложил следующий алгоритм: гореть красным светодиоду (ЧАС_12*5), гореть синим светодиоду (МИН), если ЧАС_12*5==МИН то гореть фиолетовым светодиоду (МИН). Всё.
валом таких видел, даже сам собирал (года еще так 2-3 назад), но из за хреновой партии WS2812 начали вылетать диоды один за другим, по началу менял но потом плюнул на них. сейчас дома висит пара больших типо как у автора, только на много больше =) одни 110*37, вторые где-то 90*30 на WS2811. года 2-3 уже трудятся без нареканий
Делал двоичные часы на адресной ленте , столкнулся с проблемой что при пропадании питания сбивается модуль часов реального времени. Такое ощущение что питание часов и ленты надо разделять . Часы 3231, лента как у вас.
у модуля часов есть своя батарейка или ионистор, что позволяет находится RTC долгое время вообще без питания и сохранять настройки, проверьте цепи питания RTC, особенно контакты батарейки.
Дружище, как изменить в прошивке порядок светодиодов ? Дело в том что я уже собрал и склеил часы, потом увидел твой видос, перепаивать хлопотно. За ранее спасибо !
В прошивке около 15 процедур отвечающих за последовательность затухания сегментов. Каждая процедура отвечает за свой символ 0-9 и несколько букв. Их и надо переписать в той последовательности как спаяли.
Отличный видос, прога закоментирована почти полностью, библиотеки в комплекте, ну прям 5 звёзд, ))))), но у меня вопрос в следующем, можно ли впроге задавать количество свотодиодов (3) на сегмент ,другим нежели показано тут?
нет, надо будет переписать алгоритм отображения чисел от 0 до 9, например вместо отображения "0" гореть не 1,2,3,4,5,6 светодиодам, а с 1 по 18, то есть умножить везде на 3, кроме разделительных точек.
А у меня они уже работают :-) Директор увидел такую тему и предложил повесить их в начале коридора поближе к себе. хех.... :-) Я тащусь от них. Жаль что нельзя поставить фотку сюда
Как вообще работают? температуру нормально показывают? или не добавляли датчик температуры? Мне интересно как живут мои проекты, скиньте фотку на мой адрес: lukys30{собака}gmail.com
@@Lukys30 Ваши часы работают уже около года без проблем на работе.Показывают время и температуру.Еще собрал 3 шт.на подарки, правда корпуса печатал другим. Собирал еще пару часов с других проектов управление через блютус и разный цветовых эффектов, но Ваши часы понравились больше всего.Спасибо за проект.
@@НиколайМаксимов-о8б странно, надо вычистить ячейку памяти с этим значением, оно должно быть от 0 до 59. Второй вариант программно жёстко закрепить значение tt и не давать скетчу считывать его из памяти (комментировать часть кода).
пробовал на lgt8f328p вообще не запускаются. себе хочу сделать на нем. менеджер платы установил, в плату загружается. в чем причина? сам не программист, просто паять люблю
я давно записывал видео и не помню, про какие светодиоды Вы говорите. Если речь идет про разделительные точки, то можно использовать и обычные и RGB и управляемые светодиоды, нужно лишь переписать скетч, под их управление. На микроконтроллере можно реализовать любые фантазии.
Настройки колор нашел настройки яркости нашел, а вот две последующие настройки мне не ведомы))) Цифры 60 нет. Поиграл настройками не известными, отображают только температуру ни чего не меняется. Попробую другой датчик поставить BMP может что изменится.
Это как раз тот вариант, который я и реализовал. Подаете питание +12В на ленту и +12В на Vin Arduino. отличие WS2811 от WS2812 в том что на первой светодиоды сгруппированы по три штуки. На разделительные точки я поставил два светодиода ленты WS2812, в моем случае это усложнило схему, так как их пришлось запитать 5 вольтами.
Да можно было бы спроектировать настенное гнездо, но и без этого на стене не проблема зафиксировать. Можно крючки любые к стене прикрутить и на них уже часы, или просто дюбеля закрутить и за элемент соединяющий блок управления и сегменты зацепиться.
добрый день. Такая проблема . Часы на 86 сегментов, при установки прошивки - "Александр Андреянов доработал скетч под 86 элементов, вот ссылка: drive.google.com/file/d/16tWG..." идет сдвиг диодов. ведь должны моргать две точьки розделитильные часов и минут, а у меня моргает нижняя точька и потом светодиод на следующий цыфре, тоить они как то сдвинуты на один светодиод, где может быть проблема подскажите пожалуйста ?
В каком то месте сбились с адресатами. тут надо проверять, правильно ли указаны в скетче номера диодов. Если две первых цифры нормально отображаются то смотрите свой код с того места как идёт управление точками. Имейте ввиду. если на сегмент у Вас 3 адреса, то на точку по одному. Может там ошибка и затаилась. Внимательно пересмотрите алгоритм скетча и найдете ошибку.
Порядок подключения элементов оставил классическим A_B_C_D_E_F_G см. википедию или любую картинку en.wikipedia.org/wiki/Seven-segment_display, но если захотите подключайте как захотите, только код переписать надо будет.
попробуйте этот. drive.google.com/file/d/1YTv-7Qnu3L-xlHR_guRfCjEaItPrJk4p/view?usp=sharing Это вроде бы изменённый скетч, но вносил изменения не я, как раз человек делал под трехкратные количество светодиодов на сегмент.
@@МаксимЛагаев-л4э Александр Андреянов Год назад (изменено) Скетч на 86 элементов и фото по ссылке. Сегменты только еще пленкой не заклеил ,а надо.... drive.google.com/file/d/16tWGN74ASsGh4OS-swQGfhkTd9dZ71yH/view?usp=sharing
Я советую искать, тех кто напечатает корпус в своем городе. Так будет и быстрее и проще, тем более STL файлы можно скачать по ссылке в описании. По стоимости пластика корпус выйдет не дороже 3-4 долларов + за работу и терпение (при печати принтер постоянно шумит, а ABS пластик немного токсичен в расплавленном виде). Я с города Могилев (Беларусь), если вы рядом, можно договорится иначе посылки/пересылки это не совсем удобно.
@@БорисОртюх Можно, только возможно Вам не совсем будет выгодно: мне придется тратить свое время, следить за печатью, потом иди на почту, ждать там в очереди, что бы отправить посылку. Если ничего ближе не найдете и всё таки готовы потратить на корпус сумму сопоставимую со стоимостью готовых часов с алиэкспресс, то пишите в личку lukys30{а}gmail{точка}com
краями не догнал такой момент: в скетче вы указали что у вас всего 30 светодиодов, однако на видео заметно что в каждом сегменте по 3 светодиода, то есть 86 светодиодов. соответственно где собака зарылась?
@@АлександрАндреянов-о1ы в одном из ответов он написал что использовал 1 светодиод на сегмент. И поскольку я использовал 3, то соответственно надо переписать часть его софта. Так то в целом я понял код, так что перепишу, не обломаюсь. Тем более что модуль RTC уже пришёл. В принципе не сложно.....
@@MrPon4ik1974 было бы не плохо. если у Вас получится поделитесь переделанным скетчем? Так то можно конечно и запаралелить светики в сегментах по выводу DO но уж очень не удобно паять когда всё собрал
@@АлександрАндреянов-о1ы не уверен что будет работать. к тому же порт Ардуино имеет не большую нагрузочную способность, так что есть риск спалить микроконтроллер. Тогда уж заодно скорее всего потребуется собрать усилитель тока, то есть дополнительную схему. Проще софт переписать
Интересный эффект, надо разложить каждую вторую секунду в которой светятся точки на части и прописать яркость(цвет) каждой доли времени для этих двух точек.
Корпус удачно получился, пока один из лучших, что мне попадались из напечатанных на принтере
А мне больше этот понравился ruclips.net/video/QDYH36tWzoY/видео.html уже двое часов сделал.
@@АлексейТеряев-ъ8л Тоже себе такой сделал.
Спасибо большое, часы очень хорошие. Благодарю вас уважаемый Сергей.
Спасибо за видео и объяснения , классные часики, успехов Вам и новых проектов .
Шикарное видео, шикарное разъяснение, шикарный скетч! Прокомментирован до запятой. Сергей, спасибо Вам огромнейшее!
Повторил проект. Из-за особенностей корпуса конечно пришлось помудыхаться с пайкой. Попросил сына подправить код. Оставили только время, точки в цвет сегментов, вместо температуры сделали отображение даты дд.мм.
Печать всего PETG. Результатом даволен.
Спасибо!
Спасибо за идею с корпусом!
💥👍💥 ... С Новым 2023 Годом! ...
Отлично,великолепно!Благодарю .
все отлично подробно надо повторить спасибо и удачи...
Для тех, кто хочет повторить и не знает как подключить ленту в сегментах. Из кода автора(спасибо ему за то, что всё откоментировано) следует, что сегменты подключаются последовательно по часовой стрелке начиная с верхнего, и последний это сегмент в середине. Подробнее: a - 0, b -1, c - 2, d - 3, e - 4, f - 5, g - 6(десятки часов). И в следующем индикаторе(еденицы часов): a -7, b - 8,...., g -13. Точки 14 и 15 сегменты. И так далее.
Скетч на 86 элементов и фото по ссылке. Сегменты только еще пленкой не заклеил ,а надо.... drive.google.com/file/d/16tWGN74ASsGh4OS-swQGfhkTd9dZ71yH/view?usp=sharing
Спасибо за скетч. Вы видели, что у Вас третья цифра перевернута?
@@lexa8527 да видел, неохота переклеивать
А как подключаются точки? С сегмента единиц часов из последнего светодиода на верхнюю точку, с верхней точки на нижнюю точку? Сколько светодиодов в горизонтальном и вертикальном элементе сегмента? Ещё в вашем скетче написано что сегменты построены на базе ws2811 или это осталось от первоначального исходника, а у вас все же ws2812?
Спасибо за хороший корпус,собрал в этом корпусе по 4 светодиода на сегмент.Единственное изменил масштаб соединений между цифрами на 50% и укоротил на длину оригинала,провод который использовал не влазил в модель а если рассверлить получалось довольно хлипко.
Трудности были с модификацией скетча под 4 светодиода?
@@Lukys30 сергей, этот сброд пишет всякий бред :)
@@gyggit :))
Спасибо, мне понравилось
Спасибо, мне часики понравились
Ув.Сергей! Подскажите пожалуйста, как изменить начальный уровень яркости? (много "жрет" от акб )
Значение яркости храниться в ПЗУ и при изменении каждый раз записывается новое. Изменить можно кнопками. Если на табло горит "b" и цифры то это значит режим выбор яркости. "c"-выбор цвета.
@@Lukys30 Да, спасибо за ответ.
Hi Sergey, I would like to make your clock but to hang on the kitchen wall, for example. But, what must be changed behind the frame? Thanks
Спасибо за проявленный интерес и комментарии. Про различия WS2812 от WS2811 я в видео вроде бы рассказывал, еще раз повторюсь проще собрать будет на 5-ти вольтовой WS2812 - меньше мороки будет с двумя точками и с питанием (можно будет запитать от любого USB), ну а коли завалялась без дела у кого 12-ти вольтовая WS2811, то можно собрать и на ней (как было в моём случае). Буду рад повторяемости моего проекта, отвечу на любые вопросы.
ну две точки WS2812 очень легко заменить одной ws2811 используя крайние диоды и прикрыв средний (за то отпадет надобность тащить отдельные пять вольт к точкам), единственное что под ваш напечатанный корпус такой вариант не подойдёт. нужно лишь немного поправить скетч на 29 диодов и убрать коррекцию цветов для 2812
Может выложите пожалуйста исправленный скетч для ws2812b
@@АлександрВеликий-ж7х добрый день, нашли скетч?
Красиво получилось. Подписка и лайк с меня.
Уважаемый Сергей. Большая просьба немного подкорректировать скетч - нужно одноцветное свечение точек и сегментов, а также на показаниях температуры нужно убрать десятые доли, чтобы уместился "минус" при отрицательных значениях. Заранее спасибо!
Уважаемый Сергей. Подскажите пожалуйста, я хотел поставить фотоэлемент, но там не подписан номинал резистора. Подскажите, пожалуйста, заранее благодарю.
Я не помню, что-бы код затемнения работал у меня нормально. Может быть в релиз даже и не попала функция отслеживающая освещенность. Если напишите сами то хорошо. Номинал резистора (делителя) зависит от фоторезистора, ориентировочно 2кОм можете ставить. Если будете писать код - используйте фильтры и небольшую задержку. Фильтр нужен, что бы не дёргаласть яркость от любой тени.
Доброго времени суток. Я захотел сделать ещё одни часы ваш готовый вариант я распечатал но хотел бы вас попросить снять видео как собирать 3D распечатку никак не догадаюсь как собрать заранее благодарю уважаемый Сергей.
Доброго времени суток. Сергей, поясните эту строку в скетче - //updateEEPROM; // при первой прошивке раскомментировать для записи настроек в ПЗУ контроллера. Ну это понятно, что надо убрать слеш, и почему при первой прошивке? Вопрос в следующем, остается ли в ПЗУ запись навечно и тд. Спасибо.
Это отладочный вариант сохранения настроек часов. Можно прошивать и так, только время выставить потом кнопками.
@@Lukys30 Спасибо.
не вводи людей в заблуждение ту что ты показал не WS2812, а WS2811 (пиксель - три диода с отдельной микросхемой). на WS2812 микросхема уже встроена в каждый диод. и WS2811 насколько язнаю 12в, а WS2812 5в
отличные часы, а подскажите их можно подкоректировать на 4 светодиода в сегменте?
Да, для этого в скетче нужно переписать функции вывода символов 0-9 и некоторые знаки "С" или градус, я уже точно не помню что я закладывал в признак температуры. Файлы в архиве, правьте и будет вам счастье.
Подскажите, пожалуйста. Сделал часы по модифицированной вашей схеме на 86 диодов. Функция часов работает отлично, но вот температура до 0 (плюсовая) показывает норм, а ниже какую-то чушь с 8ками. В чем может быть проблема?
Когда мой скетч модифицировали под большее количество светодиодов, не довели до конца. Вам придется его довести до конца. Можете в качестве примера взять мой исходный код. Я писал код давно, но вроде делал два варианта отображения минуса: минус перед температурой, но без десятой части и минус после числа с десятой частью. Поищите мои исходники. Если сделаете и вышлите мне, то я выложу в общий доступ.
@@Lukys30 проблема в том что код в части обчисления температуры точь в точь как у вас, корректировка только в символах. Плюсовую температуру показывает правильно, доходит до нуля, зажигается минус под знаком цельсия и дальше постоянно светится 08.8с_
Сергей здравствуйте, скажите пожалуйста нужно ли ставить защитный резистор на управляющий выход светодиодной ленты?
Наверное. Я не запариваюсь по этому поводу и подключаю напрямую к пину. А по хорошему нужно почитать даташит к ленте, может резистор уже есть на ленте.
Не могли бы вы добавить в прошивку bmp280, у меня не получилось, за ранее спасибо🙏
Подскажите, вот было показано как подключить фото датчик а в скетч нужно вносить изменения для его работы или заработает само при подключении датчика
Я писал скетч давно, но работу датчика вроде бы не закладывал, так что если подключите фоторезистор, то Вам нужно будет заложить алгоритм его работы в скетч.
А как же быть если не знаешь как писать
Сергей подскажите пожалуйста, при отображении минусовой температуры не показывает ниже -08 градусов, там тоже ниже человек писал про эту проблему у меня такая же. Подскажите куда копать в коде?
Ох. ты .... Я уже даже и алгоритм забыл. как у меня считывание то организованно с датчика. но могу посоветовать для начала вывести результат с датчика на монитор порта и проверить датчик температуры нормально отправляет данные в контроллер. если данные приходят, то надо смотреть как они выводятся на ленту. Специально я никаких ограничений не делал на предмет меньше минус 8. Еще другой вариант подцепить например аналоговый датчик и третий вариант искусственно присвоить значению temp разные отрицательные значения и посмотреть как контроллер их выводит.
Сергей ЧАСЫ ОТЛИЧНЫЕ но попробуй матовыми фильтрами или матовой плёнкой убрать выделение и засветку светодиодов а то их видно пробуй матовую бумагу типа кальки а так Молодец что своими руками сделал продолжай в томже духе успехов тебе и удачи с уважением Евгений Сергеев
Уважаемый автор. Можно Вас попросить дописать в скетче показ года и даты, как с температурой, поочередно менять показания на дисплее? Спасибо.
Подскажите пожалуйста, все вроде собрал, отображается только температура? как быть? модуль ds3231 подключен правильно,100% рабочий! подскажите пожалуйста
Скорее всего кнопки управления у Вас подключены к "+" и идёт сигнал о нажатой кнопке, соответственно обработка нажатия. Кнопки заведите на землю, а не на "+" и всё заработает.
а в скетче // подключаем кнопку 1 к пину и подтягиваем её к питанию, GND конечно участвует в питании, но я бы тоже подумал по комментарию что к +
а можно как то уменьшить прошивку? что бы поместилось на ардуино нано . мне в принципи температура не нужна. если у вас есть облегченная прошивка, буду очень признателен.
Пробуйте залить существующую прошивку, на момент релиза она вмешалась в объем 168 атмеги. Если не влезает, то значит потолстели библиотеки. Тут тогда два варианта: либо установить старые библиотеки и скомпилировать прошивку или отрезать ненужное закомментировав часть кода. Пробуйте, скетч я старался писать понятным.
Здравствуйте! У меня вопрос!? Как обстоят дела с отрицательной температурой??? Так как я живу на севере, мне просто необходима отрицательная температура. тут лето всего месяц.
Отрицательная температура реализована, вроде даже два вида делал, целочисленное значение с минусом в первом сегменте и дробную с минусом в последнем. Попробуйте скетч по умолчанию, вроде даже в нем реализован, точно не помню, давно делал.
@@Lukys30 А у вас все скетчи сохранены??? и ещё вопрос? У вас есть скетч где полностью переделано на WS2812B , чтоб и разделительные точки были одним цветом с сегментами. Я собираю сейчас часы, у меня 30 диодов "WS2812B" , мне нужно чтоб показывало температуру на улице, дату и время, ну и чтоб цвет меняли))))
@@ПавелСухоруков-т2р вот переделка моего скетча пользователем Михаил Портнов- он сделал под 30 светодиодов на WS 2812b drive.google.com/file/d/1YTv-7Qnu3L-xlHR_guRfCjEaItPrJk4p/view?usp=sharing
@@Lukys30 Спасибо вам большое, буду собирать. А расположение светиков такое же (A,B,C,D,E,F,G ... A,B,C,D,E,F,G ... верхняя разделительная точка, нижняя разделительная точка ... A,B,C,D,E,F,G ... A,B,C,D,E,F,G)
@@ПавелСухоруков-т2р по моему да, я уже не помню на счет разделительных точек. а сами сегменты семисегментного индикатора подключены по классической схеме.
Сергей, добрый день! Подскажите, пожалуйста, если меня не устраивает порядок нумерации сегментов в цифре, мне нужно только изменить порядок гашения светодиодов во всех кейсах "знакогенератора" в скетче? Или есть еще нюансы?
Да. У каждого управляемого светодиода свой номер которому сообщаем каким ему цветом гореть, поэтому если вы измените последовательность подключения сегментов, то надо будет изменить куски кода в функциях отображения символов в скетче.
@@Lukys30 а конкретно: в скетче 17 кейсов, в которых прописан порядок гашения для каждой цифры, или знака. Вот их и отредактировать под свой вариант. Верно?
@@ua6hps да.
@@Lukys30 Спасибо!
Нужно рассеиватель что бы пикселей не видно было ... Можно попробовать от разбитой ЖК матрицы телевизора вырезать ... Там белый матовый лист рассеивает свет, что бы светодиоды от подсветки не выделялись засветами.
Да, можно ещё и затемнить плёнкой, это добавит контраста, читабельности.
Здравствуйте. Если есть возможность, напишите, пожалуйста, скетч для этого Вашего проекта на 30 адресных светодиодов WS2812. Буду очень благодарен.
Поищите в комментариях, мне кажется кто-то уже переделывал скетч. Я точно не буду, тем более без отладки на прототипе писать довольно сложно.
Сергей здравствуйте! не совсем понял откуда начался отсчёт по порядку и как идёт это к сожалению нигде не указано. Не могли бы вы подсказать? спасибо
Ниже в комментариях отвечал. Загуглите семисегментный индикатор, там расписана очередность ... У меня такая же от А до G.
@@Lukys30 спасибо за разъяснение
Не понимаю что происходит? Втыкаю датчик температуры и отображается только температура, часы перестают показывать. Датчик отключаю начинают показывать время. Не понимаю где я ошибаюсь, три раза перепрошивал, но результатов ноль.
в настройках выставлено время отображения температуры скорее всего 60 секунд. Установите 3-5 сек и температура будет показываться в начале каждой минуты на эту продолжительность.
Сергей Здравствуйте! Собрал часы на адресной светодиоде ws2812, как вы рассказали на видео, но уменя не получается, проверил соединение ws2812 на 86 элемент и сделал тест на примерах Adafruit Neo Pixel standtest работает, где может быть ошибка или изменение вашем скетче?
должно запуститься, но только 28 светодиодов как прописано в скетче. Перезапустите ардуинку. что бы она подхватила переменную яркости с ПЗУ, так как в новой все ячейки равны нулю. Далее в вашем случае она не будет правильно отображать сегменты, надо будет переписать скетч, а именно все функции вывода символов от 0 до 9, знак "С" и ещё парочку символов. У меня за один сегмент отвечает один светодиод, итого 7 на индикатор, а у вас получиться 3 на один сегмент, итого 21 на индикатор. Там не сложно разобраться.
@@Lukys30 Здравствуйте! поменял на 30 светодиодов и соединил и залил ваш скетч не работает у меня? что может быть?
@@ҒЫЛЫМИЖОБА-АРДУИНОРОБОТОТЕХНИК можно, пишите на lukys30(a)gmail.com
Заказал atmega168p а пришла с pa подойдёт ли? В интернете не пишут о их взамозаменяемости
Любой микроконтроллер подойдёт который может работать с модулем времени по шине I2C и отправлять пакет данных в ленту.
@@Lukys30 просто вот atmega328pb даже загружать не хочет скетч
@@Lukys30 вопрос последний, как можно уменьшить скетч в размере, не хватает 1мб библиотеки вроде старые стоят
@@hugoodas резать код, например кусок кода, который отвечает за термометр или цвет.
@@Lukys30 спасибо, попробую разобраться
А к этим часам можно будет приделать второй датчик температуры? Можно использовать летну на микросхеме ws2811 где одна микросхема стоит на 3 светодиода(1 микросхема на 1 сегмент ленты с плотностью 30 диодов на метр)?
да, да.
@@Lukys30 спасибо большое! Если можно, можете рассказать как?
@@Lukys30 я конкретно про второй датчик температуры
@@sgvizzy9907 хоть десять датчиков можно прицепить и выводить их например разным цветом.
@@Lukys30 да, я понял что можно, но меня интерксует как это реализовать. Скажите, есди можно
здравствуйте. можно ли использовать датчик времени ds1302 или ds1307
? часы не ходят !
Я пробовал два разных модуля точного времени и оба работали. Выведите время с модуля времени в терминал, чтобы убедиться что он работает корректно, возможно вы попутали контакты при подключении, так же на заводе могут попутать названия выводов модуля и нанести неправильно шелкографию на плату, такие платы обычно стоят дешевле.
На ds1307 все получилось. Выводы поменял местами А4 и А5
Спасибо за проект и старания. Повторил на ws2812? все отлично работает!
Добрый вечер, вы переписывали скетч, если да то могли бы скинуть
@@hugoodas Всё что я поменял в скетче, это изменил везде порядок букв RBG на RGB, помоему даже кроме последней строчки. Точки стали светить в цвет. Да, установил прогу v1.6. и залил всё в Мегу 168, все влезло. Больше ничего не ирогал....
Подскажите пожалуйста я вот всё хочу понять а как вообще светодиодная лента в этих часах соединённая последовательно работает по сегмонтно
Вот схема drive.google.com/file/d/1uuZUsFAfRdvaVijm3h-jkQYMmKX0OmPy/view?usp=share_link
нужен только корпус готовый, кто нить занимается изготовлением и продажей?
Добры день.. Спасибо за проект.. Скажите пожалуйста.. можно ли чтобы часы по мимо времени и температуры.. автоматом выводили на экран.. число.. месяц.. год.. время.. температуру.. если да.. то где поправить в скетче.. не силен в программировании.. спасибо за ранее..
Я старался максимально комментировать скетч, поизучайте его, там найдете условие вывода температуры (например срабатывает на 30й секунде) и по аналогии впишите свой кусок для даты. В другом своем проекте на матричных часах я подобное делал. Ардуинку берите на 32 КБ ибо этот скетч уже впритык. А лучше уже на esp32 делать, у него память от мегабайта и больше, а по цене на 2 доллара дороже.
@@Lukys30 Ок.. Спасибо.. Попробую..
Здравствуйте . Еще вопрос . На ардуино уно все работает. А вот на нано отказывается работать. Хотя скетч заливается. Пробовал просто эффекты для светодиодов работают. Разные скетчи заливал работают а вот часы отказываются. Залил на нано бутлоадер от уно тоже не работает. какая у вас плата ???? может у меня кварц не тот стоит или фиг знает...
Вариант 1. Может дело в памяти: у атмеги 168 16кБ памяти. Скетч с библиотеками влазит под завязку. Попробуйте библиотеки из архива. Обновленные библиотеки обычно тяжелее.
Вариант 2. Перезапустите, чтобы контроллер подхватил из ПЗУ переменную яркости, в новой микросхеме все ячейки памяти нулевые. Или наугад попробуйте изменить яркость кнопками.
@@Lukys30 атмега 328 что на Ардуино что на нано. Что самое странное взял другой скетч все пашет. На кнопки не реагирует. Иногда минус высвечивается на первом сегменте. Причем с 6 вывода выходят некие данные он тушит светодиоды.
@@РомаЯковлев-ц6г второй скетч непроверенный, а кнопки к земле должны быть одним выводом припаяны, а второй к пинам. Проверьте.
Разобрался я с часами заменив очередную ардуино. Все работает. Схема подключения такая:
Pin arduino nano D2 - кнопка 1 на GND и подтягивается резистором на 10 кОм к «+»
D3- кнопка 2 на GND и подтягивается резистором на 10 кОм к «+»
D4- кнопка 3 на GND и подтягивается резистором на 10 кОм к «+»
D6 - лента WS2812
D10 - датчик температуры ds18b20 подтягивается резистором на 4.7 кОм к «+»
А4 - на pin SDA модуля часов DS3132
А5 - на pin SCL модуля часов DS3132
Ну вот класс, я уже подзабыл ардуины, но у этих микроконтроллеров также вроде бы есть программная подтяжка к +, так что запаивать дополнительные резисторы нет необходимости pin pullup или как то похоже по-моему пишется.
@@Lukys30 Может и есть. Я начинающий в этом деле. Спасибо Вам за отзывчивость.
поесню, по умолчанию 3 светодиода на сегмент, а я к примеру хочу нуу оооооочень гиганские часы, к примеру 5 светодиодов на сегмент, можно ли в проги( или где именно, и что?) поменять эти значения?
Для того чтобы задать любое количество светодиодов на сегмент нужно переписать функции вывода цифр от 0 до 9. Я всё подробно комментировал. Разобраться не составит труда.
Сергей здравствуй, почему у меня температура вообще не выводится?
Всё настраивается кнопками, погоду стил и 60 и 01 и 20
Вообще не показывает.
Скетч на 86 диодов ws2812.
Ещё, скажи а что надо сделать чтобы дата выводилась?
Есть только в настройках!
Всё! Работает!
В скетче проблема!
Круто хотел спросить можно у вас заказать корпус для часов ,сам с Несвиж
Проект бомба, спасибо, но в видео есть ошибка в подключении модуля времени подключать нужно А5- SCI ( C на модуле), A4- SDA ( D на модуле ) А еще у меня почему - то скетч не поместился на атмегу 168 - мало места пишет, но это скорее всего что плата китайская. хотя....
В любом случае спасибо автору, очень простой но эффектный прибор получился !
Спасибо, если нет атмеги 328 и нужно впихнуть скетч в 168, то загрузите старые библиотеки, они легче и скетч должен поместиться.
Здраствуйте мне нужен порядок схемо на сигменты как соединить ленту слево на право или на оборот дайте схему ввиде картинку
по порядку от 1 до 7 сегмента как на любой картинке из гугла по запросу семисегментный индикатор, между 2 и 3 индикаторами два элемента - точки.
Спасибо. У меня ещё вопросы у тебя на скетч изначально используются датчик температуры BMP280 или ds18b20..
2. вопрос на какой пины подключить кнопки. И ленту.
3. вопрос у меня 5 метров лента есть только ws2812b. А не ws2811. Мой лента подойдёт мне? Ничего не надо будет менять скетче? Так как я новичок у меня столько вопросов извини меня.
Здравствуйте! Скажите пожалуйста, Вы не взвешивали готовую 3д модель часов в сборе? Хочу заказать 3д печать Ваших часов, интересует на сколько влетит мне печать)
Там на цену печати больше будет вероятно влиять работа самого персонала. Во первых надо кроме обычного АБС пластика ещё и полупрозрачный желательно гибкий пластик, типа SBS. А что касается массы, то я взвешивал для интереса но уже забыл. Рассчитывайте ориентировочно на 150 г ABS + 50 г прозрачного.
@@Lukys30 большое спасибо за ответ) отличные часы получились!
Ув. Сергей , мне нравится ваш проек тем ,что вы не используете матричные модули на max7219. Очень хотелось бы чтобы вы в архив добавили схему подключения диодов, понятно ,что их по 3 на сегмент,но сама цепь подключения может быть разной, если возможно, добавьте схему! Эаранее благодарен!
А подтягивающие резисторы для кнопок лучше всё-таки припаять! Без них те, которые подключаются программно, не работают. Входы "Ардуино" ловят помеху, и дисплей мигает, как будто никаких программных резисторов нет. Проявляется это после 4-5 часового "прогрева", а сначала, после запуска все работает штатно. Проблему снял установкой физических резисторов. Проверено на трёх платах "Ардуино". Возможно, китайские платы имеют "некоторые особенности" )))
Спасибо. Буду знать.
номинал резистора возле фоторезистора не подскажите?
Я не прописал кусок кода, отвечающего за затемнение, так надо было фильтровать значения, но кто-то из тех кто повторил проект доработал. А номинал 1-2 кОм.
@@Lukys30 спасибо .я точно не справлюсь с этой задачей .
@@Lukys30 отдельные спасибо за часы .
Температура выводится!
Только почему вместо знака (с) Цельсия
горит Нижний левый и два правых сегмента!
Почему? Где исправить?
Таже ерунда ,думаю надо править скейч
@@ВасяВася-з5с4ж а вы поправили?
Еще раз приветствую!столкнулся с такой проблемой,цвет разделительных точек не соответствует цвету часов и минут,в скетче вычитал что для точек у Вас сделано модифицированное цветовое колесо ,и я так понимаю проблема в этом,подскажите пожалуйста как вернуть обычное цветовое колесо
Все спасибо,разобрался)
В моем случае основная лента и элементы точек имели разную последовательность цветов RBG и RGB, для этого и ввел второе цветовое колесо. В Вашем случае, когда все управляемые светодиоды имеют одну и ту же последовательность достаточно использовать одну процедуру цветового колеса. В скетче подправьте в месте когда задается цвет точек обращение к той же процедуре, что и основная лента (если не ошибаюсь в команде при вызове процедуры достаточно поменять на другую, а именно поменять две буквы ???RGB на ???RBG ... название процедуры уже не помню, так как давно скетч писал)
Всё бы круто, но блок отдельно.... Вот бы впихнуть всё в сами часы. Сделал настенные большие и чуть меньше. Сегменты вырезал из пластика. Упарился. Сейчас принтер есть, можно и на печатать. Статья классная. До работать под себя и на печать,думаю. Вместо кнопок ставлю герконы. Меньше гемора с кнопками.
Здравствуйте, какие нужны светодиоды четырехногие?
Да, ws2812 или apa106 подойдут
Уфф... Переписал скетч на 3 адреса в сегменте (86 диодов) Ура !
Класс, оставьте пожалуйста ссылку на файл, для других пользователей. Люди будут благодарны. Было бы здорово и фото, как получилось посмотреть.
@@Lukys30 Ссылку на скетч выложу в течении суток, ну и фото тоже
Подскажите пожалуйста, откуда идёт начало ленты от часового сегмента или минутного?
@@lexa8527 начало с сегмента А, схема расположения сегментов в семисегментном индикаторе стандартная, в Гугле легко находится.
@@lexa8527 от часового, а дальше как автор вам написал
Подскажите пожалуйста как вы провели провода из корпусов от светодиодных лент? И сколько каких элементов печатать?
провода от лент (ПЭТФ) протягивал через трубкоподобные элементы, которые ещё и скрепляют сегменты между собой. Если не ошибаюсь около 8 шт.
@@Lukys30 а сами эти часы у вас ещё остались или вы их разобрали?
@@MrPon4ik1974 Я обычно дарю почти всё, что делаю своими руками. Эти часы находятся на площадке второго этажа в доме моей мамы, работают круглосуточно уже около года, ночью создают небольшую подсветку, ей нравится и удобно.
Сергей добрый день, помоги решить проблемму с отображением знака (С)
при отображении температуры!
Прошивка на 86 диодов.
У нас в последнем сегменте горит вместо (с) B.C.E. и еще в D. первый светодиод горит другим цветом.
Помоги пожалуйста! или кто может?
Посмотрите в скетче кусок кода который отображает "С" и поправьте его. Алгоритм такой: на сегмент который не светится посылаем код 0;0;0. Я думаю вы разберётесь.
Андрей а вы поправили скейч?
Здравствуйте. В меню часов есть пункт "d" и значения до 6 . Что это ?
Доброго времени суток. Повторил проект и тоже возник вопрос по этому пункту - разобрались?
переделал я ваш скетч под 114 диодов 2812 ленты. под распайку сегмент А в центре цифры. сделал точки одним цветом с цифрами. и цвет температуры тоже. но вот почему-то символ С в температуре горит без нижнего сегмента. еще не смог реализовать уменьшение/увеличение яркости в соответствии со временем. как то так. спасибо за подсказки. ваш скет пошел за основу моих часов.
Почему у меня темпер не показывает?
@@АндрейТретьяков-с5щ если скетч не меняли. то подключили датчик неправильно
Сергей, здравствуйте! Я правильно понимаю, что Ваш скетч не предусматривает использование BME280? В inklude и define я вижу только DS18B20
Сам я, к сожалению, скетч под BME280 не доработаю, знаний и опыта не хватит. Нет ли у Вас готового скетча для такого датчика?
Функционально они работают одинаково, присваивают переменной Temperature измеренное значение. Используйте любой, только из примера от датчика возьмите кусок кода. Если сложно, то сначала разберитесь с одним датчиком, как он выводит информацию, а потом вставьте кусок скетча в мой скетч.
@@Lukys30 Большое спасибо за быстрый ответ! Попробую разобраться. Только я уже старый пенёк, мне уже 65! ))) Но я и старый радиолюбитель, стараюсь не отставать, гимнастика для мозга полезна ), надеюсь, что получится. Ну, а не получится - тут уж чоуж...
Взял ардуино нано от рободин все заработало. Немного перебрал скетч хотя в этом ничего не понимаю так поверхностно. Как исправить последний сегмент он немного другого оттенка . Где в коде нужно значение подправить. И как подключить датчик DHT11 просто он есть в наличии хотя тот что у вас в видео точно закажу.
скорее всего до последнего сегмента напряжение доходит с большим падением. запитайте по другому или провод потолще возьмите. Про другой датчик посмотрите пример на него, впишите в скетч и присвойте переменой temp значение с этого датчика.
@@Lukys30 Да нет в напряжении проблем точно нет. 5 ампер и сечение в два раза превышает норму. Последний сегмент горит так представим восьмерку так один из 7 сегментов горит основным цветом а остальные другим оттенком. Так что тут однозначно код.
@@РомаЯковлев-ц6г я такого в код не закладывал. Попробуйте померять напряжение на самих светодиодах, если все нормально, то подкинуть другие светодиоды.
@@Lukys30 спасибо большое. Разобрался. Светодиоды с другой партии и светят немного другим оттенком.
@@Lukys30 Спасибо. Разобрался. Оказалось лента с другой партии имеет другой оттенок синего цвета. Капец и такое бывает . Заказывал потом еще до заказывал.
Уважаемый Сергей а можно изменить в скейче убрать точку на температуре и убрать десятки
подскажите по настройкам часы идут все настраивается но температура не отображается датчик температуры 280 подключал по схеме с вашего видео.заранее спасибо
проверьте настройки времени вывода температуры, если на табло tt-0 значит выводится не будет. поставьте несколько секунд для вывода значения температуры.
@@Lukys30 хорошо.с даласом все работае хотел с крутым попробовать .фиаско
Подскажите пожалуйста, как включить режим чтобы цвет менялся. А то у меня только одним цветом светятся.
Средней кнопкой войдите в режим выбора цвета (загорится "С") затем выбирайте цвет, автоцвет я уже не помню под каким номером, может 0, а может последний по списку.
@@Lukys30
Спасибо огромное, будем пробовать. Подскажите еще один моментик - сложно ли дописать второй датчик температуры? Заранее спасибо.
@@eugenezaporozchenko4110 надо изучить скетч и библиотеку датчика, затем изменить код с учетом нового датчика. Скетч я старался комментировать, так что если вы немного умеете программировать, то справитесь за пару часов, если не умеете программировать, то придётся поучить Ардуино и за пару дней справитесь.
Добрый день.Решил собрать вторые часы на макетной плате,подключил прошли все работает.Тут с Китая приехала очередная пародия ардуинок нано.Ставлю их в макетную плату прошиваю и часы показывают только температуру,ставлю старую прошиваю все в порядке,из новых ставил все пять,что пришли все только температуру показывают.Залива в них другую прошивку светильника все работает,может по шине i2ci в них проблема.Голова скоро лопнит))))
Скорее всего все нормально с Ардуинками. Возможно при первом запуске программа попыталась считать настройки с ПЗУ, которая у новой ардуины чистая, по идее перезагрузка должна помочь. Если не поможет, то попробуйте оценить работу кнопок, возможно не подтянуты внутренние резисторы, если что припаяйте поддягивающие резисторы к + или -, я уже не помню к чему я их программно поддягивал.
@@Lukys30 Спасибо за быстрый ответ. Попробую.
Часы классные получились! Ещё обратил внимание на программу DesignSpark Mechanical 4.0 тоже её осваиваю, отличная программа, но есть одна проблема с ней) не могу нарисовать цилиндр с перфорацией) Подскажите пожалуйста!)
Программа действительно лёгкая в освоении, но я столкнулся с тупиками которые не под силу дизайнспарку. Например проецирование по нормали к изогнутой поверхности и др. В итоге рекомендую потратить +100-200 часов на освоение более продуманного продукта, например солидворкс. Цилиндр с вырезами делается просто: формируется круговой массив из элементов вырез по основанию или вырез по сечениям. Я уже давно не открывал дизайнспарк и полностью перешёл на солидворкс, но думаю спарку эта задача ещё под силу.
До солидворкса мне ещё далеко) мне бы с этой лёгкой программкой разобраться, посмотрите пожалуйста, может там всё просто и это только я не могу понять....
Наконец-то, из трех скетчей слепил ( там скопировал, туда вставил)один, и работает норм, как хотел. Только, вот ,не понял смысла, что сделал.
:) новый подход к программированию: программирование лепкой наугад ;). Оставьте Ваш скетч людям, может кому-то понадобиться.
@@Lukys30 Бобруйск рулит, иногда получается. Не проблема, кому надо-на почту скину.
Что за материал использован в качестве прозрачной накладки на корпус?
Sbs пластик прозрачный, а сверху ещё коричневая пленка, что бы придать контраст.
А не подскажите по stl файлам, в каком количестве каждый файл печатать. По большим деталям понятно, но вот по маленьким вопрос. Заранее спасибо.
Давно рисовал эти часы и успел забыть такие мелочи. Рассчитывайте так, что бы мелкие детали обеспечивали и устойчивость конструкции и что бы внутри них вы просунули провода. Скорее всего общее количество составит 8 шт горизонтальных перемычек для соединения между собой сегментных индикаторов и разделительных точек. Если парочку лишних напечатаете - не беда, на них много пластика не уйдёт.
@@Lukys30 спасибо. Но своего принтера нет, а самое дешёвое что нашел - это отпечатают за 3000 рублей. Дороговато получается((
@@Maxometr75 ну да, за такую цену готовые часы можно купить. А откуда Вы?
@@Lukys30 Санкт-Петербург
Я вот такого плана на али нашел, aliexpress.ru/item/4000237560685.html?dp=42q4r7vj0y2nr5q7in75hb0nl1yn5oou&af=359030&cv=37464817&cn=42q4r7vj0y2nr5q7in75hb0nl1yn5oou&aff_request_id=0ad6cfa415bb4784a84829a8416bbd39-1580108960867-08226-mun2n2V&aff_platform=default&cpt=1580108960867&sk=mun2n2V&aff_trace_key=0ad6cfa415bb4784a84829a8416bbd39-1580108960867-08226-mun2n2V&terminal_id=adea72143d284f7e95f9a03c30855f33, можно внутренности свои поставить, но мне не нравится, что корпус массивный, а у вас он более изящный.
никак не могу найти пример часов с адресной лентой похожие на стрелочные. в ленте 60 диодов расположенные по кругу. все диоды горят белым час указывает красный цвет диода, синий минутная стрелка. и если ленту между двух стёкол поместить обклееных зеркальной плёнкой.
Интересный наверное получится эффект, реализовать не сложно, я бы заложил следующий алгоритм: гореть красным светодиоду (ЧАС_12*5), гореть синим светодиоду (МИН), если ЧАС_12*5==МИН то гореть фиолетовым светодиоду (МИН). Всё.
валом таких видел, даже сам собирал (года еще так 2-3 назад), но из за хреновой партии WS2812 начали вылетать диоды один за другим, по началу менял но потом плюнул на них. сейчас дома висит пара больших типо как у автора, только на много больше =) одни 110*37, вторые где-то 90*30 на WS2811. года 2-3 уже трудятся без нареканий
Делал двоичные часы на адресной ленте , столкнулся с проблемой что при пропадании питания сбивается модуль часов реального времени. Такое ощущение что питание часов и ленты надо разделять . Часы 3231, лента как у вас.
у модуля часов есть своя батарейка или ионистор, что позволяет находится RTC долгое время вообще без питания и сохранять настройки, проверьте цепи питания RTC, особенно контакты батарейки.
@@Lukys30без ленты модуль часов работает отлично, ничего не сбивается... но стоит только подключить ленту и появляется проблема
Кто фоторезистор подключил?
Дружище, как изменить в прошивке порядок светодиодов ? Дело в том что я уже собрал и склеил часы, потом увидел твой видос, перепаивать хлопотно. За ранее спасибо !
В прошивке около 15 процедур отвечающих за последовательность затухания сегментов. Каждая процедура отвечает за свой символ 0-9 и несколько букв. Их и надо переписать в той последовательности как спаяли.
@@Lukys30 спасибо, попробую
Наверняка у Вас есть схема подключения, не могли бы вы вложить её
Схема тут drive.google.com/file/d/1uuZUsFAfRdvaVijm3h-jkQYMmKX0OmPy/view?usp=sharing
@@Lukys30 спасибо огромное👍
А у меня скетч выдаёт ошибку в чём причина
Отличный видос, прога закоментирована почти полностью, библиотеки в комплекте, ну прям 5 звёзд, ))))), но у меня вопрос в следующем, можно ли впроге задавать количество свотодиодов (3) на сегмент ,другим нежели показано тут?
нет, надо будет переписать алгоритм отображения чисел от 0 до 9, например вместо отображения "0" гореть не 1,2,3,4,5,6 светодиодам, а с 1 по 18, то есть умножить везде на 3, кроме разделительных точек.
@@Lukys30 Хотелось бы это все на есп. И через телефон скажем менять значение количества светодиодов. И подключатся к серверу точного времени .
А у меня они уже работают :-) Директор увидел такую тему и предложил повесить их в начале коридора поближе к себе. хех.... :-) Я тащусь от них. Жаль что нельзя поставить фотку сюда
Как вообще работают? температуру нормально показывают? или не добавляли датчик температуры? Мне интересно как живут мои проекты, скиньте фотку на мой адрес: lukys30{собака}gmail.com
@@Lukys30 я не подключал температурный датчик
@@Lukys30 Ваши часы работают уже около года без проблем на работе.Показывают время и температуру.Еще собрал 3 шт.на подарки, правда корпуса печатал другим. Собирал еще пару часов с других проектов управление через блютус и разный цветовых эффектов, но Ваши часы понравились больше всего.Спасибо за проект.
@@МихаилКутний Спасибо, рад что пользователям заходят мои проекты.
Привет. А где в скетче изменяется кол-во светодиодов? спасибо
Надо руками править функции вывода под нужное количество светодиодов на сегмент, если изучить скетч-не сложно разобраться.
повторил, работает. но как то не так. при подключенном ds18b20 показывает только температуру, если отключить то время показывает.
скорее всего в настройках tt=60, это вемя отображения температуры. ставьте несколько секунд.
@@Lukys30 у меня это значение 80 - 89, меняются только единицы
@@НиколайМаксимов-о8б странно, надо вычистить ячейку памяти с этим значением, оно должно быть от 0 до 59. Второй вариант программно жёстко закрепить значение tt и не давать скетчу считывать его из памяти (комментировать часть кода).
@@Lukys30 в строке byte TempTime = 1; // длительность отображения температуры поставил 1 , не меняется. часы отдал шурину, выпросил без градусника
пробовал на lgt8f328p вообще не запускаются. себе хочу сделать на нем. менеджер платы установил, в плату загружается. в чем причина? сам не программист, просто паять люблю
Здравствуйте. Можно ли использовать обычные светодиоды с фильтром со скетчем в конце видео?
я давно записывал видео и не помню, про какие светодиоды Вы говорите. Если речь идет про разделительные точки, то можно использовать и обычные и RGB и управляемые светодиоды, нужно лишь переписать скетч, под их управление. На микроконтроллере можно реализовать любые фантазии.
Настройки колор нашел настройки яркости нашел, а вот две последующие настройки мне не ведомы))) Цифры 60 нет. Поиграл настройками не известными, отображают только температуру ни чего не меняется. Попробую другой датчик поставить BMP может что изменится.
tt60, чтото типа такого надо искать и изменить на tt05
как подсоединить ленту ws2811 к ардуино если её питание 12 вольт
Это как раз тот вариант, который я и реализовал. Подаете питание +12В на ленту и +12В на Vin Arduino. отличие WS2811 от WS2812 в том что на первой светодиоды сгруппированы по три штуки. На разделительные точки я поставил два светодиода ленты WS2812, в моем случае это усложнило схему, так как их пришлось запитать 5 вольтами.
Корпус приятный, вот бы ещё его крепление на стену
Да можно было бы спроектировать настенное гнездо, но и без этого на стене не проблема зафиксировать. Можно крючки любые к стене прикрутить и на них уже часы, или просто дюбеля закрутить и за элемент соединяющий блок управления и сегменты зацепиться.
@@Lukys30 сергей, а как Вы думаете - если покрасить зелёного цвета, будет держаться ? Спасибо :))
добрый день.
Такая проблема .
Часы на 86 сегментов, при установки прошивки - "Александр Андреянов доработал скетч под 86 элементов, вот ссылка: drive.google.com/file/d/16tWG..." идет сдвиг диодов. ведь должны моргать две точьки розделитильные часов и минут, а у меня моргает нижняя точька и потом светодиод на следующий цыфре, тоить они как то сдвинуты на один светодиод, где может быть проблема подскажите пожалуйста ?
В каком то месте сбились с адресатами. тут надо проверять, правильно ли указаны в скетче номера диодов. Если две первых цифры нормально отображаются то смотрите свой код с того места как идёт управление точками. Имейте ввиду. если на сегмент у Вас 3 адреса, то на точку по одному. Может там ошибка и затаилась. Внимательно пересмотрите алгоритм скетча и найдете ошибку.
Считай правильно диоды.
Я писал скетч под 30 светодиодов. Всё корректно отображается. В любом случае вывод символа С там прокомментирован, поищите там.
А можете написать порядок подключения ленты? Спасибо заранее!
Порядок подключения элементов оставил классическим A_B_C_D_E_F_G см. википедию или любую картинку en.wikipedia.org/wiki/Seven-segment_display, но если захотите подключайте как захотите, только код переписать надо будет.
@@Lukys30 Спасибо, за подсказку!
удобнее G_B_A_F_E_D_C если по вашей картинке, а то со стандартной G распаивать не удобно
Подскажите пожалуйста, а есть схемка?
Подскажите а есть скейч под ws2812 на 86 светодиодов?
попробуйте этот. drive.google.com/file/d/1YTv-7Qnu3L-xlHR_guRfCjEaItPrJk4p/view?usp=sharing
Это вроде бы изменённый скетч, но вносил изменения не я, как раз человек делал под трехкратные количество светодиодов на сегмент.
@@Lukys30 К сожалению не подошол, такое впечатление что в сегменте не 3 светодиода как у меня а 1
@@МаксимЛагаев-л4э Александр Андреянов
Год назад (изменено)
Скетч на 86 элементов и фото по ссылке. Сегменты только еще пленкой не заклеил ,а надо.... drive.google.com/file/d/16tWGN74ASsGh4OS-swQGfhkTd9dZ71yH/view?usp=sharing
@@Lukys30 Огромное спасибо ,вроде все ок!
Здравствуйте, а можете сделать видео с индикаторами HDSP2000?
Не планирую. много других проектов в голове. времени нет. настроения тоже нет, в связи с событиями в моей стране. как-то всё печально...
@@Lukys30 понятно ну на том спс.
Понравились часики)
то есть под С
D B
A
E G
F
цифры будут выглядеть следующим образом
switch ( digit) {
case 1: {
strip.setPixelColor(digitposition + 0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition + 3, (0, 0, 0));
strip.setPixelColor(digitposition + 4, (0, 0, 0));
strip.setPixelColor(digitposition + 5, (0, 0, 0));
//strip.setPixelColor(digitposition + 6, (0, 0, 0));
break;
}
case 2: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition + 2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
//strip.setPixelColor(digitposition+4, (0, 0, 0));
//strip.setPixelColor(digitposition + 5, (0, 0, 0));
strip.setPixelColor(digitposition+6, (0, 0, 0));
break;
}
case 3: {
//strip.setPixelColor(digitposition+0, (0, 0, 0));
//strip.setPixelColor(digitposition+1, (0, 0, 0));
//strip.setPixelColor(digitposition+2, (0, 0, 0));
strip.setPixelColor(digitposition+3, (0, 0, 0));
strip.setPixelColor(digitposition + 4, (0, 0, 0));
//strip.setPixelColor(digitposition + 5, (0, 0, 0));
//strip.setPixelColor(digitposition+6, (0, 0, 0));
break;
}
и т.д.
Круто. Часы огонь. Рабочее место ещё круче. Если заказать тебе корпус, то сколько будет стоить ?
Я советую искать, тех кто напечатает корпус в своем городе. Так будет и быстрее и проще, тем более STL файлы можно скачать по ссылке в описании. По стоимости пластика корпус выйдет не дороже 3-4 долларов + за работу и терпение (при печати принтер постоянно шумит, а ABS пластик немного токсичен в расплавленном виде). Я с города Могилев (Беларусь), если вы рядом, можно договорится иначе посылки/пересылки это не совсем удобно.
Очень круто , скажите пожалуйста можно с вами договорится с корпусом ,сам с несвижа Минской области
@@БорисОртюх Можно, только возможно Вам не совсем будет выгодно: мне придется тратить свое время, следить за печатью, потом иди на почту, ждать там в очереди, что бы отправить посылку. Если ничего ближе не найдете и всё таки готовы потратить на корпус сумму сопоставимую со стоимостью готовых часов с алиэкспресс, то пишите в личку lukys30{а}gmail{точка}com
Если Крым я напечатаю
краями не догнал такой момент: в скетче вы указали что у вас всего 30 светодиодов, однако на видео заметно что в каждом сегменте по 3 светодиода, то есть 86 светодиодов. соответственно где собака зарылась?
Вот и я тоже не догоняю....ни фига не работает,тоже получилось 86 диодов
@@АлександрАндреянов-о1ы в одном из ответов он написал что использовал 1 светодиод на сегмент. И поскольку я использовал 3, то соответственно надо переписать часть его софта. Так то в целом я понял код, так что перепишу, не обломаюсь. Тем более что модуль RTC уже пришёл. В принципе не сложно.....
@@MrPon4ik1974 было бы не плохо. если у Вас получится поделитесь переделанным скетчем? Так то можно конечно и запаралелить светики в сегментах по выводу DO но уж очень не удобно паять когда всё собрал
@@АлександрАндреянов-о1ы без проблем.... надеюсь что завтра начну писать. так то я уже написал проверочный код индикатора.... только заметно как он мигает при переключении. Попробуй если хочешь.
#include
#ifdef __AVR__
#include
#endif
// Which pin on the Arduino is connected to the NeoPixels?
// On a Trinket or Gemma we suggest changing this to 1
#define PIN 6
// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 86
// When we setup the NeoPixel library, we tell it how many strip, and which pin to use to send signals.
// Note that for older NeoPixel strips you might need to change the third parameter--see the strandtest
// example for more information on possible values.
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int count;
int hours;
int minutes;
int seconds;
int colorR;
int colorG;
int colorB;
int desiatki;
int edinicy;
void setup() {
// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
// End of trinket special code
strip.begin(); // This initializes the NeoPixel library.
count = 0;
hours = 0;
minutes = 0;
seconds = 0;
colorR = 0;
colorG = 100;
colorB = 0;
showhours();
showminutes();
}
void loop()
{
seconds++; //плюс 1 секунда
if (seconds > 59) { seconds = 0; minutes++; updateminutes(); }
if (minutes > 59) { minutes = 0; hours++; updatecolor(); updatehours(); }
if (hours > 23) { hours = 0; updatecolor(); updatehours(); }
if (seconds % 2 == 0) {strip.setPixelColor(42, strip.Color(0, 0, 0)); strip.setPixelColor(43, strip.Color(0, 0, 0)); strip.show(); }
else { strip.setPixelColor(42, strip.Color(colorR, colorG, colorB)); strip.setPixelColor(43, strip.Color(colorR, colorG, colorB)); strip.show(); }
delay (1000);
}
void cifra0 (int offset)
{
for (int i = 0 + offset; i < 18 + offset; i++) {
strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
}
void cifra1 (int offset)
{
for (int i = 12 + offset; i < 18 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra2 (int offset)
{
for (int i = 6 + offset; i < 12 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 15 + offset; i < 21 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 0 + offset; i < 3 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra3 (int offset)
{
for (int i = 0 + offset; i < 3 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 9 + offset; i < 21 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra4 (int offset)
{
for (int i = 3 + offset; i < 6 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 12 + offset; i < 21 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra5 (int offset)
{
for (int i = 0 + offset; i < 6 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 9 + offset; i < 15 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 18 + offset; i < 21 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra6 (int offset)
{
for (int i = 0 + offset; i < 15 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 18 + offset; i < 21 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra7 (int offset)
{
for (int i = 0 + offset; i < 3 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 12 + offset; i < 18 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra8 (int offset)
{
for (int i = 0 + offset; i < 21 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void cifra9 (int offset)
{
for (int i = 0 + offset; i < 6 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
for (int i = 9 + offset; i < 21 + offset; i++) strip.setPixelColor(i, strip.Color(colorR, colorG, colorB));
strip.show();
}
void showhours ()
{
// рисуем текущее время
// сначала часы
desiatki = hours / 10;
edinicy = hours % 10;
switch (desiatki) {
case 0: {
cifra0 (0);
break;
}
case 1: {
cifra1 (0);
break;
}
case 2: {
cifra2 (0);
break;
}
case 3: {
cifra3 (0);
break;
}
case 4: {
cifra4 (0);
break;
}
case 5: {
cifra5 (0);
break;
}
case 6: {
cifra6 (0);
break;
}
case 7: {
cifra7 (0);
break;
}
case 8: {
cifra8 (0);
break;
}
case 9: {
cifra9 (0);
break;
}
default: {
cifra0 (0);
break;
}
}
switch (edinicy) {
case 0: {
cifra0 (21);
break;
}
case 1: {
cifra1 (21);
break;
}
case 2: {
cifra2 (21);
break;
}
case 3: {
cifra3 (21);
break;
}
case 4: {
cifra4 (21);
break;
}
case 5: {
cifra5 (21);
break;
}
case 6: {
cifra6 (21);
break;
}
case 7: {
cifra7 (21);
break;
}
case 8: {
cifra8 (21);
break;
}
case 9: {
cifra9 (21);
break;
}
default: {
cifra0 (21);
break;
}
}
}
void showminutes()
{
// теперь минуты
desiatki = minutes / 10;
edinicy = minutes % 10;
switch (desiatki) {
case 0: {
cifra0 (44);
break;
}
case 1: {
cifra1 (44);
break;
}
case 2: {
cifra2 (44);
break;
}
case 3: {
cifra3 (44);
break;
}
case 4: {
cifra4 (44);
break;
}
case 5: {
cifra5 (44);
break;
}
case 6: {
cifra6 (44);
break;
}
case 7: {
cifra7 (44);
break;
}
case 8: {
cifra8 (44);
break;
}
case 9: {
cifra9 (44);
break;
}
default: {
cifra0 (44);
break;
}
}
switch (edinicy) {
case 0: {
cifra0 (65);
break;
}
case 1: {
cifra1 (65);
break;
}
case 2: {
cifra2 (65);
break;
}
case 3: {
cifra3 (65);
break;
}
case 4: {
cifra4 (65);
break;
}
case 5: {
cifra5 (65);
break;
}
case 6: {
cifra6 (65);
break;
}
case 7: {
cifra7 (65);
break;
}
case 8: {
cifra8 (65);
break;
}
case 9: {
cifra9 (65);
break;
}
default: {
cifra0 (65);
break;
}
}
}
void alloff()
//погасить все светодиоды
{
for (int a = 0; a < NUMPIXELS; a++) {
strip.setPixelColor (a, strip.Color(0, 0, 0));
strip.show();
}
}
void updateminutes ()
{
//стираем минуты
for (int i = 44; i < 86; i++) {strip.setPixelColor (i, strip.Color(0, 0, 0)); strip.show(); }
showminutes();
}
void updatehours()
{
//стираем часы
for (int i = 0; i < 42; i++) {strip.setPixelColor (i, strip.Color(0, 0, 0)); strip.show(); }
showhours();
}
void updatecolor()
{
colorR++;
if (colorR > 100) colorR = 0;
colorG = colorG - 10;
if (colorG < 0 ) colorG = 100;
colorB = colorB + 10;
if (colorB > 100) colorB = 0;
}
@@АлександрАндреянов-о1ы не уверен что будет работать. к тому же порт Ардуино имеет не большую нагрузочную способность, так что есть риск спалить микроконтроллер. Тогда уж заодно скорее всего потребуется собрать усилитель тока, то есть дополнительную схему. Проще софт переписать
Здравствуйте, а как сделать плавное мигание точек.
Интересный эффект, надо разложить каждую вторую секунду в которой светятся точки на части и прописать яркость(цвет) каждой доли времени для этих двух точек.
Или привязать яркость точек к миллисекундам через зависимость по определенной формуле.
Попробую сделать, если интересно могу отписаться по результату