Управление RGB-светодиодами с помощью микроконтроллеров PIC (на примере контроллера PIC12F629)

Чтобы понять, каким образом можно управлять RGB-светодиодом с помощью микроконтроллера, давайте сначала разберёмся, — что представляет из себя RGB-светодиод.

RGB-светодиод — это просто три близко расположенных светодиода под одной линзой: красный — Red, зелёный — Green и синий — Blue, отсюда и название. Как известно, сочетанием этих трёх цветов можно получить любой другой цвет. Обычно у этих трёх светодиодов объединены плюсовые (с общим анодом) или минусовые (с общим катодом) выводы, соответственно, всего у RGB четыре вывода, хотя иногда бывает, что все шесть выводов делают раздельно. То есть, фактически, управление RGB — это управление тремя светодиодами. Яркость свечения светодиода зависит от протекающего через светодиод тока. Вот в общем-то и вся информация о RGB, которая нам нужна, переходим, собственно, к управлению.

Идея управления заключается в том, что если подавать на светодиод прямоугольные импульсы, то, регулируя их скважность, можно регулировать средний ток и, соответственно, среднюю яркость. При этом, если частота импульсов будет достаточно большой (хотя бы как у плохого монитора — 60 Гц, а ещё лучше 100 ), то никакого мелькания мы не увидим, нам будет казаться, что светодиод светит постоянно, при этом кажущаяся яркость будет равна средней яркости.

Таким образом, всё что нам нужно для управления RGB-светодиодом по такому методу, — это три ШИМ.

Схема подключения RGB-светодиодов к контроллеру

Схема подключения достаточно банальна, главная фишка в данном случае находится в программной части. Дело в том, что редко у каких контроллеров младших серий есть три ШИМ или хотя бы три таймера с прерываниями (из которых легко сделать ШИМ). У рассматриваемого нами в качестве примера PIC12F629 вообще нет ни одного ШИМ, есть только два аппаратных таймера. В связи с этим, необходимые три канала ШИМ пришлось реализовывать программно.

Теорию того, как это было сделано, читайте здесь.

Необходимо понимать, что если вы используете RGB с общим плюсом, то выбранный светодиод загорается, когда на соответствующем выводе контроллера установлен "0", а если используется RGB с общим минусом, то выбранный светодиод загорается, когда на соответствующем выводе установлена "1".

Пример готового устройства:

управление RGB-светодиодом на PIC12 (фото)

Скачать печатную плату (DipTrace 2.0), — пример платы для SMD RGB-светодиода с общим анодом, типоразмера 1210.

Посмотреть программу управления, — программная реализация 3-х каналов ШИМ на PIC12F629.

Добавить комментарий