Динамическая индикация на светодиодных 7-сегментных индикаторах с программной регулировкой яркости

Динамическая индикация на светодиодных 7-сегментных индикаторах с программной регулировкой яркости

Для аппаратуры с батарейным питанием применение LCD-индикаторов, как правило, считается более предпочтительным, чем светодиодных (LED) из-за большого тока потребления последних. Данный постулат мне кажется совсем не очевидным по следующим причинам: 1) в современных LCD-индикаторах существует подсветка, которая потребляет до 100 мА; 2) они относительно хрупки и боятся прямых лучей солнца; 3) современные LED-индикаторы (особенно superRED и ultraRED) обладают достаточной яркостью даже при токе в 1 мА через них, и при оперативной регулировке яркости в зависимости от условий освещения, средний ток потребления 4-разрядного индикатора получается не более 30 мА даже на улице, что меньше чем потребление подсветки LCD.

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

В статье рассматривается способ управления светодиодной матрицей микроконтроллером PIC среднего семейства, используя прерывания от таймеров TMR0 и TMR2. Таймер TMR2 используется для ШИМ-регулирования среднего тока через включенные сегменты. Алгоритм организации работы следующий:

1. Инициализация. Настраиваем порты микроконтроллера в соответствии со схемой подключения индикатора. Для таймеров 1 и 2 включается режим внутреннего тактирования с предделителем, равным 16 . Разрешается прерывания от периферии.

2. Создаем таблицу-знакогенератор для вывода на индикатор цифр и некоторых (преимущественно латинских) букв и знаков.

3. Резервируем два четырехразрядных переменных. В одну заносим последовательно цифровой код (для цифр – просто цифру) необходимого для вывода знака в соответствии с таблицей из п.2. В другую переменную передаются преобразованные значения из таблицы для постоянного высвечивания на индикаторе.

4. В прерывании от TMR0 последовательно высвечиваются разряды знаков в соответствии с таблицей. Перед сменой разрядов индикатор гасится. В каждом прерывании высвечивается один разряд. После этого обнуляется таймер TMR2, сбрасывается флаг прерывания от TMR2 и разрешаются от него прерывания.

5. В прерывании от TMR2 гасится индикатор и запрещается прерывание от TMR2.

6. В основной программе осуществляется регулировка периода прерывания от TMR2, а значит, времени включенного состояния индикатора путем занесения в регистр PR2 чисел от 7 до 255 в десятичном исчислении по формуле X(n+1)=2*X(n)+1. Получается шесть градаций яркости с разницей между ними в 2 раза. При PR2=255 длительность максимальна (4мс из 4мс), при PR2=7 длительность равна примерно 0.25мс.

Для демонстрации указанного принципа управления, ниже приводится схема на недорогом PIC16F628A и тестовая программа на Ассемблере, которая выводит на индикатор слово «test». При нажатии на кнопку, на индикаторе высвечивается яркость (условно цифрами от 0 до 5). При последующих нажатиях, яркость изменяется по кругу и это сразу видно на индикаторе. Сразу хочу предупредить начинающих: моделирование схемы на симуляторе типа Proteus не позволит увидеть изменение яркости в силу особенностей этой программы (Proteus). Макет схемы для проверки и экспериментов придется собирать в «железе». Впрочем, для наблюдения собственно за организацией динамической индикации (кроме изменения яркости) Proteus-модель прилагается.

Потребление схемы при минимальной яркости менее 4 мА, при максимальной – около 80 мА.

В архиве приведена тестовая программа на Ассемблере MPASM.

Для упрощения схемы и освобождения «ног» для различных действий, применена конфигурация с внутренним генератором и внутренним сбросом. При этом, у тех, что пользуется самодельным программатором без возможности подачи сигнала MCLR раньше Upp, могут быть проблемы с последующими верификацией, чтением и стиранием. Тем, кто не уверен в своем программаторе, а так же если требуется высокая стабильность генератора, можно установить кварц 4 МГц по типовой схеме с выбором в конфигурации “OSC_XT”. В случае, если в конечной схеме требуются прерывания с вывода INT0 (RB0), запятой можно управлять посредством вывода RA4, для индикатора с ОА индикатор к этому выводу подключается напрямую, несмотря на то, что он открытый. Освободившийся вывод RB0 можно использовать по назначению. В программу, в прерывании от TMR0, этом случае, добавляется после “movwf PORTB” код:

Небольшие пояснения к программе:

Выводимое число помещается в переменные OUT_ – OUT+3 в соответствии с разрядом , а с нее в подпрограмме out__ после преобразования помещается в OUT_LED. Конечно можно было бы обойтись без переменной OUT_ и везде для вывода писать:

Однако, в исходном виде все гораздо проще и понятнее (поместил в OUT_ и забыл), а так же при множественных выводах с разных мест программы получается экономия кода (4 слова на 1 вывод) – думается хорошая компенсация за лишние 4 байта ОЗУ.

То же самое касается и вывода запятой через переменную comma_.

В подпрограмме-таблице Table_s приняты меры для корректной работы при помещении ее в любое место памяти программ без ограничений на пересечение блоков 256 байт.

Переменная pause_ в прерывании от TMR0 используется для задания временных интервалов 4 мс.

Остальное, я думаю, понятно из алгоритма и комментариев.

P.S. Для 2 или 3 разрядов в программе требуется произвести минимальные изменения, которые, думается, по силам даже для начинающих. Для управления индикатором с количеством разрядов от 5 до 8 необходимо или применить контроллер с большим количеством выводов или же для управления разрядами применить дешифратор 3 на 8.

В первом случае изменения в программе также минимальны (применение вместо порта А другого порта и т.д.). В случае применения дешифратора программа в части прерывания от TMR0 изменится довольно серьезно.

i-Hobby.org

Electronics

Neuro 19 September 2016, 00:25

Neuro 3 September 2016, 23:20

alexei 25 June 2016, 20:47

Neuro 6 April 2016, 12:19

Neuro 25 March 2016, 18:16

Neuro 11 March 2016, 02:45

Neuro 24 February 2016, 22:25

aveslawa 21 February 2016, 13:05

Blogs

  • Новости сайта0.00
  • Equipment0.00
  • 3D-печать0.00
  • Мультикоптеры0.00
  • Аквариумистика0.00
  • Neurosurgery0.00
  • Нумизматика0.00
  • Electronics0.00
  • Эмиграция0.00
  • Microscopes0.00
Читайте также:  Ремонт светильника дневного света своими руками

Динамическая индикация на 7-сегментном индикаторе под управлением ПЛИС Altera

В качестве эксперимента у меня получилось написать динамическую индикацию для 6-разрядного 7-сегментного индикатора.

Подробнее читаем под катом…

Итак, что нужно для того, чтобы увидеть, как работает динамическая индикация? Правильно! Индикатор. Он есть на моей отладочной плате и уже подключен к ПЛИС. Чтобы им можно было управлять, нужно нарисовать и сконфигурировать пины ПЛИС. Как это сделано, видно на картинке выше.
Саму внутреннюю структуру ПЛИС я разбил на три блока: собственно, динамическая индикация; 24-разрядный двоичный счетчик; и предделитель для последнего.

Собственно сам блок динамической индикации на языке Verilog выглядит так:

Небольшое лирическое отступление: не забываем, что в ПЛИС каждая строчка кода может выполняться одновременно еще с кучей таких же строчек. Не знаю, как кого, а меня это постоянно удивляет: слишком уж привык писать под микроконтроллеры, у которых выполнить одновременно несколько действий — сложно, а подчас, даже невозможно. 🙂

Описывать пошагово каждую строчку кода вряд ли имеет смысл: комментарии и так все говорят. Главный принцип работы блока:
на вход подаем 24-разрядную шину данных, которую потом разбиваем на 4-битные нибблы. Последние циклически отображаем на 7-сегментниках, преобразовав их в нужный код.

Чтобы было, что отображать, я написал примитивный 24-разрядный счетчик:

Если подать на его вход тактовый сигнал (а он на моей плате 50МГц), то ничего путного мы не увидим — слишком уж большая частота. Поэтому в схему введен делитель частоты:

Как собирать проект, компилировать его и зашивать в ПЛИС, можно прочесть в моем прошлом отчете.

Результат компиляции выглядит так:

Дальше буду играться с ModelSim и с логическим анализатором. По результатам будет очередной отчет.

Динамическая индикация на светодиодных 7-сегментных индикаторах с программной регулировкой яркости

Чтобы понять, что такое динамическая индикация, и для чего она нужна, нужно рассмотреть для примера промышленный индикатор GNM-7881AUE.

В матрице GNM-7881AUE 64 красных светодиода. Если выводить из матрицы контакты всех светодиодов для управления каждым по отдельности, то понадобится как минимум 65 внешних контактов на корпусе матрицы, а также микроконтроллер с 64 портами вывода. Несомненно, это технологически реализовать очень трудно (и нецелесообразно). Поэтому на заводе светодиоды объединили в 8 групп по строкам и столбцам, и соединили их в матрицу следующим образом:

При такой схеме подключения внешних контактов матрицы и портов микроконтроллера потребуется существенно меньше – только 16. Чтобы зажечь, например, светодиод в левом верхнем углу, нужно на контакт 13 матрицы подать плюс, а на контакт 9 минус. Для этого можно использовать, например, порты вывода микроконтроллера ATmega16 или ATmega32 и резистор:

Светодиод слева вверху зажжется, если микроконтроллер на порт PA0 выставит лог. 1 (+5 вольт), а на PB3 лог. 0 (0 вольт). Такое управление светодиодами, когда логические сигналы во время отображения какого-то изображения не меняются, называется статическим. Как Вы уже наверное догадались, чтобы иметь возможность управлять всеми светодиодами, то нужно подключить остальные выводы строк и столбцов матрицы к микроконтроллеру:

ОК, все очень красиво, но как, например, зажечь один светодиод в центре матрицы, оставив остальные при этом выключенными? Или, как, наоборот, зажечь все светодиоды, кроме одного-двух в центре? Понятно, что при такой схеме включения невозможно этого добиться простой подачей на выходные порты ноликов и единичек (с помощью статической индикации). Тут на помощь как раз и приходит динамическая индикация.

[Динамическая индикация]

Название “динамическая” происходит от того, что формирование изображения происходит не статически, а в динамике, т. е. сначала, например, показывают только первый столбец изображения (все остальные столбцы погашены), на втором шаге показывают только второй столбец, и так далее до 8-столбца. Если это делать быстро (с периодом прокрутки всех шагов не меньше 20 мс), то человеческий глаз не воспримет переключения между столбцами, и ему будет казаться, что отображается сразу вся картинка. Такое последовательное отображение элементов изображения называется разверткой. Для того, чтобы изображение не мерцало и яркость всех точек была одинакова, необходимо выполнение следующих условий:

1. Длительность отображения каждого столбца постоянна, одинакова для всех столбцов.
2. Частота смены столбцов не меняется.

Почему необходимо отображать картинку по столбцам, а не по строкам? Потому что в данной схеме мы подключили токоограничительные резисторы к линиям строк. Чтобы обеспечить одинаковую яркость свечения каждой точки, нам нужно обеспечить одинаковый средний ток через каждый светодиод, что возможно при такой схеме только при развертке по столбцам (когда по столбцам-анодам пробегает лог. 1). Если бы у нас резисторы были подключены не к катодам (не к строкам), а к анодам (к столбцам), то тогда развертку изображения надо было делать не по столбцам, по строкам (у нас бежал бы по строкам лог. 0).

Для примера приведу алгоритм отображения цифры 2 (на рисунке светодиоды, которые надо зажигать, я закрасил красным цветом), столбцы и строки нумеруются от 1 до 8:

1. Отображение столбца 1. Для этого на PA0 подаем лог. 1, на PA1..PA7 подаем лог. 0. На порты PB3, PB4, PD0, PD1, PD3, PD5..PD7 также лог. 1. Держим матрицу с таком состоянии 2.5 мс.
2. Отображение столбца 2. Для этого на PA1 подаем лог. 1, на PA0, PA2..PA7 подаем лог. 0. Подаем лог. 1 на PB3, PB4, PD1, PD3, PD7, подаем лог. 0 на PD0, PD5, PD6. Держим матрицу с таком состоянии 2.5 мс.
3. Отображение столбца 3. Для этого на PA2 подаем лог. 1, на PA0, PA1, PA3..PA7 подаем лог. 0. Подаем лог. 1 на PB3, PD0, PD1, PD5, PD7, подаем лог. 0 на PB4, PD3, PD6. Держим матрицу с таком состоянии 2.5 мс.
4. Отображение столбца 4. Все то же самое, что и на шаге 3, только подаем лог. 1 не на PA2, а на PA3. Держим матрицу с таком состоянии 2.5 мс.
5. Отображение столбца 5. Все то же самое, что и на шаге 4, только подаем лог. 1 не на PA3, а на PA4. Держим матрицу с таком состоянии 2.5 мс.
6. Отображение столбца 6. Все то же самое, что и на шаге 5, только подаем лог. 1 не на PA4, а на PA5. Держим матрицу с таком состоянии 2.5 мс.
7. Отображение столбца 7. Для этого на PA6 подаем лог. 1, на PA0..PA5, PA7 подаем лог. 0. Подаем лог. 1 на PB3, PB4, PD0, PD3, PD5, PD7, подаем лог. 0 на PD0, PD1, PD6. Держим матрицу с таком состоянии 2.5 мс.
8. Отображение столбца 8. Все то же самое, что и на шаге 1, только подаем лог. 1 не на PA0, а на PA7. Держим матрицу с таком состоянии 2.5 мс.

Читайте также:  Автоматическое включение света в аквариуме

Цикл шагов 1..8 занял ровно 20 мс (2.5+2.5+2.5+2.5+2.5+2.5+2.5+2.5). При непрерывном чередовании шагов 12345678123. получится отображение символа 2 без видимого мерцания. По похожему принципу работают все “взрослые” системы индикации в автобусах, электричках, турникетах, рекламных табло.

[Пример управления матрицей LED8X8]

Для экспериментирования со знакогенераторами 8×8 я сделал небольшой проект для отображения символов на индикаторе GNM-7881AUE. Схема подключения индикатора – точно такая же, как используемая при обсуждении динамической индикации. Красными метками я указал номера выходных контактов макетной платы AVR-USB-MEGA16.

Проект управляется через виртуальный COM-порт – в консоли можно было ввести шестнадцатеричный код символа, и он тут же высвечивается на индикаторе. На фото видна макетная плата AVR-USB-MEGA16, на которую припаян индикатор GNM-7881AUE (весь монтаж и резисторы SMD 0805 номинала 150 Ом выполнен с обратной стороны макетной платы).

Потом проект оброс возможностью отображения бегущей строки и вывода картинок BMP, что позволяет делать забавную анимацию. В качестве знакогенератора используется набор символов от ZX-Spectrum, дополненный русскими символами.

[Что внутри проекта LED8x8]

Проект собран на основе статьи [1]. Скачанный пример дополнен командами, и в главный цикл main добавлена процедура динамической индикации, отображающая символы, бегущую строку или анимацию из картинок BMP. Питается и конфигурируется устройство от USB. Когда активен интерфейс USB, то возможно мерцание отображаемой картинки, так как на программную поддержку протокола (библиотека V-USB) тратится большая доля процессорного времени.

В память можно занести любое количество текстов и картинок (пока хватит места в EEPROM), они сохраняются в памяти после выключения питания. Управление и конфигурирование осуществляется через текстовую консоль, подключенную к виртуальному COM-порту (через любую консоль типа Hyperterminal, Terraterm или putty), интерфейс управления имеет систему подсказок. Вот пример сеанса работы с управляющей консолью проекта:

Тексты можно вводить командой TXT, а BMP-картинки в черно-белом формате 8×8 пикселов можно загрузить по протоколу XMODEM (моя любимая консоль SecureCRT умеет это делать). И тексты, и картинки добавляются в общий пул, и проигрываются по команде RUN в том порядке, в каком Вы их занесли в память — поэтому при желании можно сочинить очень сложную поздравительную комбинацию. Скорость бегущей строки и смены картинок меняется командой SPEED (от 1 до 10). Доступны также некоторые отладочные команды.

[Применение матричных индикаторов 5×7 точек]

Для светодиодной матрицы можно применить не только индикаторы 8×8 точек, но также и индикаторы 5×7 точек, которые иногда проще найти и купить. К примеру, есть индикаторы TFB2457C, TFB2757C, которые хороши тем, что их можно стыковать друг с другом для получения матрицы любого размера. Вот пример организации матрицы 7×10 точек:

[Применение силовых ключей на транзисторах]

Как Вы уже наверное успели заметить, в вышеупомянутых схемах подключения LED-индикатора аноды и катоды светодиодной матрицы подключены к портам микроконтроллера напрямую (в нашем примере аноды) и через токоограничительные резисторы (катоды). При этом порты, нагруженные на аноды, испытывают повышенную нагрузку, если необходимо зажечь весь столбец анода – чем больше светодиодов нужно зажечь в столбце, тем выше нагрузка. В самом худшем случае, когда для нашего примера нужно зажечь все светодиоды в столбце, на один порт для анода приходится нагрузка из 8 параллельно включенных цепочек из светодиодов и резисторов 150 Ом. При этом нагрузка на порт превышает паспортную, выход микроконтроллера не справляется с нагрузкой, на анодах светодиодов падает напряжение. Не получится добиться высокой яркости свечения, и столбцы с разным количеством включенных светодиодов могут светиться с разной яркостью, что скажется на качестве формируемого изображения.

Чтобы улучшить работу схемы, для нашего примера целесообразно умощнить выходы, подключенные к анодам. Для умощнения портов ввода вывода применяют транзисторы, работающие в ключевом режиме [4]. Можно применить как биполярные, так и полевые транзисторы, но лучше всего поставить полевые транзисторы (MOSFET). Есть дешевые миниатюрные MOSFET транзисторы с P-каналом, например IRLML6401 или IRLML6402 в корпусе SOT-23. Полевой транзистор в нашем случае хорош тем, что для его подключения не нужны никакие дополнительные элементы (типа токоограничительных резисторов), и на открытом канале транзистора падает очень маленькое напряжение, так как сопротивление открытого канала IRLML6401 порядка 0.05 ом. Поэтому можно легко коммутировать большую токовую нагрузку без почти без потерь мощности – до 3.4A, что для нас более чем достаточно.

На рисунке вывод 1 обозначает затвор G (Gate), 2 исток S (Source), 3 сток D (Drain) транзистора. Чтобы умощнить аноды, транзистор нужно подключить по следующей простой схеме – затвор к порту микроконтроллера (например, к PORTA7), исток S к +5V, а сток D к анодам столбца матрицы.

Для подключения матрицы из нашего примера понадобится 8 транзисторов IRLML6401, затворы которых подключены к портам PA0..PA7 микроконтроллера ATmega32A, истоки к +5V питания, а стоки к соответствующим столбцам анодов матрицы. Нагрузочные резисторы, которые подключены к катодам матрицы, можно уменьшить для нашего примера до номинала 75 ом.

7-сегментный индикатор + драйвер MAX7219 = минимальный дисплей для Arduino

  • Цена: $1,88/2шт + $2.57/5шт
  • Перейти в магазин

Что-то давно не было обзоров про Arduino-мелочевку.
Сегодня дошли руки до этих деталек и решил их «обозреть»

Тех, кого пугают страшные слова из радиотехники — под кат прошу не заглядывать. дабы не терять свое драгоценное время зря.

Для небольших поделок с Ардуино-образными и другими контроллерами есть множество решений по отображению информации.

Ставить можно от простейших светодиодов, до сложных табло и сенсорных панелей.
В простейших устройствах лично мне понравились светодиодные семисегментные индикаторы требуемой разрядности.
Они достаточно яркие, их видно хорошо на большом расстоянии и они достаточно просты в работе.

Если подключать такой индикатор напрямую к микроконтроллеру — тратится очень много дискретных выходов. Для подключения семисегментных и матричных индикаторов по 3-м проводам компания MAXIM разработала контроллеры MAX7219/MAX7221. Вот об этой связке будет мой обзор.

Сразу скажу, что для тех кто не любит паять, продаются готовые индикаторы за смешные деньги


Я такой тоже использовал в одном из своих проектов, но мне не понравились большие габариты дисплея (особенно по высоте).

Для создания универсального контроллера для своего «Умного дома» приобрел индикаторы и микросхемы россыпью.

Индикаторы приехали в Пермь за 33 дня. Были упакованы в простой мягкий пакет. Ножки воткнуты в кусок пенопласта. Почта России их пощадила:

Читайте также:  Пульт для включения и выключения света



Количество ножек — 12: 7 сегментов/анодов + точка-анод + 4 общих катода по числу разрядов
Шаг между ножками 2.54мм

Распиновка ножек индикатора

Драйвера MAX7219 приехали за 35 дней тоже в мелком пакете, наколотые на паролонину.

Даташит на MAX7219/7221
Данные микросхемы работают с индикаторами, имеющими общий катод. К одной микросхеме можно подцепить 8 разрядов. Сами микросхемы 7219 можно цеплять друг к другу каскадом. Еще драйвера MAX7219 можно использовать для работы с матричными светодиодными индикаторами 8×8 С микроконтроллером соединяются по 3-х проводному SPI интерфейсу.

Пора теперь собрать вместе индикатор и его драйвер

Так как я делал только прототип микроконтроллера — то собрал все навесным монтажом на макетной плате.

На той же макетке установлен микроконтроллер ATMEGA 328P-PU из этого обзора и NRF24L01 mini из другого моего обзора.

Миниатюрный блок питания и корпус тоже были приобретены ранее на ТАОБАО

Для монтажа мне очень понравился китайский тефлоновый провод сечением 0.1мм. Разделывается он лучше, чем советский МГТФ и изоляция практически не плавится от паяльника.

Монтаж, конечно, не очень аккуратный, но для отладки прототипа сойдет

Плату подключил через переходник USB/RS232, который ранее использовал при программировании Arduino Pro Mini

Готовый прототип контроллера

Следующий шаг — изготовление контроллера на печатной плате.

Выводы:
Связка индикаторы + драйверы вполне рабочая.

Паять или покупать готовое — выбор за вами.
Кот вот тоже сильно удивлен, как можно было потрать столько времени не на сон

Прочитать про мой «Умный дом» можно в моем блоге

SHD0028G – Двухразрядный светодиодный семисегментный дисплей

Ваша просьба принята!

Вы получите уведомление при снижении стоимости товара на указанные Вами контакты

  1. Отсутствует мерцание.
  2. Имеет статичную индикацию, что полезно в цепях критичных к цифровым шумам, там, где динамическая индикация не может быть использована по причине сильных помех.
  3. В отличие от динамической индикации значительно меньше отвлекает управляющий процессор. В то время когда что либо отображается на дисплее, процессор может находится в спячке и просыпаться только на время обновления информации на дисплее.
  4. Возможно последовательное наращивание практически неограниченного количества дисплеев, в т.ч. разных цветов. Конструкция модуля позволяет пайкой торцевых контактов наращивать дисплеи в стык без зазора в лицевой части индикатора.
  5. Требует 4 сигнальных ноги процессора (в простом случае достаточно 3х ног), при почти не ограниченной возможности наращивания разрядности.
  6. Простая и быстродействующая цифровая шина.
ПараметрЗначение
Напряжение питания3,3..5 В
Максимальное напряжение питания6 В
Допустимый ток сегмента0..30 мА
Максимальная тактовая частотадо 30 МГц
Рабочая температура-40°C..+85°C
Цвет свеченияЗеленый
Высота символа14,2 мм
Вес модуля7 г
Размеры модуля25 х 24 х 11 мм

Описание выводов и сигналов

Маркировка на модуле Наименование сигнала Вход / Выход Назначение контакта
+5+ 3,3..5В+ Питание модуля 3,3..5 В
++ 3,3..5В+ Питание модуля 3,3..5 В
GNDGNDОбщий
INSERIAL-INВХОДВход последовательных данных
CCLOCKВХОДТактовые импульсы
LLATCHВХОДИмпульс записи в выходной регистр
EENABLEВХОДРазрешающий сигнал включения светодиодов
OUTSERIAL-OUTВЫХОДВыходные данные с последнего разряда регистра
R1R-EXTВХОДВнешний резистор установки максимального тока сегментов

Габаритный чертеж

Нумерация сегментов

Схема модуля

Временная диаграмма

Светодиодные индикаторы – виды и применение

Светодиодным индикатором называется электронное устройство, в конструкции которого содержится несколько светодиодов. Каждый светодиод индикатора является частью целого с тем, чтобы несколько светодиодов индикатора, будучи включены в определенной комбинации, могли бы сформировать определенный символ или сложное изображение.

Светодиоды индикатора могут быть как одноцветными, так и многоцветными. Как правило, одноцветные индикаторы содержат в себе красные, желтые, зеленые или синие светодиоды, а многоцветные — RGB светодиоды.

Составляющие индикатор светодиоды могут быть различной формы: круглые, квадратные, прямоугольные, SMD светодиоды и т. д. Многоцветные светодиоды способны изменять цвет свечения при помощи соответствующего управления схемой питания индикатора.

Одноцветные сегментные светодиодные индикаторы позволяют изображать цифры. Пример простейшего индикатора данного типа — bs-c506rd или bs-a506rd — семисегментный индикатор красного цвета, образующий цифру с точкой. Внутри корпуса этого индикатора установлено 8 светодиодов, катоды (bs-C506rd) или аноды (bs-A506rd) которых объединены на одном общем выводе.

Более сложные светодиодные индикаторы — матричные, наподобие BM-20288MD или BM-20288ND. Конкретно в данных моделях содержится 64 светодиода, катоды (BM-20288MD) которых объединены так, что образуют 8 отдельных строк, а аноды — 8 отдельных столбцов. Практически на базе такого индикатора можно изобразить любой символ (букву, цифру, знак или даже небольшую картинку) с разрешением 8х8 точек.

Схема управления светодиодным индикатором

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

Питание светодиодов индикатора зачастую осуществляется прямо от выводов специализированных цифровых микросхем ТТЛ, собственное номинальное напряжение питания которых, как правило составляет 5 вольт, а разработчику остается лишь подобрать номинал токоограничительных резисторов.

Обычное для светодиодов падение напряжения не превышает 3 вольта, а рабочий ток (в пределах нескольких мА) значительно меньше того, что в состоянии потянуть практически любая современная микросхема.

Однако, прежде чем питать индикатор прямо от микросхемы, ее параметры всегда необходимо точно согласовать с будущей нагрузкой (с параметрами выбранного индикатора). Если же напряжение питания микросхемы меньше требуемого, то придется воспользоваться выводами с открытым коллектором, к которым подать необходимое светодиодам индикатора напряжение (выше чем у микросхемы). В крайнем случае придется добавить внешние транзисторы.

Принцип динамической индикации

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

Пусть каждый из индикаторов включается и выключается один за другим с такой частотой, что человеческий глаз не заметит этого мерцания. При частоте 50 Гц человеку будет казаться, что все индикаторы постоянно включены и ни на мгновение не гаснут.

Схема окажется значительно проще: плата формирующая символы потребуется всего одна, к ней параллельно могут быть подключены все индикаторы, будто это всего один индикатор; тогда как питание необходимо будет подавать на индикаторы последовательно и циклично. Когда формируется первый символ — питание подается на первый индикатор, когда формируется второй символ — включен второй индикатор и т.д.

Рейтинг
( Пока оценок нет )
Загрузка ...
Adblock
detector