3в светодиоды схема подключения

3в светодиоды схема подключения
3в светодиоды схема подключения
3в светодиоды схема подключения
3в светодиоды схема подключения

Раздел: Периферия к МК

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

 

В статье мы рассмотрим базовые моменты подключения монохромного матричного индикатора к микроконтроллеру с целью отображения на нем статических символов. Для решения нашей задачи мы использовали отладочную плату StartUSB for PIC с установленным микроконтроллером Microchip PIC18F2550, однако пользователи могут использовать любой микроконтроллер с достаточным количеством линий ввода/вывода для управления индикатором. 

 

Использование платы StartUSB обусловлено простотой ее использования, т.к. она подключается непосредственно к USB интерфейсу и для программирования микроконтроллера не требуется внешнего программатора. 
Матричный индикатор представляет собой массив светодиодов, объединенных в один корпус. Размеры массива обычно составляют 4×4, 5×7, 5×8 или 8×8 точек. Каждая точка может быть сформирована одним, двумя или тремя светодиодами различного цвета. Множество светодиодов объединены в столбцы и строки. Это сделано с целью сокращения количества выводов для управления. Например, для матричного индикатора 8×8 (см. рисунок ниже) требовалось бы 64 линии ввода/вывода, одна для каждого светодиода. Соединением всех анодов в рядах (R1-R8) и катодов в столбцах (C1-C8), необходимое количество выводов управления сокращаеся до 16. На рисунке ниже, если на R4 появится высокий уровень и на C3 – низкий уровень, то светодиод в четвертом ряду и третьем столбце будет светиться. Символы на таком индикаторе отображаются динамически, т.е. мы будем быстро переключать столбцы для отображения символа. 

 


Матричный светодиодный индикатор, используемый в нашем проекте, имеет размер 5×7, и мы узнаем как отображать на нем стандартные символы разрешением 5×7. На рисунке ниже отображено, какие светодиоды должны быть включены для отображения буквы английского алфавита «A». Семь строк и пять столбцов управляются микроконтроллером. Теперь рассмотрим в деталях, как это работает.

 


Для отображения символа «A» сначала мы выберем первый столбец С1 (это означает, что в нашем случае на С1 мы подадим низкий уровень) и отключим все оставшиеся (подадим на С2-С5 высокий уровень). Теперь у нас активен первый столбец и необходимо включить светодиоды в строках R2-R7 подав на них напряжение высокого уровня. Далее, нам нужно сделать активным столбец C2 и включить светодиоды в строке R1 и R5 и так далее. Таким образом, перебирая очень быстро столбцы (более 100 раз в секунду) и включая соответствующие светодиоды для каждого отдельного столбца, мы увидим статическое изображение символа.

 


Таблица ниже демонстрирует, какие должны быть логические уровни на выводах столбцов и строк для отображения символа «A».


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

 


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

 


Схема подключения индикатора и драйвера к микроконтроллеру очень проста. Нам потребуется семь резисторов номиналом 300 Ом, которые включаются в цепи строк R1-R7 для ограничения тока через светодиоды. Управление строками осуществляется выводами RB0-RB6 микроконтроллера. Столбцы индикатора подключаются к выходам драйвера ULN2003A. Соответствующие входы управления драйвера подключаются к порту RA0-RA4 микроконтроллера.

Таким образом, микроконтроллер может переключать столбцы индикатора, записывая в порт соответствующие биты. Например, установив бит RA0 (лог. 1) и сбросив биты RA1-RA4 (лог. 0), мы сделаем активным первый столбец индикатора. Между перключениями столбцов микроконтроллер должен выдержать паузу около 1 мс. Для каждого столбца, необходимо вывести соответствующее значение в порт B, чтобы включить нужные светодиоды в столбце. Переключение между столбцами происходит довольно быстро, поэтому человеческий глаз этого не замечает, и мы видим статическое изображение.



Схема подключения индикатора и драйвера к микроконтроллеру (отладочной плате)


Главная часть нашего проекта – программа микроконтроллера, осуществляющая вывод символов на индикатор. Программа осуществляет переключение столбцов и вывод соответствующих данных в строки в определенные моменты времени. Данные, которые должны выводиться в порт B, могут быть определены в RAM микроконтроллера или в программе, если объема встроенной RAM недостаточно. В компиляторе mikroC переменные сохраняются в RAM, а константы сохраняются в памяти программ. В случае, если памяти RAM микроконтроллера не хватает, пользователь может определить массив констант в памяти программ.

В mikroC мы определим каждый символ с разрешением 5×7 (буквы английского алфавита A-Z, пользователи могут самостоятельно подготовить эти данные в соответствии со своими нуждами):

unsigned short Alphabets[130] = { 0x7e, 0x09, 0x09, 0x09, 0x7e, // A 0x7f, 0х49, 0х49, 0х49, 0х36, // B 0x3e, 0х41, 0х41, 0х41, 0х22, 0x7f, 0х41, 0х41, 0х22, 0x1c, 0x7f, 0х49, 0х49, 0х49, 0х63, 0x7f, 0х09, 0х09, 0х09, 0х01, 0x3e, 0х41, 0х41, 0х49, 0x7a, 0x7f, 0х08, 0х08, 0х08, 0x7f, 0х00, 0х41, 0x7f, 0х41, 0х00, // I 0х20, 0х40, 0х41, 0x3f, 0х01, 0x7f, 0х08, 0х14, 0х22, 0х41, 0x7f, 0х40, 0х40, 0х40, 0х60, 0x7f, 0х02, 0х04, 0х02, 0x7f, 0x7f, 0х04, 0х08, 0х10, 0x7f, 0x3e, 0х41, 0х41, 0х41, 0x3e, 0x7f, 0х09, 0х09, 0х09, 0х06, 0x3e, 0х41, 0х51, 0х21, 0x5e, 0x7f, 0х09, 0х19, 0х29, 0х46, 0х46, 0х49, 0х49, 0х49, 0х31, // S 0х01, 0х01, 0x7f, 0х01, 0х01, 0x3f, 0х40, 0х40, 0х40, 0x3f, 0x1f, 0х20, 0х40, 0х20, 0x1f, 0x3f, 0х40, 0х30, 0х40, 0x3f, 0х63, 0х14, 0х08, 0х14, 0х63, 0х07, 0х08, 0х70, 0х08, 0х07, 0х61, 0х51, 0х49, 0х45, 0х43 // Z }

 

А также данные специальных символов, которые сохраняются в программе:

const unsigned short characters[30] = { 0х24, 0x2A, 0x7f, 0x2A, 0х12, // $ х08, 0х14, 0х22, 0х41, 0х00, // < 0х41, 0х22, 0х14, 0х08, 0х00, // > 0х14, 0х14, 0х14, 0х14, 0х14, // = 0х36, 0х49, 0х55, 0х22, 0х50, // & 0х44, 0x3c, 0х04, 0x7c, 0х44, // PI };

 

Демонстрация работы индикатора

 

 

В архиве по этой ссылке - исходный код демонстрационной программы (последовательное отображение букв и символов на индикаторе) 


3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения 3в светодиоды схема подключения

Тоже читают:



Мастер маникюра пушкино

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

Правка коленвала своими руками

Как сделать маска зорро

Книга роман королевский подарок