Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Удаленная работа
Помощь проекту

Контроллер RGB светодиодной ленты

Описываемое устройство позволяет произвольным образом регулировать цвет свечения ленты со светодиодами трёх базовых цветов — красного (R), зелёного (G) и синего (B). Оно рассчитано на работу с лентой с объединённым анодным выводом всех цветовых компонент, но может быть приспособлено и к лентам со светодиодами, включёнными в другой полярности.

Установка нужного цвета свечения RGB светодиодной ленты производится изменением яркости образующих его компонент R, G и В за счёт варьирования длительности импульсов, питающих соответствующие светодиоды, при постоянной частоте их повторения (76 Гц). Для каждой компоненты предусмотрено по 256 ступеней изменения длительности импульсов и, следовательно, её яркости. Имеется возможность запомнить сочетания яркости компонент RGB для трёх оттенков цвета свечения ленты и быстро устанавливать эти оттенки простыми нажатиями на предназначенные для этого кнопки.

 

 

На рис. 1 изображена схема контроллера. Его управляющий элемент — микроконтроллер DD1. Кнопками SB5 и SB6 регулируют яркость красной, SB8 и SB7 — зелёной, a SB9 и SB10 — синей компоненты синтезируемого цвета. Первыми здесь указаны кнопки, увеличивающие яркость, а вторыми — уменьшающие её. Установленный в данный момент оттенок цвета можно запомнить в энергонезависимой памяти (EEPROM) микроконтроллера, нажав на одну из кнопок SB1—SB3 одновременно с кнопкой SB4.

Пример содержимого EEPROM показан на рис. 2. Здесь записана информация о трёх синтезированных оттенках. Первый — фиолетовый, в котором яркость синей компоненты 216 (0D8H), яркость зелёной — нулевая, а красной — 255 (OFFH), максимальная. Второй — светлозелёный с синей компонентой 108 (6СН), зелёной 255 (0FFH) и красной 0. Третий оттенок — жёлтый, который образуют зелёная и красная компоненты при нулевой синей. Вызывают хранящиеся в памяти цвета свечения ленты нажатиями на те же кнопки SB1—SB3, с помощью которых они записывались, но без SB4.


Когда кнопки SB3—SB10 не нажаты, высокий логический уровень на соединённых с ними входах порта В поддерживают внутренние резисторы микроконтроллера, которыми снабжены входы. Эти резисторы программа включает в начале своей работы записью 1 в разряд RBPU регистра OPTION. На входах порта А такие внутренние резисторы не предусмотрены, поэтому для кнопок SB1 и SB2 установлены внешние резисторы R2 и R3. Программа определяет, что кнопка нажата, обнаружив нулевое значение в соответствующем ей разряде порта А или В.

Цепи катодов светодиодов ленты коммутируют электронные ключи на полевых транзисторах VT1—VT3. Ключами управляют импульсы, формируемые программой микроконтроллера с помощью его счётчика-таймера TMR0. Поскольку таймер восьмиразрядный, он переполняется и генерирует запрос прерывания программы через каждые 256 пришедших на его счётный вход импульсов, полученных делением частоты тактового генератора микроконтроллера. Сразу после переполнения содержимое счётного регистра становится равным нулю. Но если в этот момент программно загрузить в регистр число N, то следующее его переполнение произойдёт уже не через 256, а через 256-N импульсов.


Рассмотрим, как генерируются импульсы нужной длительности на примере, показанном на рис. 3. Предположим, что элементам массива rgb, задающим яркость светодиодов, присвоены значения rgb(0)=195 (синий), rgb( 1 )=157 (зелёный) и rgb(2)=226 (красный), что соответствует розоватобежевому цвету свечения ленты. В момент начала очередного цикла генерации импульсов, когда все светодиоды ещё погашены, программа определит, что первыми должны быть включены светодиоды канала R, для которых задана наибольшая яркость, вторыми — канала В и последними — канала G.

В регистр таймера будет загружено число 226. Приняв 256-226=30 счётных импульсов, таймер переполнится, и в ответ на запрос прерывания программа установит высокий уровень на выводе RA2 микроконтроллера — включит светодиоды канала R. 

Затем она загрузит в регистр таймера число 256-226+195=225. Новое прерывание произойдёт через 256-225=31 счётный импульс, когда до окончания цикла их останется 195. Для включения светодиодов канала В будет установлен высокий уровень на выходе RA0. Далее в регистр таймера загружается число 256-195+157=218. Это обеспечивает генерацию следующего запроса прерывания через 256-218=38 счётных импульсов.

 


По этому запросу устанавливается высокий уровень на выходе RA1, что включает остававшиеся до сих пор выключенными светодиоды канала G. В регистр таймера заносится число 256-157=99. Ещё через 256-99=157 счётных импульсов по очередному запросу прерывания на выходах RA0— RA2 микроконтроллера будет установлен низкий уровень, светодиоды всех трёх каналов выключатся, начнётся новый цикл формирования управляющих ими импульсов.
Нетрудно убедиться, что независимо от заданной яркости светодиодов длительность цикла всегда остаётся равной 256 периодам повторения счётных импульсов Т. При кварцевом резонаторе ZQ1 на 20 МГц и предусмотренном в программе режиме работы таймера частота повторения управляющих светодиодами импульсов приблизительно 76 Гц, что делает их мерцание незаметным для глаз.

Программа, загружаемая в микроконтроллер DD1, создана с помощью компьютерной среды разработки и отладки PIC Simulator IDE 6.92. Использовалась её платная полнофункциональная версия. К сожалению, бесплатная демонстрационная версия этой среды имеет ограничение по объёму программы (не более 50 строк). Для рассматриваемой программы этого оказалось недостаточно. 

 


Желающие усовершенствовать её могут попытаться использовать и другие компиляторы языка BASIC для микроконтроллеров PIC. При этом следует обратить внимание на встречающуюся в программе функцию LookUp(1, 2, 4), s1. Она возвращает число, порядковый номер которого (начиная с нулевого) в списке, заключённом в скобки, равен значению переменной s1. В версиях языка BASIC, отличающихся от используемой в PIC Simulator IDE, такой функции может не быть. В этом случае оператор mask(sl) = Lookup(l, 2, 4), si можно заменить, например, подпрограммой, приведённой в таблице. Возможны также различия в операторах записи в EEPROM (Write) и чтения из него (Read).

 

 

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

Для использования RGB светодиодной ленты с общими катодами ключи на транзисторах VT1—VT3 следует заменить собранными по схеме, показанной на рис. 5. Катоды в этом случае подключают к общему проводу (минусу батареи GB1). Изменений в программе не требуется. Исходный код программы на бейсике и пришивка микроконтроллера PIC16F628A доступны по этой ссылке.

Автор: К. Абдукаримоы, г. Шымкент, Казахстан
Источник: Журнал Радио 2013 №11


C этой схемой также часто просматривают:

Контроллер шагового двигателя
Контроллер двухцветного светового шнура Flexilight
Контроллер графического ЖКИ высокого разрешения
Автоматический контроллер для просмотра стереоизображения.
Контроллер доступа “Tiny KTM” – проще схемы не бывает!
Зарядное устройство из компьютерного блока питания
Велокомпьютер на микроконтроллере PIC16F628A
Переключатели на микроконтроллере
Термометр на DS18B20

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

Arduino


Аудио


В Вашу мастерскую


Видео


Для автомобиля


Для дома и быта


Для начинающих


Зарядные устройства


Измерительные приборы


Источники питания


Компьютер


Медицина и здоровье


Микроконтроллеры


Музыкантам


Опасные, но интересные конструкции


Охранные устройства


Программаторы


Радио и связь


Радиоуправление моделями


Световые эффекты


Связь по проводам и не только...


Телевидение


Телефония


Узлы цифровой электроники


Фототехника


Шпионская техника



Реклама на KAZUS.RU


Последние поступления

Цветик-семецветик на PIC12F629

Плавное чередование яркости свечения светодиодов (лент)

Электронное ожерелье на микроконтроллере и светодиодах

RGB-лампа настроения без микроконтроллера

Корзинка с цветами на светодиодах

Световые эффекты на основе цифрового генератора шума

Мигающий светодиодный сигнализатор с низковольтным питанием

Брелок в форме сердца в техностиле

Схема ночника с оригинальным световым эффектом

Электронное светодиодное сердце на микроконтроллере


Компания Анно Данини предлагает услугу производства в Китае по ссылке || Ставки на снукер || система звукоусиления || Размеры и цены ОСП плит.

© 2003—2024 «KAZUS.RU - Электронный портал»