Matrix 21x7
Vložit
- čas přidán 7. 09. 2024
- Универсальный экран разрешением 21х7 пикселей на основе адресной светодиодной ленты WS2812. Может использоваться для отображения времени и другой информации.
Исходники модели и кода для ардуино прилагаются.
Программный код не оптимизирован, может я когда нибудь доберусь и сделаю код легче. Для повторения желательно использовать библиотеки идущие в комплекте, или скопируйте шрифт 'Fonts/LSDynamic7.h' в графическую библиотеку 'Adafruit_GFX.h'.
Исходники тут:
drive.google.c...
Спасибо за совет. Все сделано по Вашим рекомендациям с пленкой и светофильтром. Результат превзошел все ожидания. Еще раз спасибо за проект и советы
Четко , красиво и функционально! Проект #энерголикбез жесточайше приветствует эту самоделку!)
Добрый день коллега! Так вы еще и ардуинщик!)) Прикольно! Респект!
Спасибо! Мне как начинающему ардуинщику, Ваша инфа просто бесценна! А потом, спасибо за решения по корпусам!
Спасибо за проект, буду повторять. Кстати это уже вторые часы от Вас, которые буду делать.
:) приятно. Удачи с проектом.
Добрый день.. по поводу (Время устанавливается, но не выводится. Часы просто гаснут. При нажатии кнопки 1 информация выводится, но доходя до времени просто гаснут. С кнопки 3 выводит число, месяц, год и день недели. Все настройки сохраняются.) нашёл причину.. не правильная подача питания модуля.. минусовой провод GND у меня шёл на кнопки 1. 2. 3.. и от него же я дал минус на DS3231 из за не хватки на Atmega выходов GND.. перепаял минус на Atmega и всё заработало.. не вникся в ваши коменты с Rem ( у меня только предположения: - может кнопки не по схеме подключены) Всё дело было в правильном подключении питания.. Ещё раз спасибо за проект.. Успехов в творчестве..)
мило, спасибо. это ж сколько у тебя терпение это всё делать....
добрый день. повторил ваши часы, работают прекрасно уже второй год, корпус я сделал немного другой без ячеек получилось неплохо, были сделаны две модели, жду от вас другие решения и идеи.
как у вас получилось загрузить скейч? я мучаюсь, ни как не получается ошибка #include
hi, I really like your work! it is not possible to write a code for 8x32 ws2812B matrix! or can you modify the code and how can I do it! could you help us, I think many people would appreciate it!
Сергей Подскажите как собрать пульт? В скетче не смог этого понять. Пока не силен.
модуль точного времени к пинам шины I2C припаивайте и три кнопки к пинам указанным в скетче. Дополнительно можно датчик температуры присоединить.
Здравствуйте Сергей . Огромное СПАСИБО за видео !!! Очень понравилось . Есть один вопрос лента 30/60/144 светодиода на метр ?
60 светодиодов на метр. 1,66 см расстояние между светодиодами.
@@Lukys30 Спасибо
Однозначно лайк! и подписка) ждем следующее видео как подключить 2 экрана в один как в конце видео)
И еще
очень хотелось бы добавить фотодиод и кусочек кода для управления яркостью в зависимости от внешней освещенности.
Код открытый, добавляйте. Совет: используйте программный фильтр на переменную яркости (или считывание значений с фотодиода), что бы яркость резко не менялась от внешних возмущений.
@@Lukys30 вернусь из командировки - попробую )
Сергей Скинь пожалуйста схему подключения
Сергей, скетч почему то не влезает в ардуино нано, объясните почему? Как устранить?
потому что пожирнели библиотеки. Есть два решения 1- использовать старые библиотеки или взять Атмегу 328 у которой 32кб памяти. А вообще лучше уже переходить на Esp32, там объем памяти 4-8-16 Мб.
Сергей, скетч почему то не влезает в ардуино нано, объясните почему?
Проверьте версию Ардуины в 168 -16кб памяти , в 328 -32 кб памяти. Второй причиной может быть потолстевшие библиотеки ( с каждой новой версией разрабтчики добавляют новые возможности, в связи с чем библиотеки становятся тяжелее).
Coool
сижу два дня не могу решить проблему . что часы (Часы на адресной светодиодной ленте 86 led ) что эти часы не работает как нужно . с 86 лед три элемента горят по кнопками видно что реакция есть ..... с этими часами получше маленько . загрузил и тишина на ws2812 пока кнопку не нажать но через 5 сек выкл ws2812 и опять если нажать на кнопку то ws2812 выводит информацию ...ПОМОГИТЕ МНЕ ИЛИ ССЫЛКУ ДАЙТЕ ГДЕ МОЖЕТ УЖЕ РЕШАЛИ ТАКУЮ ПРОБЛЕМУ .
Отличный проект спасибо! Собрал все по вашему проекту! Вот только столкнулся с проблемой - в момент переключение на время, все пропадает на матрице не высвечивается время. В скетче за коментировал эту функцию переключение, время показывает но без переключения даты, температуры, давления, влажности.
Так сходу я Вам и не подскажу, но направление могу показать для решения: 1. Попробуйте установить версии библиотек что и в проекте , особенно графическую с моим шрифтом. 2. Проверьте сколько памяти занимает скетч при компиляции, если 99% и вы используете свежие потолстевшие библиотеки, то микроконтроллер может испытывать нехватку памяти и начать сбоить. 3. Проверьте схему, возможно вы подтянули пины кнопок не к земле, а к плюсу и контроллер их видит в нажатом состоянии. и 4 При запуске контроллер обращается к EEPROM для считывания переменных (например цвет шрифта, что выводить) и возможно при первом запуске, когда там нули он может затупить. Попробуйте перезапустить ардуинку. Пока такие соображения. отпишитесь пожалуйста по результатам. мне интересно в чем была причина.
Большое спасибо! Все варианты просмотрю, потом отпишусь! Но вариант с матрицей класс, распечатал матрицы склеил, лента подошла как раз, лицевая часть использовал орг-стекло, осталось затонировать!
Спасибо. Видео желательно называть более информативно - народу легче искать.
Надо подобное на ESP сделать. Не было мыслей по этому поводу?
да были мысли. это пожалуй могло бы стать неплохой частью умного дома, но пока на это нет времени.
Возможно сделать с отправкой на данную матрицу число или текст для вывода через порт? интересна реализация цифравого табло для вывода оценок. я бы заказал =)
Матрица может выводить любой текст. Думаю и через порт можно ей указывать что выводить, но пока я такую задачу не решал.
Сергей подскажите куда подключать датчик температуры? В сетче не смог этого понять
Я уже точно не помню, если в сетапе не указано, то скорее всего это датчик BME280, он садится на шину I2C. Можете использовать любой датчик, доработав скетч.
Точнее к каким пины на Ардуино использовать подключения датчика ?
Какой размер готовой панели получился? В см.
Спасибо за отличную работу. Подскажите как запустить пасхалку и как сделать вывод с датчиков через 30 сек? В скетче не смог этого понять. Пока не силен.
в строке if ((( time.seconds) == 2) and (TimeOut == 0)) { // Если пошла новая минута и режим часов меняйте "2" на "30" и вывод с датчика пойдет с 30-й секунды, а пасхалка запускает приветствие если во время запуска нажата любая клавиша (находится с секции Setup).
@@Lukys30 Спасибо большое, завтра попробую. Удачи !!!
@@user-sj2yo2lc1t ну что - получиЛОСЬ ??
Доброго времени.
при монтаже стандартных матриц 8х8 в количестве 3 или 4 штуки - соединение светодиодов будет параллельным. Тогда как у Вас используется последовательное (ЗигЗаг). Вопрос где внести изменения, что бы использовать набор из стандартных матриц?
строка 12 указывайте размеры матриц и последовательность их подключения.
Пример: Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(21, 7, 1, 1, PIN,
NEO_TILE_TOP + NEO_TILE_LEFT + NEO_TILE_ROWS + NEO_MATRIX_PROGRESSIVE +
NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_ZIGZAG, NEO_GRB + NEO_KHZ800);
@@Lukys30не понятно что и где переправить )
Єєєє, а почему не слышно сопровождающую джазовою композицию??? Рабочий стол -- пример для подражания, хотелось бы отдельное видео. И если использовать только 328, тогда максимум сколько пикселей потянет ваш скетч? У меня почему-то перегружаеться от инициализации двухмерных масивов уже при количестве 192(две метровые ленты по 96 шт. ) Пробовал залить ваш скетч на нано , выдает кампилятор ошибку (Скетч использует 30992 байт (100%) памяти устройства. Всего доступно 30720 байт), на уно все хорошо, оказывается на уно доступной памяти 32256 байтов...
Всегда не хватает времени, и чтобы хорошо смонтировать видео, и чтобы почистить скетч. Теперь про память: ввиду того что библиотеки с каждым обновлением обрастают новыми функциями они жирнеют, в итоге не помещаются в 32 кБ памяти, решить можно двумя путями: либо оптимизировать скетч, уменьшая его размер, либо брать старые библиотеки, которые я вложил в архив. Про количество светодиодов: в видео видно что Ардуинка тянет две матрицы по 149 светодиодов, это 298 шт. Я предполагаю, если нормально обеспечить питание и помехозащищённость должна вытянуть заявленное максимальное количество в 1024 шт.
Здравствуйте. Заработало, правда не знаю почему. Поставил по питанию конденсатор 1000 мкф. и нажал кн.1 загорелась надпись "ВРЕМ" и часы пошли. Буду тестировать. Благодарю за проект. И еще один вопрос, что за скетч v.5 он загружается, но отображается какая то билиберда. Загружена четвертая версия.
Вероятно это одна из версий, в которой матрица 21*7 выполнена не одним зигзагом, а из трех матриц 7*7 (трех зигзагов).
Совет: используйте темную пленку, для придания контраста пикселям. Можно взять солнцезащитную для автомобилей.
Здравствуйте. Повторил Ваш проект тольло на UNO, на NANO не уместился скетч. Проблемы один в один как у трех товарищей ниже,а именно не высвечиваются часы. С кнопок все отлично работает. Лечение предложенное ниже не помогает. Прошу помощи.
У меня подозрение, что первый старт является проблемным. Попробуйте задать настройки цвета часов и времени вывода температуры и перегрузить часы. Отпишитесь если это поможет.
Вот такой вопрос? Я подключал часы без ВМЕ280 (он скоро придет) может беда в этом?
Нет, если нет данных он выведет что-то типа "--". Если залить тестовый скетч для РГБ ленты, то она светится? Проверьте для начала саму схему, всё ли правильно соединено.
Повторил Ваши часы. Время устанавливается, но не выводится. Часы просто гаснут. При нажатии кнопки 1 информация выводится, но доходя до времени просто гаснут. С кнопки 3 выводит число, месяц, год и день недели. Все настройки сохраняются. Пожалуйста подскажите, где копать. Спасибо.
Хм. Интересно... Судя по описанию проблемы, контроллер частично отсылает информацию взятую из модуля RTC, при этом не хочет выводить две переменные час и мин. Предполагаю, что возможно было обновление библиотеки rtc и там произошли какие то изменения по выводу часов и минут. Либо почитайте описание библиотеки и поправьте код, либо установите старую библиотеку из архива. Отпишитесь пожалуйста как решена проблема.
@@Lukys30 Библиотека из архива. К сожалению я "повторитель", хотя с массивом матрицы (12 строка) разобрался и поправил. Ну буду ковырять, спасибо.
@@Lukys30 Здравствуйте! Простите мою назойливость, сегодня каким-то образом часы написали "Врем" и пошли. Но после выключения питания все опять погасло. Каким образом это произошло, не понял. И подскажите пожалуйста, куда подключить датчик BMP?
@@rem7119 у меня только предположения: - может кнопки не по схеме подключены. Датчик BMP-280 подключайте на шину I2C контроллера, я в видео показывал к каким пинам. Проверяйте схему ... Часы должны заработать.
@@Lukys30 Часы заработали. При нажатии кн2 не появлялась надпись "Врем". Нужно нажать кн2 и сразу кн1, тогда появляется надпись "Врем", "Давл" и т.д. Почему так - не знаю, но проверял на другой ардуине - все так же. Потом все становится штатно, а вот первый пуск почему-то так. Спасибо за Ваш труд и что не жадничаете с кодом :)! И еще вопрос, простите за назойливость, у Вас в видео давление в мм.рт.ст., а у меня в паскалях. Как поменять? А то не привычно:). Еще раз спасибо!
Дорогой автор я извиняюсь Мне как начинающему ардуинщику попрошу ответить ардуина пишет Fonts/LSDynamic7.h: No such file or directory все библиотеки загружены с твоего сайта
Поищите этот файл в архиве, это шрифт 5*7, который я создал именно под размер часов, скопируйте его к другим шрифтам графической библиотеки (их легко найти, в основном в их имени присутствует font). После чего компилятор его увидит и прошьет микроконтроллер. Можете поэкспериментировать с другими шрифтами, меняя мой шрифт на любой другой.
Добрый день.. Спасибо за проект.. повторил его.. одна проблема.. как у Rem (Время устанавливается, но не выводится. Часы просто гаснут. При нажатии кнопки 1 информация выводится, но доходя до времени просто гаснут. С кнопки 3 выводит число, месяц, год и день недели. Все настройки сохраняются.) Я новичок в ардуино.. читал ваши комменты с Rem всё перепробовал.. уже мозг закипел..) не получается.. может что ещё подскажите.. Спасибо за ранее..
Хм. У него заработало со второго раза. Я могу предположить, что это связанно с сохранением настроек часов в ПЗУ контроллера. В новой микросхеме там нули, попробуйте сохранить настройки и перезапустить часы. Возможно я и ошибаюсь. Отпишитесь как решили проблему.
@@Lukys30 Спасибо.. попробую.. Завтра отпишусь..
Сложно переделать на другое количество светодиодов? Например 8 на 32. Т.е. 3 матрицы 8 на 8.
не силен в программировании к сожалению.
Нет, не сложно. За размер матрицы и их количество отвечает одна строка. Она в начале скетча. А дальше за прорисовку отвечает графическая библиотека. Сложность может возникнуть если захотите делать свой шрифт, хотя за вечер не сложно разобраться.
@@Lukys30 и шрифты наыерное надо будет допилить?
@@Shura2000 да. Каждую букву шрифта надо будет отрисовать в Экселе и сохранить в определенном формате файл с буквами цифрами и символами, чтобы библиотека нормально опознала его как шрифт и выводила на матрицу. В самой библиотеке есть разные шрифты, может вам подойдут и стандартные. С русскими буквами тоже придется разбираться или рисовать самому...
@@Lukys30 ок. Буду разбираться. А как можно сделать сдвиг цифр вверх? При смене минут , часов и тд
@@Shura2000 я не знаю, надо смотреть код, если я не ошибаюсь у меня заложен сдвиг координаты начала текста по X на длину текста в пикселях, вероятно если заложить сдвиг по Y, то будет текст вылезать сверху или снизу, как захотите.
Подскажите пожалуйста - Как правильно сделать - просто скопировать любой шрифт и вставить в папку ? Проверяю прошивку пишет ошибка нет шрифта . .
Шрифт должен лежать в папке с графической библиотекой. В архиве он как раз там и лежит. Если хотите сделать свой шрифт, там же и лежит простой инструмент шаблон экселевского файла, не забудьте указать новое имя шрифта в скетче если используете другой шрифт.
Вы скорее всего обновили графическую библиотеку и мой шрифт пропал. Скопируйте его из архива к другим шрифтам библиотеки.
Понял спасибо попробую ещё раз .@@Lukys30
@@Lukys30 Вот спасибо - проверил но ноуте там другая винда и версия старая всё есть - супер -спасибо ещё раз .
@@vlad.scheglov7106 всё работает? скиньте фотку или видео посмотреть как получилось lukys30{sabaka}gmail.com
Сколько светодиодов на метр?
60 шт/метр если не ошибаюсь. давно собирал их, но в видео я вроде об этом говорил.
шикарно ! но прожорливое наверно ?
около 1А +/-0,5А в зависимости от яркости и цвета. естественно на белом цвете самое большое потребление, даже есть риск просадки напряжения 5В если длинный кабель. При просадке питающего напряжения ниже 3,5-4 В будут глючить пиксели с дефицитом напряжения.
@@Lukys30 а не планировали выделить под символ место 5*7 (матрица 25 на 7)?
@@maksland8099 нет, но эта схема позволяет сделать любую матрицу, лишь бы общее количество светодиодов не превысило 1024. А дальше уже выводите на неё что угодно. Я собираюсь сделать матрицу поменьше (17*5) для настольных часов.
@@maksland8099 рассматривал и пробовал заливать шрифт шириной 5 пикселей- смотрится некрасиво, поэтому и специально создал шрифт шириной 4 px.
Вот хороший , похожий проект от
Andreas Spiess
czcams.com/video/IIl5nDjfkjY/video.html
здравствуйте.не могу устранить эту ошибки Fonts/LSDynamic7.h .где скачать.
Это шрифт,, он должен быть в архиве. Скопируйте файл к другим шрифтам библиотеки адафрут или в папку проекта, что бы скетч его увидел.
@@Lukys30 я у вас открыл папку libreris скопировал и вставил в программу ардуино папка libreris. скейч выдает ошибку.
как называется папка с шрифтом.
@@aleksanderdobrodey5948 Шрифт лежит в архиве- вот путь...libraries\Adafruit_GFX_Library\Fonts\LSDynamic7.h
@@Lukys30 здравствуйте. Как не побывал, так и ничего не получается пишет ошибка и всё.