Steffen Schütte
Микроконтроллер: Microchip PIC18F2550
Датчик температуры: DS18S20.
Видео:
Управление цветом на основе температуры
Управление цветом на основе загрузки CPU
Управление цветом на основе содержимого экрана
Представленный в этом проекте контроллер полноцветных светодиодов конфигурируется через USB. Цвет подключенных светодиодов (только с общим анодом) зависит от выбранного режима:
- Медленное изменение цвета (40 минут)
- Быстрое изменение цвета (2 минуты)
- Цвет устанавливается на основе температуры (диапазон температур задается)
- Постоянный цвет 1
- Постоянный цвет 2
- Постоянный цвет 3
- Постоянный цвет 4
В режимах изменения цвета цвет светодиодов изменяется автоматически, пробегая все цвета радуги за заданное время.
В режиме установки цвета на основе температуры цвет изменяется в зависимости от показаний датчика температуры DS1821. Дома я использую этот режим, чтобы подсвечивать мой радиатор в зависимости от его температуры.
В режимах постоянного цвета цвет светодиода постоянный, но может быть задан с помощью приложения Windows, написанного на С#, через интерфейс USB. С помощью этого приложения цвет светодиода может:
- изменяться от синего до красного, в зависимости от загрузки процессора
- задаваться, в зависимости от содержимого экрана
» Скриншот приложения.
Сборка схемы
» Принципиальная схема контроллера светодиодов. Ниже представлен список необходимых деталей:
C1 |
220 нФ |
C2 |
100 нФ |
C3 |
10 мкФ |
C4 |
47 мкФ |
C5 |
22 пФ |
C6 |
22 пФ |
IC1 |
PIC18F2550_28DIP |
IC2 |
7805 |
S1 |
Кнопка |
PT1 |
PTC660 |
Q1 |
20 МГц |
T1 |
IRFZ 34N |
T2 |
IRFZ 34N |
T3 |
IRFZ 34N |
R1 |
4.7 кОм |
R2 |
4.7 кОм |
R3 |
4.7 кОм |
R4 |
100 кОм |
R5 |
100 кОм |
R6 |
100 кОм |
R7 |
22 Ом |
R8 |
22 Ом |
R9 |
180 Ом |
R10 |
180 Ом |
R11 |
180 Ом |
SV1 |
4 контактный разъем для монтажа на п/п |
SV2 |
3 контактный разъем для монтажа на п/п |
USB1 |
Разъем Mini-USB |
X2 |
Разъем |
» В первую очередь должна быть сделана печатная плата (изображена на рисунке вверху). В комплект файлов загрузки включены фалы Eagle.
» Готовая печатная плата.
» Далее следует припаять к плате детали, необходимые для питания микроконтроллера напряжением 5 В. Затем подать напряжение 12 В и проверить наличие напряжения питания микроконтроллера (контакт 8 общий, +5 В – контакт 20). После этого можно припаять остальные детали.
» На рисунке показано, какие детали куда припаивать.
» На рисунке вверху показано как подключать светодиодную ленту (с общим анодом) и датчик DS18S20.
Программирование PIC контроллера
» Последнее, но обязательное действие – программирование PIC контроллера. Оно производится в три шага:
- Незапрограммированный PIC18F2550 вставляется в программатор. С его помощью USB загрузчик (18f2550_boot_rb4.hex) прошивается в PIC. Данный загрузчик находится в комплекте файлов загрузки проекта. Конфигурационные биты содержаться в hex файле.
- Вставьте PIC контроллер в собранную схему и подключите ее кабелем к USB порту вашего ПК. Теперь запитайте схему, удерживая кнопку «режим» (S1). PIC контроллер перейдет в режим загрузки. Операционная система XP/Vista запросит драйвер. Используйте драйвер, поставляемый с Microchip USB Framework (C:/Microchip Solutions/USB Device - MCHPUSB - Generic Driver/ DemoDriver), устройство будет опознано и появится в списке диспетчера задач.
- Наконец, можно загрузить программу (RGBController.hex) в микроконтроллер, используя утилиту PDFSUSB, входящую в состав Microchip USB Framework.
Теперь нужно прервать питание схемы, чтобы перезапустить PIC контроллер. (В этот раз не надо держать кнопку «режим»). Контроллер войдет в режим приложения. Подключенные светодиоды должны загореться. Если Windows снова запросит драйвер, используйте драйвер, поставляемый с проектом в загрузках. (В папке /ConfigurationUI/WinXP_USBDriver). Теперь нажмите кнопку «режим» один раз для инициализации PIC контроллера.
Используя приложение (/ConfigurationUI/RGBConfigurator/bin/Debug/RGBConfigurator.exe), вы можете конфигурировать контроллер светодиодов в соответствии с вашими желаниями.