Управление LED матрицей

Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

В моем случае 16 на 16. Сходил как то и купил 4 штуки 8 на 8 светодиодов. Так вот, есть идея, сделать небольшой экран из светодиодов. Решил для этих целей использовать простоые двоично-десятичные дешифраторы, а управление предоставить микрокнтроллеру. у которого есть 2 свободных 8 разрядных порта. Идея вот какая. 4 дешифратора управляют строками и столбцами. Вообщем, допустим, что один дешифратор должен дешифровать 1 тетраду, итого у нас используется всего 4 канал в порту. В коде 8421 подем на вход дешифратора 1 тетраду, а на второй дешифратор - вторую тетраду (оставшиеся каналы в порте). Получается, что нам надо дешифровать всего 16 чисел (т.к. у нас матрица 16 на 16).
Итак, Первый порт управляет у нас строками. Только взять дешифраторы надо с активными низкими уровнями на выходах.
Далее, столбцы. Тоже самое, 4 канала управляют 8 столбцами, значит 8 каналов (это 1 целый порт) управляет всеми 16 столбцами. ТОлько тут надо применить дешифратор с активными высокими уровнями на входе, т.к. нам надо зажигать светодиоды все таки.
Далее дело простое. Написать небольшую библиотеку для микроконтроллера. Библиотека включает в себя 2 секции.
1 секция - строки. Выписываем в библиотеку номера строк. Например - строка 7. На входе дешифратора должно быть число 0111. Первая тетрада именно для этого. Считаем до 8, это у нас 1000. Далее управление передается второй тетраде в порту. Например, строка 9 уже включается вторым дешифратором. и будет иметь примерно следующий код:
  • 0b00010000
как видно, у нас порт разбит на 2 тетрады, вот и полчается, что 0b0001 - это уже второй дешифратор работает. А значит, активизируется 9 строка.
сейчас приведу пример библиотеки для строк:
  • 0b00000001
    0b00000010
    0b00000011
    0b00000100
    0b00000101
    0b00000110
    0b00000111
    0b00001000 - досчитали до 8
    далее работает вторая тетрада и второй дешифрато.
    0b00010000
    0b00100000
    0b00110000
и т.д.
Вот так вот. на соответствующих выводах дешифратора управления столбцами будут 1, а на дешифраторах управления строками - 0, что обеспечит разность потенциалов... короче пойдет ток и светодиод загорится.в
Вот схема, как я задумал.
Вложения
1617.jpg
(77.46 КБ) 856 скачиваний
Не умеешь - не берись, но не взявшись не научишься...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

Жень, а защелки где? Или у тебя только 4 светика гореть будут одновременно?
А поболтать?
Реклама
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

а зачем светодиоды?
картинка будет движущейся, часто меняться будет. Да и не нужны тут защелки потому, что мк может держать ногу в 1)))
Не умеешь - не берись, но не взявшись не научишься...
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

У тебя на схеме дешифраторы - так? Так вот дешифратор на каждое число (на входе) "открывает" только один выход из 8(по твоей схеме). Итого у тебя "одновременно" будет гореть только 2 светодиода.
А поболтать?
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

мля, точно, забыл)))
можно и регистры-защелки поставить на D триггерах...
Не умеешь - не берись, но не взявшись не научишься...
Реклама
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

Женя: есть умно сделаные регистры 1561ПР1(последовательный ввод данных 8 бит - вывод параллельный этих 8 бит на индикацию и защелкивание(запоминание). В это время вводиться следующая "порция" из 8 бит - сменила прежнюю информацию на табло(запомнилась) и т. д.). Тебе только остаеться написать программу в последовательном коде порциями по 8 бит и сигнал "строб" для смены информации пачками по 8 бит.Для данного дисплея понадобиться 4 микрухи(они 8 битные). Но для бегущей строки я бы выложил 4 дисплея в одну строку. В каком то журнале Радиохобби была готовая схема Бегущей строки(номер/год - не помню).
А поболтать?
Реклама
Опытный кот
Аватара пользователя
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна

Сообщение avreal »

Brigadir писал(а):Женя: есть умно сделаные регистры 1561ПР1
+1
По-другому они называются CD4094, HEF4094 и т.п. Копеечаня и довольно удобная микросхема.
Можно ещё PWM на ножку OE бросить для регулировки яркости.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Контактная информация:
Вымогатель припоя
Аватара пользователя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50

Сообщение Avarges »

Кстати есть где купить такие 8на8 матрицы СИНИЕГО свечения? Или они синие не бывают?
Контактная информация:
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

бывают.где купить незнаю.)))
я еще хочу закупить штук 20 сдивиговых последовательных регистров 74HС164))) и делать какую нить гирлянду.
Не умеешь - не берись, но не взявшись не научишься...
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

Зачем так мудрёно выводить? Выводы столбцов всех четырёх матриц соединить и на 8 разрядов порта. Далее из 4-х дешифраторов составить дешифратор на 32 линии и подать на строки матриц.
Выводится байт на порт и пять разрядов на дешифратор. (итого 13 линий портов МК). Кроме того в таком формате проще составлять "картинки" для вывода.
R3Dio 73!
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

а мочему бы не выводить по одной точке на частоте МК?
например, взять частоту, например, 1МГц, и уже ничего не заметьшь, что там мерцает...
выводить вот таким кодом:
ldi temp, 0b00000001
out portb, temp ; вывод на строчку
ldi temp, 0b00000010
out portd, temp ; вывод на столбец, зажигаеМ!!!
ldi... ; и так далее, без задержек)))
Не умеешь - не берись, но не взявшись не научишься...
Генеральный секретарь МЯУ
Аватара пользователя
Сообщения: 18885
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.

Сообщение SeregaT »

Stalker46 писал(а):а мочему бы не выводить по одной точке на частоте МК?
Тут походу либо яркость будет очень низкая, либо слишком большой импульсный ток через светодиоды.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3268
Зарегистрирован: Вс июл 23, 2006 01:32:05
Откуда: г.Москва

Сообщение VIRGO »

Stalker46 писал(а):выводить вот таким кодом:
ldi temp, 0b00000001
out portb, temp ; вывод на строчку
ldi temp, 0b00000010
out portd, temp ; вывод на столбец, зажигаеМ!!!
ldi... ; и так далее, без задержек)))
И так 256 раз... Вместо того что бы то же самое сделать 32 раза.
И если ещё без задержек, то картинка будет "хвост" знает какая. (даже если перед зажиганием следующей точки обнулять порт, то всё равно будет включен "0" дешифратора, начит надо использовать ещё одну линию МК для гашения).
R3Dio 73!
Вымогатель припоя
Аватара пользователя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50

Сообщение Avarges »

SeregaT писал(а):
Stalker46 писал(а):а мочему бы не выводить по одной точке на частоте МК?
Тут походу либо яркость будет очень низкая, либо слишком большой импульсный ток через светодиоды.
Светодиоды на такой скорости не справятся, 1 МГц слишком много. Обычно делают 25-300 Гц на светодиоде сигнал динамической индикации, но реально светодиод способен максимум на 50 кГц.
Контактная информация:
Генеральный секретарь МЯУ
Аватара пользователя
Сообщения: 18885
Зарегистрирован: Пн сен 03, 2007 18:24:27
Откуда: Россия. Омск.

Сообщение SeregaT »

Avarges писал(а):индикации, но реально светодиод способен максимум на 50 кГц.
Если управлять матрицей на частоте 1 мгц, то достаточно 20 светодиодов, чтобы каждый мигал не чаще чем 50000 раз в секунду (правда сам импульс будет очень короткий и скважность большая).
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

Если нужно: могу набросать примерную схемку табло "Бегущая строка", но в "железе"(на регистрах). Корпусов регистров будет много.
А поболтать?
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

Сталкер загорелся и... погас. Эта тема его больше не интересует :cry:
А поболтать?
Вымогатель припоя
Аватара пользователя
Сообщения: 512
Зарегистрирован: Вт дек 22, 2009 02:24:50

Сообщение Avarges »

SeregaT писал(а):
Avarges писал(а):индикации, но реально светодиод способен максимум на 50 кГц.
Если управлять матрицей на частоте 1 мгц, то достаточно 20 светодиодов, чтобы каждый мигал не чаще чем 50000 раз в секунду (правда сам импульс будет очень короткий и скважность большая).
В целях динамической индикации нет нужды всё равно такую частоту через светодиод пускать, вот если хочешь сделать через светодиод передачу какого-то сигнала, только тогда.
Контактная информация:
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

нет, не погас, я пытаюсь найти матрицу с объединенными катодами светодоидов, а каждый анод светодиода доступен под корпусом. Я придумал небольшую шнягу - урпавлять одним портом микроконтроллера КУЧУ матриц...
Не умеешь - не берись, но не взявшись не научишься...
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

вот типа вот такого хочу))) только жаль встроенных нету, да и просто таких нету led матриц :(
Вложения
1653.jpg
(112.82 КБ) 747 скачиваний
Не умеешь - не берись, но не взявшись не научишься...
Ответить

Вернуться в «Умные мысли»