Съдържание:

DIY Smart LED Dimmer, управляван чрез Bluetooth: 7 стъпки
DIY Smart LED Dimmer, управляван чрез Bluetooth: 7 стъпки

Видео: DIY Smart LED Dimmer, управляван чрез Bluetooth: 7 стъпки

Видео: DIY Smart LED Dimmer, управляван чрез Bluetooth: 7 стъпки
Видео: Zemismart SPM01 - compact bidirectional zigbee energy monitor on a current transformer 2024, Юли
Anonim
DIY Smart LED Dimmer Контролирано чрез Bluetooth
DIY Smart LED Dimmer Контролирано чрез Bluetooth

Тази инструкция описва как да се изгради интелигентен цифров димер. Диммерът е обикновен превключвател за светлина, който се използва в къщи, хотели и много други сгради. По -старите версии на димерните превключватели бяха ръчни и обикновено включваха въртящ се превключвател (потенциометър) или бутони за контрол на нивото на светлината. Тази инструкция описва как да се изгради цифров димер, който има два начина за контрол на интензитета на светлината; смартфон и физически бутони. Двата режима могат да работят безпроблемно заедно, така че потребителят може да увеличи или намали яркостта както от бутон, така и от смартфон. Проектът се реализира с помощта на SLG46620V CMIC, HC-06 Bluetooth модул, бутони и светодиоди.

Ще използваме SLG46620V CMIC, тъй като той помага за минимизиране на дискретни компоненти на проекта. Интегралните схеми на GreenPAK ™ са малки и имат многофункционални компоненти, което позволява на дизайнера да намалява компонентите и да добавя нови функции. Освен това впоследствие цената на проекта се намалява.

SLG46620V също съдържа интерфейс за SPI връзка, PWM блокове, FSM и много полезни допълнителни блокове в един малък чип. Тези компоненти позволяват на потребителя да изгради практичен интелигентен димер, който може да се управлява чрез Bluetooth устройство или бутони на стената, поддържа продължително затъмняване и добавяне на избираеми функции без използване на микроконтролер или скъпи компоненти.

По -долу описахме стъпки, необходими, за да разберем как решението е програмирано за създаване на интелигентен LED димер, управляван чрез Bluetooth. Ако обаче просто искате да получите резултат от програмирането, изтеглете софтуера GreenPAK, за да видите вече завършения файл за проектиране GreenPAK. Включете комплекта за разработка на GreenPAK към компютъра си и натиснете програма, за да създадете интелигентния димер за димиране, управляван чрез Bluetooth.

Стъпка 1: Характеристики на проекта и интерфейс

Характеристики на проекта и интерфейс
Характеристики на проекта и интерфейс

Характеристики на проекта:

1. Два метода на контрол; мобилно приложение и истински бутони.

2. Плавен преход за включване / изключване на светлината. Това е по -здравословно за очите на потребителя. Той също така дава по -луксозно усещане, което е привлекателно за хотели и други услуги.

3. Функция за режим на заспиване. Това ще бъде добавена стойност за това приложение. Когато потребителят активира този режим, яркостта на светлината намалява постепенно за 10 минути. Това помага на хора, страдащи от безсъние. Той е полезен и за детски спални и магазини (време за затваряне).

Интерфейс на проекта

Интерфейсът на проекта има четири бутона, които се използват като входове на GreenPAK:

ВКЛ / ИЗКЛЮЧВАНЕ: включете светлината ВКЛ / ИЗКЛ. (Плавен старт / стоп).

НАГОРЕ: увеличете нивото на светлината.

Надолу: намалява нивото на светлината.

Режим на заспиване: чрез активиране на режим на заспиване, яркостта на светлината намалява постепенно за период от 10 минути. Това дава на потребителя време преди лягане и гарантира, че светлината няма да остане ВКЛЮЧЕНА през цялата нощ.

Системата ще издава PWM сигнал, който ще бъде предаден на външен светодиод и светодиоден индикатор за режим на заспиване.

Дизайнът GreenPAK се състои от 4 основни блока. Първият е UART приемник, който получава данни от Bluetooth модула, извлича поръчки и ги изпраща до контролен блок. Вторият блок е контролен блок, който получава поръчки, идващи от UART приемника или от външните бутони. Устройството за управление решава необходимото действие (Включване/изключване, увеличаване, намаляване, активиране на режим на заспиване). Това устройство се изпълнява с помощта на LUT.

Третият блок захранва генераторите CLK. В този проект се използва брояч на FSM за управление на ШИМ. Стойността на FSM ще се промени (нагоре, надолу) в съответствие с поръчките, дадени от 3 честоти (висока, средна и ниска). В този раздел трите честоти ще бъдат генерирани и необходимата CLK преминава към FSM според необходимия ред; При включване/изключване, висока честота преминава към FSM към плавен старт/стоп. По време на затъмняване средната честота преминава. Ниската честота преминава в режим на заспиване, за да намали по -бавно стойността на FSM. След това яркостта на светлината също намалява бавно. Четвъртият блок е ШИМ модулът, който генерира импулси към външни светодиоди.

Стъпка 2: GreenPAK Design

Най-добрият начин за изграждане на димер с помощта на GreenPAK е чрез използване на 8-битов FSM и PWM. В SLG46620, FSM1 съдържа 8 бита и може да се използва с PWM1 и PWM2. Bluetooth модулът трябва да бъде свързан, което означава, че трябва да се използва SPI паралелен изход. Паралелните изходни битове SPI от 0 до 7 връзки са мултиплексирани с DCMP1, DMCP2 и LF OSC CLK, OUT1, OUT0 OSC изходи. PWM0 получава изхода си от FSM0 (16 бита). FSM0 не спира на 255; той се увеличава до 16383. За да се ограничи стойността на брояча на 8 бита, се добавя друг FSM; FSM1 се използва като указател, за да се знае кога броячът достига 0 или 255. FSM0 е използван за генериране на PWM импулс. Тъй като двете стойности на FSM трябва да бъдат променени едновременно, за да имат една и съща стойност, дизайнът става малко сложен, когато и в двата FSM има предварително дефиниран, ограничен и избираем CLK. CNT1 и CNT3 се използват като медиатори за предаване на CLK към двата FSM.

Дизайнът се състои от следните раздели:

- UART приемник

- Блок за управление

- Генератори на CLK и мултиплексор

- ШИМ

Стъпка 3: UART приемник

UART приемник
UART приемник

Първо, трябва да настроим HC06 Bluetooth модула. HC06 използва протокола UART за комуникация. UART означава универсален асинхронен приемник / предавател. UART може да конвертира данни напред и назад между паралелни и серийни формати. Той включва сериен към паралелен приемник и паралелен към сериен преобразувател, които се синхронизират отделно. Данните, получени в HC06, ще бъдат предадени на нашето устройство GreenPAK. Състоянието на празен ход за Pin 10 е ВИСОКО. Всеки изпратен знак започва с логически LOW стартов бит, последван от конфигурируем брой битове данни и един или повече логически HIGH стопови бита.

HC06 изпраща 1 START бит, 8 бита данни и един STOP бит. Неговата скорост по подразбиране е 9600. Ще изпратим байта от данни от HC06 към SPI блока на GreenPAK SLG46620V.

Тъй като SPI блокът няма управление на битове START или STOP, вместо това тези битове се използват за активиране и деактивиране на SPI тактовия сигнал (SCLK). Когато Pin 10 се понижи, IC получава бит START, така че използваме PDLY детектор за спадане на ръба, за да идентифицираме началото на комуникацията. Този детектор на падащи ръбове работи с тактови честоти DFF0, което позволява на сигнала SCLK да синхронизира SPI блока.

Нашата скорост на предаване е 9600 бита в секунда, така че нашият SCLK период трябва да бъде 1/9600 = 104 µs. Затова зададохме честотата на OSC на 2 MHz и използвахме CNT0 като честотен делител.

2 MHz - 1 = 0,5 µs

(104 µs / 0,5 µs) - 1 = 207

Следователно, ние искаме стойността на брояча на CNT0 да бъде 207. За да се гарантира, че данните не се пропускат, се добавя закъснение на получасов цикъл на SPI часовника, така че SPI блокът да се задейства в точното време. Това се постига чрез използване на CNT6, 2-битов LUT1 и външния часовник на блока OSC. Изходът на CNT6 не се повишава чак до 52 µs след отчитане на DFF0, което е точно половината от нашия SCLK период от 104 µs. Когато стане високо, 2-битовият LUT1 AND порта позволява на 2 MHz OSC сигнала да премине в EXT. CLK0 вход, чийто изход е свързан към CNT0.

Стъпка 4: Контролен блок

Блок за управление
Блок за управление

В този раздел командите ще се изпълняват според получения байт от UART приемника или според сигналите от външните бутони. Пинове 12, 13, 14, 15 се инициализират като входове и са свързани към външни бутони.

Всеки пин е вътрешно свързан към вход за ИЛИ порта, докато вторият вход на порта е свързан със съответния сигнал, който идва от смартфона чрез Bluetooth, който ще се появи на SPI паралелен изход.

DFF6 се използва за активиране на спящ режим, където неговият изход се променя на висок с нарастващия ръб, идващ от 2-битов LUT4, докато DFF10 се използва за поддържане на състоянието на осветление, а неговият изход се променя от ниско към високо и обратно с всеки идващ ръб от 3-битов LUT10 изход.

FSM1 е 8-битов брояч; той дава висок импулс на изхода си, когато стойността му достигне 0 или 255. Следователно, той се използва, за да се предотврати превишаването на FSM0 (16-битов) от стойността 255, тъй като изходът му нулира DFF и променя състоянието на DFF10 от включено към изключено и обратно, ако осветлението се контролира от бутоните +, - и е достигнато максималното/минималното ниво.

Сигналите, свързани към входовете на FSM1, запазват, нагоре ще достигнат до FSM0 до P11 и P12, за да синхронизират и запазят една и съща стойност и на двата брояча.

Стъпка 5: CLK генератори и мултиплексор

Генератори на CLK и мултиплексор
Генератори на CLK и мултиплексор

В този раздел ще бъдат генерирани три честоти, но само една ще синхронизира FSM във всеки един момент. Първата честота е RC OSC, която се извлича от матрицата от 0 до P0. Втората честота е LF OSC, която също се извлича от матрицата от 0 до P1; третата честота е изходът на CNT7.

3-битовият LUT9 и 3-битовият LUT11 позволяват преминаване на една честота, в съответствие с 3-битовия LUT14 изход. След това избраният часовник предава към FSM0 и FSM1 чрез CNT1 и CNT3.

Стъпка 6: PWM

ШИМ
ШИМ

И накрая, стойността на FSM0 се трансформира в PWM сигнал, за да се появи през пин 20, който се инициализира като изход и е свързан към външните светодиоди.

Стъпка 7: Приложение за Android

Приложение за Android
Приложение за Android
Приложение за Android
Приложение за Android
Приложение за Android
Приложение за Android

Приложението за Android има виртуален интерфейс за управление, подобен на реалния интерфейс. Има пет бутона; ON / OFF, UP, DOWN, Sleep mode и Connect. Това приложение за Android ще може да преобразува натискането на бутони в команда и ще изпраща командите до Bluetooth модула, който да се изпълнява.

Това приложение е направено с MIT App Inventor, което не изисква опит в програмирането. App Inventor позволява на разработчика да създаде приложение за устройства с Android OS, използвайки уеб браузър чрез свързване на програмни блокове. Можете да импортирате нашето приложение в MIT App Inventor, като щракнете върху Проекти -> Импортиране на проект (.aia) от моя компютър и изберете файла.aia, включен в тази бележка за приложението.

За да създадете приложението за Android, трябва да бъде стартиран нов проект. Необходими са пет бутона: единият е инструмент за избор на списък за Bluetooth устройства, а другите са бутоните за управление. Трябва да добавим и Bluetooth клиент. Фигура 6 е екранна снимка на потребителския интерфейс на нашето приложение за Android.

След като добавим бутоните, ще присвоим софтуерна функция за всеки бутон. Ще използваме 4 бита, за да представим състоянието на бутоните. По един бит за всеки бутон, следователно, когато натиснете бутона, определен номер ще бъде изпратен по Bluetooth към физическата верига.

Тези числа са показани в таблица 1.

Заключение

Тази инструкция описва интелигентен димер, който може да се управлява по два начина; приложение за Android и истински бутони. В GreenPAK SLG46620V са очертани четири отделни блока, които контролират потока на процеса за увеличаване или намаляване на ШИМ на светлината. Освен това е описана функция за режим на заспиване като пример за допълнителна модулация, налична за приложението. Показаният пример е ниско напрежение, но може да бъде модифициран за изпълнения с по -високо напрежение.

Препоръчано: