Светодиодный матричный дисплей для информационных табло своими руками
Цифровое табло может пригодится на различных мероприятиях, чтобы информировать посетителей о предстоящих мероприятиях, изменениях в расписании или динамически предоставлять текущую информацию. Использование светодиодной матрицы для этого, делает сообщения читаемыми даже издалека.
Особенностями этой работы мастера-самодельщика являются:
-2 линии матричных модулей, 1 индикатор RGB-кольцо
-Веб-интерфейс http для простого резервного управления
-REST / JSON API для расширенного удаленного управления
-Автоматическая регулировка яркости
-ИК пульт дистанционного управления
-Интерфейсный разъем I²C для внешних модулей (например, DS1307 RTC)
-Широкий диапазон потребляемой мощности: 10-20 В переменного тока / 10-30 В постоянного тока
-Возможность автономной работы независимо от сети
Мастер напоминает, что процесс сборки требует некоторых специализированных инструментов и продвинутых навыков пайки. Поэтому он оценивать уровень сложности как средний и не подходящий для начинающих.
Список деталей необходимых для изготовления данного устройства мастер, приводит отдельным файлом. Список обширный, и дабы ничего не напутать, будет выложен так же, как у мастера.
Список деталей.
Важно при покупке таких компонентов, как электролитические конденсаторы, убедитесь, что их высота не превышает 12 мм. В противном случае они будут выше, чем матричный дисплей, и плата не будет прилегать должным образом.
Шаг третий: матрица
Начинает мастер с матрицы. Одна полоса состоит из 8 модулей FC-16. Нужно спаять их вместе, чтобы сформировать одну линию. Можно использовать прилагаемые 90-контактные разъемы, согнув их под 180 ° с помощью плоскогубцев.
После пайки всех модулей нужно припаять один из трехполюсных ленточных кабелей к входу данных, а также два многожильных провода к входу питания.
Припаивает конденсатор 1000 мкФ на выходе (выходной сигнал) полоски к GND и VCC в качестве дополнительного буфера.
Шаг седьмой: программное обеспечение
Подключает порт ICSP к программатору AVR и запускает загрузчик Optiboot, включенный в аппаратную библиотеку mightyCore.
Вы можете найти все ссылки на программное обеспечение в файле readme.
При первом запуске загрузчика появится сообщение об ошибке из-за неправильной установки некоторых предохранителей. Отключите все и попробуйте снова записать загрузчик после повторного подключения. Теперь должно работать без проблем. Если вы все еще сталкиваетесь с ошибками, проверьте все соединения на материнской плате снова.
Не двигайтесь дальше, пока этот шаг не будет завершен.
Теперь подключает последовательный порт и загружает код на плату. Распиновка последовательного разъема разработана таким образом, что его можно напрямую подключить к USB-модулю CP2102.
Устанавливает LOAD_EEPROM на 0 при первой загрузке. В противном случае он будет загружать случайные значения из памяти и, возможно, будет препятствовать правильному запуску. Обратите внимание, что в результате этого IP-адрес будет установлен на 192.168.178.100.
Если все сделано правильно, светодиоды на задней панели должны загореться.
Открывает последовательный монитор (115200 baud) и вводит команду system: reboot . Это сохранит все значения в памяти и перезапишет любые случайные значения. После этого снова загрузите код, установив LOAD_EEPROM на 1.
Затем можно изменить IP-адрес, используя последовательный монитор. Теперь дисплей должен работать.
Источник
Как сделать очень заметный информер из светодиодного модуля для наружной рекламы и Arduino
Как сделать очень заметный информер из светодиодного модуля P10 и Arduino.
Цель: Быстро подключить большую светодиодную матрицу P10 (16х32см) к ПК или другому устройству, превратив все это в очень заметный и яркий информер с динамической сменой выводимой информации. Применений такой вещи можно найти массу и как показывает практика она очень привлекает внимание. Вы только представьте, теперь точно все будут знать что у вас работает кондиционер и дверь предполагается закрывать!
Засветка не от окна, а от панели 😉
Однажды посмотрев на унылые матрицы 8х8 светодиодов для Arduino и на их стоимость мне стало грустно. Было решено капнуть в сторону готовых бегущих строк для наружной рекламы и каково было мое удивление когда все они оказались стандартные и все как одна не знали ничего про динамическое обновление информации через внешний порт. Копнув глубже обнаружилось что во всей подобной продукции используются типовые светодиодные модули (светодиодные матрицы).
Все видели яркие экраны наружной рекламы от простых бегущих строк до огромных телевизоров. Эти экраны собираются из цепочки таких светодиодных модулей и управляются спец контроллерами, цена которых растет прямо пропорционально размеру экрана.
Эти светодиодных модулей довольно дешевы. Порядка 6$, цена зависит от типоразмера и цветности. С контроллерами сложнее. Самые простые по цене сравнимы с одной светодиодной панелью. Однако большинство из них «заточено» на работу в режиме демонстрации заранее заготовленных «презентаций» и не имеют возможности динамически менять выводимую информацию. Признаюсь что только бегло ознакомился с функционалом самых простых контроллеров, но этого оказалось достаточно чтобы понять — дешевле и быстрее сделать необходимое на универсальном контроллере Arduino. Это позволит подключить совершенно спокойно несколько модулей. Но мы начнем с одного.
Светодиодный модуль (Р10) выглядит примерно так:
По сути это просто матрица светодиодов которые припаяны к выходам сдвиговых регистров, не будем вдаваться в дебри схемотехники, модули все стандартные и отличаются лишь размерами. Р10 означает что между двумя соседними диодами 10мм. Бываю панели одноцветные, двухцветные и даже RGB. Для интересующихся подробностями тут уже есть аналогичная статья, но с уклоном в более низкий уровень.
Аппаратная часть
А для тех кто хочет быстрее получить результат, который можно «пощупать», потребуется:
- Одна светодиодная матрица.
- Arduino. (Я использовал mini, но удобнее будет nano чтобы не использовать доп. переходники для связи с ПК).
- Блок питания на 5В/3А. Матрица прожорлива, если зажечь все диоды то питания надо много.
- Шлейф подключения. (Обычно он идет в комплекте с матрицей.)
- Желание довести дело до конца.
Будем делать монолитную конструкцию которую достаточно лишь воткнуть в розетку и ПК чтобы отображать нашу драгоценную информацию (например курс биткоина) .
Необходимо взять шлейф от матрицы, разрезав его напополам припаять по простой схеме к Arduino.
Если использовать Arduino Mini или UNO то паять надо к соответствующим пинам по аналогии.
Если по какой-то причине у вас не оказалось шлейфа то его можно заменить на MIDI кабель которым в старых звуковых картах подключается к самой плате MIDI разъем (вариант для старожил) или заменить на два штекера Dupont (мама) по 8 контактов. В принципе разъем стандартный, ищется довольно легко.
У меня же за 10 минут получилась следующая конструкция, болтается еще дополнительный USBtoUART переходник которого у вас не будет если использовать не Arduino Mini.
Аппаратная часть готова, необходимо только подключить дополнительный БП на 5В/3А для питания матрицы. Для этого на ней есть отдельный разъем, плюс к плюсу, минус к минусу. Наоборот можно, но работать не будет. Хотя странно, так как всем известно что электроны, по обыкновению, текут от плюса к минусу. А если учесть что электроны отрицательно заряженные то вообще не понятно почему они текут к отрицательному полюсу… 😉 Ерунды навыдумывали короче.
Я надеюсь что вы подключите питание более надежно, а мой способ отлично годится только если у вас много запасных БП. Ардуину можно прикрутить болтом ( не саморезом! ) к самой панели, в панели есть монтажные резьбовые отверстия.
Вот собственно и все, да простят меня боги DIY, но сегодня обошлось без синей изоленты. Негоже такой ценный ресурс тратить на подобные никчемные вещи.
Программная часть
Если вы подумали что нужно будет разбираться как программировать эту штуку из трех букв (SPI интерфейс) то могу вас разочаровать — все значительно проще. Как всегда все велосипеды придуманы до нас и не единожды. Собственно как и эта статья . Есть готовые библиотеки DMD и DMD2 и рисование сводится к тому что в скетче нужно просто указать что, как и куда выводить, все — Профит!
Немного поигравшись с формой квадрата этими библиотеками я пришел к выводу что скролинг текста во DMD2 выглядит «печально», хотя там есть больше возможностей и управление яркостью. В итоге остановился на первой и вспомнив что «ты ж программист» добавил в нее примитивное управление яркостью. Тут стоит упомянуть что светят эти матрицы очень ярко. К концу отладки выжжет роговицу.
В общем все что вам надо сделать это загрузить скетч в плату, но именно из той директории куда распакуете мой архив, так как я немного доработал напильником некоторые библиотеки, которые лежат там же. Добавилось управление яркостью и чуть чуть разогнан SPI, может еще что, уже и не помню. Рабатет? Не трогай!
Для большей наглядности я добавил датчик температуры 18в20. Если вы такой не подключите то просто не будет выводится температура. У меня по задумке там будет выводится некий вес в граммах, вы же можете выводить просто число. Чтобы изменить текст который прокручивается снизу нужно его просто «вгрузить» в COM порт Arduino используя специальный формат, некое подобие ESC последовательности. Прилагается скрипт на Python который просто посылает на панель текущее время.
Формат управляющих команд:
- 0x1B (ESC) + 0x40 («@») // Опознание, возвращает строку ID устройства «P10_DISPLAY_V01\r\n»
- 0xOC (CLR) // Очистка экрана.
- 0x1F (US) + 0x58 («X») + 0x80 // Задать якрость экрана, 0x80 максимальная яркость.
- 0x1F (US) + 0x52 («B») + Строка // Задать нижнюю строку которая скролится.
- 0x1F (US) + 0x0A («LF») + 0x31, 0x32, 0x33, 0x34, 0x35 // Передать пятизначно число отображаемое вверху «12345»
Я не нашел готового и пришлось нарисовать русский шрифт 5*7. Наверно велосипед, но разве мы делаем всегда все рационально?
Источник
Информационное табло своим руками
Всем привет. Это мой второй пост. И в нем будем собирать своими руками спортивное табло.
Поступила как-то мне задача изготовить информационное табло для отображения результатов игры Дартс.
Естественно первым делом, я пошел в Гугл посмотреть что имеется на рынке. И если в общем случае спортивные табло имеются, к примеру для футбола/хоккея…
то для дартс ничего нет. Ну как нет, какая-то контора предлагает изготовление, но ни фоток готового результата, ни цен — нет.
При игре в 501 игроки используют мобильное приложение для подсчета результата игрока. Коих большое количество. Ну конечно, это же по сути просто калькулятор — его только ленивый не напишет на том же Андроиде. Однако некоторые приложения помимо счета игры имеют на своем борту и ведение статистики по игрокам. Соответственно задача сводилась к тому, чтобы счет игроков отображаемый в приложении продублировать этом спортивном табло.
Мне показали одно из приложений, которым пользуются игроки. Я обратился к разработчику, в братскую Белоруссию, с вопросом, сможет ли он внедрить в свою программу вывод информации на внешнее устройство через BlueTooth. На что он мне ответил, что он сам только-только учится писать приложения на андроиде, и не хочет заморачиваться.
Ну что делать, придется делать самом… Всё сам, своими руками (с)
К слову сказать, к программированию на Андроиде я ни разу не приступал.
В голове нарисовалась такая схема.
Имеется телефон/планшет с приложением, имеется табло с микроконтроллером, модулем Блютус, и светодиодными индикаторами.
Первый же вопрос — какие индикаторы использовать? Однозначно высокие (высотой 15 20 см), однозначно светодиодные.
- высокая цена
- неремонтопригодный
- необходима схема управления и питания
- не нашел нужного размера (максимум 5 см)
Наборные из сегментов?
Тоже нет, по тем же причинам кроме второй и последней.
И тут в результате мозгового штурма прилетает идея сделать цифры из светодиодной ленты на ws2812b — «умных» управляемых светодиодах. «Даааа, точно же. », — крикнул я, «Спасибо, Костя.» Гениальнее решения и быть не может.
Преимущества данного выбора:
- дешево (на моем варианте вышло 250 руб за цифру высотой 20 сантиметров),
- можно легко заменить вышедший из строя светодиод (это важно при использовании ws2812b),
- управляется всего по одному проводу от микроконтроллера. Не надо городить схему динамический индикации, сдвиговых регистров, драйвер питания. Лента питается от 5 вольт.
- можно создать цифру любой формы и любого размера.
Ну все схему утвердил: 1.приложение -> 2.блютус модуль HC-05 -> 3.микроконтроллер (ардуйня, или stm32) -> 4.лента ws2812b.
Из этой схемы самым сложным(почти невыполнимым) для меня был первый пункт. Со всем остальным я работаю.
Для создания приложений используется среда Android Studiо, которая на моем старом компе очень тяжело работала. (2 ядра, 2 гига, включается запускается минут 5). Я нашел вариант создания простых приложений в онлайн среде Thunkable, которое позволяет программировать в графической среде «блоками». Там накидал простое приложение, настроил блютус. И отобразил на табло нужную информацию.
В какой то момент времени я понял, что использовать эту онлайн среду — это не правильно, надо всё-таки освоить Android Studio. Купил новый комп, установил запустил Studiо. Начал конечно же с HelloWorld. Пришлось разбираться с разметками, лэйаутами, классами, явами и прочей фигнёй. Параллельно купил учетку в Гугль Плей заплатив за это 25 долларов.
Ну а дальше дело времени, осваивать Android и писать код.
Вот как это выглядит в среде разработки Android Studio:
Так выглядит процесс разработки для микроконтроллере stm32:
Само табло изготовили из куска ламината, на который наклеил собранные цифры, ардуину и блютус модуль. Спереди закрыли оргстеклом. И отдали в тестовую эксплуатацию.
Сразу же посыпались замечания и новые хотелки (ну это нормально, так как опытный образец). Нужно было добавить счет легов и указатель на текущего игрока, и по возможности, добавить поле для отображения имен игроков. Счет легов и стрелки были добавлены почти сразу же.
А вот для имен игроков пришлось повозиться и параллельно создать сразу второй опытный экземпляр, который сейчас и трудится в дартс-клубе маленького закрытого города N.
лента ws2812b 1300 руб
контроллер stm32 150 руб
блютус HC-05 200 руб
блок питания 5В 250 руб.
ламинат, оргстекло, крепежи, тонировка — из всяких остатков.
ПС. Главный вдохновитель, Заказчик и участник Дартс-клуба через пару недель будет защищать честь России на Чемпионате Мира по Дартс в Лондоне. Пожелаем ему удачи.
Источник