Принцип работы светодиодной матрицы

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем NR55RU, 29 май 2013.

  1. NR55RU

    NR55RU Гик

    Поняв как работает обычный сегментный индикатор, очень заинтересовал принцип работы светодиодной матрицы.
    Почитал, поправьте если я не так понял.
    Допустим у нас есть матрица 5х3
    и мы хотим вывести изображение вида
    Линия 1: 00100
    Линия 2: 01110
    Линия 3: 11111
    Елочку блин :)

    Некий драйвер сперва подает напряжение на линию 1 а некий другой драйвер подает напряжение на нужные столбцы в частности на 3-й ряд для 1-й линии затем напряжение от линии 1 отключается и подается на линию 2 и на столбцы 2,3,4 соответственно ну и по аналогии 3 линия.
    Но так как процесс происходит очень быстро глазу это как правило не заметно.
    Я верно понял принцип работы ?
     
  2. Unixon

    Unixon Оракул Модератор

    Да, только второй драйвер наоборот, сливает напругу в землю.
     
  3. NR55RU

    NR55RU Гик

    А а всякие LCD экранчике и текстовые экранчики типа 16х2 и прочие работают на том же принципе ?
     
  4. Unixon

    Unixon Оракул Модератор

    Внутри - да, снаружи - нет. Там обновлением картинки заведует контроллер на плате дисплея.
     
  5. NR55RU

    NR55RU Гик

    Тут я познакомился в такой вещью как триггеры, регистры и тут у меня возникла мысль, а не с помощью ли регистров как раз таки и заставляют работать самую простую светодиодную матрицу ?
    то есть к примеру матрица 8х8.
    1 регистр на 8 горизонтальных полос
    и по 1 регистру на каждую из 8-ми вертикальных.
    Получается мы скидываем в "вертикальные" регистры нужные значения а затем "двигаем горизонтальный" регистр, в результате чего на каждой полосе зажигается нужные диоды.
    Я прав в своем рассуждение ? так в самом простом варианте делается светодиодная матрица ?
     
  6. Unixon

    Unixon Оракул Модератор

    В принципе, статическую индикацию организовать можно, но этим никто специально не заморачивается, используют динамическую. Ну и кроме того, обычно матрицы внутри соединены в строки и столбцы и просто не имеют выводов для независимого управления всеми элементами.
     
  7. NR55RU

    NR55RU Гик

    А разве таким образом я не могу после каждой пробежки записывать в регистры новые данные создавая анимацию ?
    Или данный вариант будет чрезвычайно медленным ?
     
  8. Unixon

    Unixon Оракул Модератор

    Куда вы собрались подключать все 64 (8 x 8) вывода регистров?
     
  9. NR55RU

    NR55RU Гик

    Нет нет тут не стоит вопрос о том чтобы эту матрицу сделать сейчас, я просто хочу понять принципиально такая схема бы работала или нет.
    Так же я познакомился с такой вещью как сдвиговый регистр, он вроде как работает в меньшим количеством ножек для записи данных, он бы мог помочь решить проблему квинтиллиона ножек ?

    Суть данных вопросов в том что я пытаюсь по изобретать велосипед, он давно изобретен и доведен до совершенства, но тут суть именно в том что через эту попытку самому придумать, шаг за шагом дойти до понимания процесса, до тех проблем с которыми он связан и методов решения, посему я и начал с самой простейшей идеи :)
     
  10. roggedhorse

    roggedhorse Гик

    тогда может быть вам рассмотреть вариант вращающейся линейки светодиодов ?
    больше скорость - больше разрешение
    идея и простая и с точки зрения математики захватывающая
     
  11. NR55RU

    NR55RU Гик

    Да да видел много видео :) Прикольно местами смотрится :)
    Я бы все рассмотрел но все по порядку :) Возник вопрос как работает матрица я его и копаю :)
    Но в той линейке тоже получается управление идет через регистры ?
     
  12. NR55RU

    NR55RU Гик

    Сегодня купил вот такую маленькую матрицу TC07-11SRWA (70руб).
    [​IMG]
    И решил проверить свою теорию на практике, используя цифровые выходы ардуина сколько позволяло напрямую, написал программу которая включала одну строчку и тут же ее гасила потом следующую и следующую.
    И правда ... переключение настолько быстрые что глазу кажется будто они все горят одновременно. Класс :)
    Сделал простенькую анимацию, работает :)
    Ну теперь осталось только придумать как ей всей целиком управлять с использованием лишь нескольких выходов ардуина.... я конечна могу погуглить но хочется самому поломать голову и решить сей вопрос :)
     
  13. Mitrandir

    Mitrandir Гуру

    сдвиговый регистр тебе в помощь,

    в нем формируешь ряд, пропихиваеь и т.д.
     
  14. Mitrandir

    Mitrandir Гуру

  15. NR55RU

    NR55RU Гик

    Да да я уже в его сторону поглядывал + тут в книге познакомился с темой как устроена память.. там для адресации используется всего пара разрядов а на выходе можно получать все нужные биты .. вообщем есть над чем подумать ...
    Думаю есть готовые драйвера но не хочу брать готовый.. для лучшего понимания хочу сделать схемку из базовых (регистры , дешефраторы и тд и тп) элементов сам :)
     
    roggedhorse нравится это.
  16. NR55RU

    NR55RU Гик

    Поправьте меня если я не прав.
    Но как я понимаю в самом мега простом варианте управлять такой матрицей можно используя лишь 2 сдвиговых регистра.
    Один управляет полосами, второй колонками.
    Единственный недостаток в том получается что перед зажиганием каждой полоски надо будет обнулить регистр управляющий колонкам и нащелкать в него определенное двоичное значение определяющие какие колонки включить.
    Судя по описанию работы регистра на один регистр требуется 3 управляющих сигнала, отсюда получается что управлять такой матрицей с ардуина можно с использованием 6 цифровых пинов.
     
  17. Mitrandir

    Mitrandir Гуру

    имхо 1 достаточно, в нем сформировали строку - послали на матрицу, затем сформировали следующую - её послали и т.д
     
  18. NR55RU

    NR55RU Гик

    А как мы будем управлять полосами ? Нам ведь требуется чтобы зажигалась 1 полоска за одной. А для этого надо 7 выходов.
    Напряжение ведь надо подать на 1 полосу и на 1-5 столбцов.
    В таком случае нам требуется 12 контактов. 7 на полосы и 5 на столбцы.
    Может я чего то не понимаю, но я не вижу способа решить это с помощью всего одного 8-ми разрядного регистра.
     
  19. Mitrandir

    Mitrandir Гуру

    Да, я ошибся, надо 2 штуки
     
  20. NR55RU

    NR55RU Гик

    Плюс я тут понял что нам не надо 6 выходов ардуина, надо лишь 3.
    Регистры соединить надо последовательно и получим 16-и разрядный регистр.
    Первые 8 бит управляют тем какую полосу зажечь а вторые 8 бит тем какие столбцы зажечь, как итог, увеличим скорость сократив операции с двумя отдельными регистрами.
    Так что по сути ошибки не было :) Вопрос в том считать ли 2 по 8 или 1 на 16 :)
     
    Mitrandir нравится это.