Библиотека для отображения бегущего текста (матрица 8х8)
- Войдите на сайт для отправки комментариев
Ср, 01/06/2011 - 01:01
Добрый вечер.
Совсем недавно приобрел плату аналог ардуино мега. Подключил светодиодную матрицу 8х8 светодиодов. Разобрался с выводом на "экран", но только поочередно. "бегущий" текст не получается реализовать. Может быть есть библиотека для ардуино ide, в которой уже реализованы данные функции? если есть, подскажите как называется и где можно скачать.
как подключили? схему плиз.
схема
http://www.kosmodrom.com.ua/pdf/RL-M2388SBW_C15_78.pdf
ROW: 1 2 3 4 5 6 7 8 COL: 1 2 3 4 5 6 7 8
PIN: 23 25 27 29 31 33 35 37 PIN: 39 41 43 45 47 49 51 53
Вобщем я сам разобрался. написал свои функции для этого дела. но все же интересно посмотреть как это делают другие.
Поделись как решил это, тоже интересно.
в теории так:
Написал 3 функции: отрисовка текста, прокрутка текста, обновление экрана(очищение).
Отрисовка: экран - массив интеджеров 8 на 8. забит нолями и единицами - в зависимости от символа. далее в цикле проверяем, если элемент = 1, то включаем этот пиксель(светодиод), задерживаем его включенным, обновляем экран.
Обновление: выключение работающего светодиода.
Прокрутка: 1й столбец матрицы записываю в буфер, 2й столбец записываю в 1й и так далее.. а в последний столбец записываю стобец из буфера. все.
Выложите код, фотографии и видео будет всем интересно
Подскажите, как и куда вылаживаются у Вас на форуме фото и видео?)
Видео на ютуб, картинки на fastpic.ru, а от туда ссылки. Можете выложить всё одним архивом на https://www.rapidshare.com/ а я уже выложу всё здесь. Ссылку от рапида сюда только не забудьте выложить
Видео: http://www.youtube.com/watch?v=aNivEV1aj9w
Фото: http://s005.radikal.ru/i212/1106/21/8e4615284c6f.jpg
http://s45.radikal.ru/i108/1106/86/ffaa85cb04fb.jpg
" интересная цацка эта матрица. с выводом текста и скроллинга уже разобрался, благо уже много есть на него в тырнете)))"
Adessit, нашел на форуме Вы писали. поделитесь Вашим методом вывода и скроллинга?
Кстати, разобрался и со сокростью скроллинга. Управляю с компа)
Здорово. Интересно, а как можно их объединить в серию.
В серию обьеденить с помощью сдвиговых регистров или драйверов) Есть пример на нашем сайте
Покажите где пример? в упор не вижу. киньте ссылку пожалуйста.
http://arduino.ru/forum/obshchii/eshche-raz-ob-uvelicheni-kolichestva-po...
Никто не мешает вместо одной 3х цветной сделать 3 одноцветных матрицы будет 24х8 матрица) http://arduino.ru/projects/arduino_led_matrix
Еще существуют готовые, недорогие, матричные, типа, экраны от sure Electronics, я себе один такой недавно получил arduino.ru/forum/proekty/mnogofunktsionalnye-chasy-na-dvukhtsvetnoi-svetodiodnoi-matritse-32kh16
Матрица 8*8 при самостоятельной сборке будет стоить 2,9$ соотвественно 8*2.9=23,2 но это одноцветная матрица, против 32$ за трёх цветную(но вероятно в цене нет стоимости доставки из-за бугра, думаю не меньше 6$)ю Я уже закупил себе 8 матриц и экстендеры для них, но пока сборку не начинаю, хочу сделать платки для каждой матрицы отдельно, что бы можно было подключать в любой конфигурации.
Цена одной красно-желто-зеленой матрицы на порядок дороже, 4$!!!
Цена 32у.е. с доставкой из Китая) на ней уже стоит полностью собранная плата с драйверами, по нашим ценам 32 стояит только матрицы 5мм, а плата на шару получилась) просто втыкнул провода и вперед)
А теперь посчитайте еще время на разводку изготовление печатной платы, сдвиговые регистры и т.п цена зашкалит далеко от моих 32 зелени.
Кстати вижу мегу1280 нашего украинского производства:)
Adessit, наверное сами там покупали?)
Ebay рулит! С доставкой в Украину всего 32у.е. http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&item=220774722988
Сейчас они их продают по 37 с доставкой, что тоже гуд!
я же за плату говорил, за ардуино. ну да ладно.
Нет, ардуина у меня одна дуемиланова китайская и мега2560 итальянская) Просто вашу видел на одном украинском сайте
чтото мы от темы совсем ушли)
По теме я давал ссылку, это не сдвиговые регистры, это расширитель портов. Использовать сдвиговые регистры на порядок менее удобно чем экстендер.
Код без всяких заморочек управляет на прямую. Библиотека для управления через экстендер
то есть, используя расширитель портов для платы можно набрать серию матриц и с помощью этой библиотеки напрямую управлять отдельно-взятым светодиодом?
расширители портов - дорого) 75НС595 в разы дешевле, если много матриц то нужно будет еще ULN2804 вместо кучи мелких транзисторов на каждую строку, а если уж совсем будет много то на одну улнку напаять еще одну)))
1,3$ mcp 23016 дешевле самой дешёвой матрицы. А меня интересует код, вроде тема эта именно о нём, нарыл кто нибудь что интересное? а то мне лично лень все символы ручками загонять.
Раз тут на форуме отвечают вопросами на вопрос, то , видимо, ручками только и прийдется символы загонять.
я так понимаю, Adessit - это модератор форума. в упор мои вопросы не замечает. я создал тему и задал вопрос. мне вопрос на вопрос. я уже ответил. мало - надо еще и код вылаживать. ладно, объяснил. попросил поделиться как остальные делают. нет, какойто игнор в мою сторону. ладно.
Ну модератор тоже может не знать однозначный ответ на вопрос. Не совсем про библиотеку, но ты вот этот пост видел? http://www.arduino.ru/forum/programmirovanie/32x8-matritsa-ot-sureelectronics
Ни какого игнора. Не сочтите за грубость, но примеры вам даны в постах выше. 15 пост от меня в данной ветке.
3 и более матрицы в серию там красиво и с рисунком. Для бОльшего числа всё остаётся также, только растет количество регистров, и в общий катод/анод строк надо добавить улнку
www.youtube.com/watch
ссылка из видео ниже
g33k.blogspot.com/2010/02/arduino-56x8-scrolling-led-matrix.html
"Ну модератор тоже может не знать однозначный ответ на вопрос. " - я понимаю. но я же говорил, что видел на форуме его тему, в которой описывалось подробно и с фото как все делается. просто вместо того, чтобы на мой вопрос кинуть ссылку на свою тему, появляется встречный вопрос "как подключил и как делал".
Вы отвечали не на мой вопрос, а на вопрос другого человека. по поводу соединения в серию. вот. не сочтите за грубость.
Да каюсь, поиска не хватает на форуме, сейчас обдумываю как его прикрутить и заодно прикрутить возможность сохранять картинки на самом форуме. Для настоящих джедаев есть хитрый трюк в гугле - делать поиск типа
матрица site:arduino.ru/forum
(директива site: принуждает гугл к выдаче результатов с заданного сайта.)
Пример.
Мой метод вывода анимации и текста основан на чужой библиотеке, смысл такой что используется "жесткий" код именно под чипы моего дисплея, используется память этих драйверов и т.д. я сам еще не вкурил совсем до конца, вернее еще нет времени и собраться с мыслями для понятия кода пока слаб я. Просто гоняю семплы и то что умные люди делают, лишь меняя текст:
http://arduino.cc/forum/index.php/topic,50326.60.html
http://canosso.wordpress.com/
К вашей теме ближе? если по не нашему:
http://www.arduino.cc/playground/Main/DirectDriveLEDMatrix
http://arduino.cc/en/Tutorial/RowColumnScanning
http://www.tigoe.net/pcomp/code/arduinowiring/486
я понял Вас. в принципе я сделал аналогично. только изобрел велосипед. и на одной матрице 8 на 8. без расширителей и сдвиговых регистров.
Ну так отлично))) Добейте до победного конца функции (и или библиотеку), и думаю сделаем статью с вашего позволения на нашем сайте;)
в принципе все добито\доделано. только целесообразно ли. если уж есть давным давно готовые библиотеки которые работают и с сериями матриц. я просто не сталкивался с тем, чтобы программировать серию матриц. уверен, там свои подводные камни.
ну а если интересно, то можно и написать статью. можно будет вылажить код для статьи и пример. интересно будет послушать мнения. что\где подправить может быть.
В разделе проекты, напиши все от себя что и как и по возможности больше картинок, а там и всё будет яснее и интереснее, чтоб не копать что где как, а тут всё сразу)
Все стараются уйти на регистры или расширители портов из-за того что напрямую много портов уходит, но если это МЕГА, то почему бы и нет)))
согласен. хотя максимум 3 матрицы можно подключить к меге без расширителей и регистров.
имеется матрица самосборная 8*8
как можно в мониторе COM порта вводить текст, а выводить на матрицу?
Текст можно вводить руками, а выводить ардуиной и драйвером светодиодов.
подробнее опишу суть
сделал проект на нано и светодиодах SK6812 (64 шт. матрица 8*8 светодиодов) - набаловался на примерах из библиотеки Adafruit_NeoPixel.
Пришла в голову идея по проекту - пользователь открывает монитор порта в которой вводит текст - например "Hello word!", нажимает кнопку "отправить" и этот текст бегущей строкой идет на матрицу SK6812.
Прошу подсказать в какую сторону смотреть для реализации.
не уловил про библиотеку - или вернее что в голову приходит - что упало в сериал = строка, строку разобрать на символы, для каждого символа в библиотеке предусмотреть его HEX, а далее выводить на матрицу?
Так в какой то адафрутовской библиотеке даже в примерах попадалось. Пошукайте, там правда для MAX7219.
Сори за код с ошибками, но я вам просто даю структуру
По факту вы хотите бегущую строку организовать. Это значит, что надо регулярно выводить некоторые кадры из объекта строка в попиксельном виде. И разумеется из-за нехватки памяти, то полностью этот объект лучше держать в виде строки, а еще лучше указателя на строку которую надо вывести. Тут же пляски с PROGMEM. Надо же где-то шрифт хранить. Ну и далее и прочее.
не столь важна сейчас именно бегущая строка, можно посимвольно для начала выводить
главное мне понять как текст из введеного в сериал порт окажется выведенным на светодиодную матрицу.
А далекоидущие планы такие - NodeMcu с поднятым вебсервером и страницей для ввода текста, который пойдет на свтодиодную матрицу