Obsah:

DIY inteligentný LED stmievač ovládaný cez Bluetooth: 7 krokov
DIY inteligentný LED stmievač ovládaný cez Bluetooth: 7 krokov

Video: DIY inteligentný LED stmievač ovládaný cez Bluetooth: 7 krokov

Video: DIY inteligentný LED stmievač ovládaný cez Bluetooth: 7 krokov
Video: CS50 2014 – 9-я неделя 2024, Júl
Anonim
DIY inteligentný LED stmievač ovládaný cez Bluetooth
DIY inteligentný LED stmievač ovládaný cez Bluetooth

Tento návod popisuje, ako vytvoriť inteligentný digitálny stmievač. Stmievač je bežný vypínač svetla, ktorý sa používa v domoch, hoteloch a mnohých ďalších budovách. Staršie verzie stmievačov boli manuálne a zvyčajne obsahovali otočný spínač (potenciometer) alebo tlačidlá na ovládanie úrovne svetla. Tento návod popisuje, ako vytvoriť digitálny stmievač, ktorý má dva spôsoby ovládania intenzity svetla; smartphone a fyzické tlačidlá. Oba režimy môžu bezproblémovo spolupracovať, takže používateľ môže zvýšiť alebo znížiť svietivosť pomocou tlačidla aj smartfónu. Projekt je implementovaný pomocou modulu SLG46620V CMIC, modulu HC-06 Bluetooth, tlačidiel a diód LED.

Budeme používať SLG46620V CMIC, pretože pomáha minimalizovať diskrétne komponenty projektu. Integrované obvody GreenPAK ™ sú malé a majú viacúčelové komponenty, čo umožňuje projektantovi zmenšiť súčiastky a pridať nové funkcie. Navyše sa následne znížia náklady na projekt.

SLG46620V tiež obsahuje prepojovacie rozhranie SPI, bloky PWM, FSM a mnoho ďalších užitočných blokov v jednom malom čipe. Tieto komponenty umožňujú užívateľovi zostaviť praktický inteligentný stmievač, ktorý je možné ovládať prostredníctvom zariadenia Bluetooth alebo tlačidiel na stene, podporuje predĺžené stmievanie a pridávanie voliteľných funkcií bez použitia mikrokontroléra alebo drahých komponentov.

Ďalej sme popísali kroky potrebné na pochopenie toho, ako bolo riešenie naprogramované na vytvorenie inteligentného LED stmievača ovládaného prostredníctvom Bluetooth. Ak však chcete získať iba výsledok programovania, stiahnite si softvér GreenPAK a zobrazte už dokončený súbor návrhu GreenPAK. Pripojte vývojovú súpravu GreenPAK k počítaču a spustením programu vytvorte inteligentný stmievač LED ovládaný cez Bluetooth.

Krok 1: Vlastnosti a rozhranie projektu

Vlastnosti a rozhranie projektu
Vlastnosti a rozhranie projektu

Vlastnosti projektu:

1. Dva spôsoby ovládania; mobilná aplikácia a skutočné tlačidlá.

2. Plynulý prechod na svetlo. Je to zdravšie pre oči spotrebiteľa. Poskytuje tiež luxusnejší pocit, ktorý je príťažlivý pre hotely a ďalšie odvetvia služieb.

3. Funkcia režimu spánku. To bude pre túto aplikáciu pridaná hodnota. Keď používateľ aktivuje tento režim, jas svetla sa postupne znižuje o 10 minút. Pomáha to ľuďom, ktorí trpia nespavosťou. Je tiež užitočný pre detské izby a maloobchodné predajne (zatváracie hodiny).

Rozhranie projektu

Rozhranie projektu má štyri tlačidlá, ktoré sa používajú ako vstupy GreenPAK:

ZAPNUTÉ / VYPNUTÉ: zapnite / vypnite svetlo (mäkký štart / stop).

UP: zvýšenie úrovne svetla.

Dole: zníženie úrovne svetla.

Režim spánku: aktiváciou režimu spánku sa jas svetla postupne znižuje v priebehu 10 minút. To dáva používateľovi čas pred spaním a zaručuje, že svetlo nezostane zapnuté celú noc.

Systém vydá signál PWM, ktorý bude odoslaný do externej LED diódy a LED diódy režimu spánku.

Dizajn GreenPAK sa skladá zo 4 hlavných blokov. Prvým je prijímač UART, ktorý prijíma údaje z modulu Bluetooth, extrahuje objednávky a odosiela ich do riadiacej jednotky. Druhý blok je riadiaca jednotka, ktorá prijíma objednávky prichádzajúce z prijímača UART alebo z externých tlačidiel. Riadiaca jednotka rozhodne o požadovanej akcii (zapnúť/vypnúť, zvýšiť, znížiť, povoliť režim spánku). Táto jednotka je implementovaná pomocou LUT.

Tretí blok dodáva generátory CLK. V tomto projekte sa na ovládanie PWM používa počítadlo FSM. Hodnota FSM sa bude meniť (hore, dole) podľa poradia daného 3 frekvenciami (vysoká, stredná a nízka). V tejto časti budú vygenerované tri frekvencie a požadovaný CLK prejde do FSM podľa požadovaného poradia; Pri zapínaní/vypínaní prechádza vysoká frekvencia do FSM do mäkkého štartu/zastavenia. Počas stmievania prechádza stredná frekvencia. Nízka frekvencia prechádza v režime spánku, aby sa hodnota FSM znižovala pomalšie. Potom sa jas svetla tiež pomaly znižuje. Štvrtým blokom je jednotka PWM, ktorá generuje impulzy pre externé diódy LED.

Krok 2: GreenPAK Design

Najlepším spôsobom, ako vytvoriť stmievač pomocou GreenPAK, je použitie 8-bitového FSM a PWM. V SLG46620 obsahuje FSM1 8 bitov a môže byť použitý s PWM1 a PWM2. Modul Bluetooth musí byť pripojený, čo znamená, že je potrebné použiť paralelný výstup SPI. Paralelné výstupné bity SPI 0 až 7 pripojení sú muxované s výstupmi DCMP1, DMCP2 a LF OSC CLK, OUT1, OUT0 OSC. PWM0 získava svoj výstup z FSM0 (16 bitov). FSM0 sa nezastavuje na 255; zvyšuje sa až na 16383. Na obmedzenie hodnoty počítadla na 8 bitov sa pridáva ďalší FSM; FSM1 sa používa ako ukazovateľ na zistenie, kedy počítadlo dosiahne 0 alebo 255. Na generovanie PWM impulzu bol použitý FSM0. Pretože obe hodnoty FSM musia byť zmenené súčasne, aby mali rovnakú hodnotu, návrh sa stáva trochu komplexným, pretože v oboch FSM majú preddefinovaný, obmedzený a voliteľný CLK. CNT1 a CNT3 sa používajú ako mediátory na prenos CLK do oboch FSM.

Dizajn pozostáva z nasledujúcich častí:

- Prijímač UART

- Kontrolná jednotka

- Generátory CLK a multiplexor

- PWM

Krok 3: Prijímač UART

Prijímač UART
Prijímač UART

Najprv musíme nastaviť modul Bluetooth HC06. HC06 používa na komunikáciu protokol UART. UART znamená univerzálny asynchrónny prijímač / vysielač. UART dokáže prevádzať údaje tam a späť medzi paralelnými a sériovými formátmi. Obsahuje prijímač sériového signálu na paralelný a prevodník paralelného signálu na sériový port, ktoré sú oba taktované oddelene. Údaje prijaté v HC06 budú odoslané do nášho zariadenia GreenPAK. Pohotovostný stav pre pin 10 je VYSOKÝ. Každý odoslaný znak začína logickým LOW štartovacím bitom, za ním nasleduje konfigurovateľný počet dátových bitov a jeden alebo viac logických HIGH stop bitov.

HC06 posiela 1 START bit, 8 dátových bitov a jeden STOP bit. Jeho predvolená prenosová rýchlosť je 9600. Dátový bajt z HC06 pošleme do bloku SPI GreenPAK SLG46620V.

Pretože blok SPI nemá riadenie bitov START alebo STOP, tieto bity sa namiesto toho používajú na povolenie a zakázanie hodinového signálu SPI (SCLK). Keď pin 10 prejde na NÍZKU, integrovaný obvod prijal bit START, takže na identifikáciu začiatku komunikácie používame detektor klesajúcej hrany PDLY. Tento detektor padajúcej hrany taktuje DFF0, čo umožňuje signálu SCLK taktovať blok SPI.

Naša prenosová rýchlosť je 9600 bitov za sekundu, takže naše SCLK obdobie musí byť 1/9600 = 104 µs. Preto sme nastavili frekvenciu OSC na 2 MHz a ako delič frekvencie sme použili CNT0.

2 MHz - 1 = 0,5 µs

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

Preto chceme, aby hodnota počítadla CNT0 bola 207. Aby sa zaistilo, že údaje nebudú zmeškané, na hodiny SPI sa pridá polhodinové oneskorenie cyklu, aby sa blok SPI taktoval v správnom čase. To sa dosiahne použitím CNT6, 2-bitového LUT1 a externých hodín bloku OSC. Produkcia CNT6 neklesne vysoko, kým 52 µs po taktovaní DFF0 nie je presne polovica našej doby SCLK 104 µs. Keď sa zvýši, 2-bitová brána LUT1 AND umožní 2 MHz OSC signálu prejsť do EXT. Vstup CLK0, ktorého výstup je pripojený k CNT0.

Krok 4: Riadiaca jednotka

Kontrolná jednotka
Kontrolná jednotka

V tejto časti budú príkazy vykonávané podľa prijatého bajtu z prijímača UART alebo podľa signálov z externých tlačidiel. Piny 12, 13, 14, 15 sú inicializované ako vstupy a sú pripojené k externým tlačidlám.

Každý pin je interne spojený so vstupom brány OR, zatiaľ čo druhý vstup brány je spojený so zodpovedajúcim signálom prichádzajúcim zo smartfónu cez Bluetooth, ktorý sa objaví na paralelnom výstupe SPI.

DFF6 sa používa na aktiváciu režimu spánku, v ktorom sa jeho výstup zmení na vysoký so stúpajúcou hranou pochádzajúcou z 2-bitového LUT4, zatiaľ čo DFF10 sa používa na udržanie stavu osvetlenia a jeho výstup sa mení z nízkeho na vysoký a naopak s každou prichádzajúcou hranou z 3-bitového výstupu LUT10.

FSM1 je 8-bitový čítač; dáva vysoký impulz na svojom výstupe, keď jeho hodnota dosiahne 0 alebo 255. V dôsledku toho sa používa na zabránenie tomu, aby FSM0 (16-bitový) prekročil hodnotu 255, pretože jeho výstup resetuje DFF a zmení stav DFF10 zo zapnutého na vypnutý a naopak, ak je osvetlenie ovládané tlačidlami +, - a bola dosiahnutá maximálna/minimálna úroveň.

Signály pripojené k vstupom FSM1 udržujú, hore dosiahnu FSM0 cez P11 a P12, aby sa synchronizovali a udržali rovnakú hodnotu na oboch počítadlách.

Krok 5: Generátory CLK a multiplexor

Generátory CLK a multiplexor
Generátory CLK a multiplexor

V tejto časti sa vygenerujú tri frekvencie, ale iba jedna bude v jednom čase taktovať FSM. Prvá frekvencia je RC OSC, ktorá je načítaná z matice 0 až P0. Druhá frekvencia je LF OSC, ktorá je tiež načítaná z matice 0 až P1; tretia frekvencia je výstup CNT7.

3-bitový LUT9 a 3-bitový LUT11 umožňujú prechod jednej frekvencie podľa 3-bitového výstupu LUT14. Potom vybrané hodiny vysielajú na FSM0 a FSM1 prostredníctvom CNT1 a CNT3.

Krok 6: PWM

PWM
PWM

Nakoniec sa hodnota FSM0 transformuje na signál PWM, aby sa objavil prostredníctvom kolíka 20, ktorý je inicializovaný ako výstup a je pripojený k externým diódam LED.

Krok 7: Aplikácia pre Android

Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android
Aplikácia pre Android

Aplikácia pre Android má virtuálne ovládacie rozhranie podobné skutočnému rozhraniu. Má päť tlačidiel; ZAPNUTÉ / VYPNUTÉ, HORE, DOLE, spánkový režim a pripojenie. Táto aplikácia pre Android bude schopná previesť stlačenia tlačidiel na príkaz a odošle príkazy do modulu Bluetooth, ktorý sa má vykonať.

Táto aplikácia bola vytvorená pomocou aplikácie MIT App Inventor, ktorá nevyžaduje žiadne skúsenosti s programovaním. Aplikácia App Inventor umožňuje vývojárovi vytvoriť aplikáciu pre zariadenia s OS Android pomocou webového prehliadača prepojením programovacích blokov. Našu aplikáciu môžete importovať do programu MIT App Inventor kliknutím na položku Projekty -> Importovať projekt (.aia) z môjho počítača a výberom súboru.aia, ktorý je súčasťou tejto poznámky k aplikácii.

Na vytvorenie aplikácie pre Android je potrebné začať nový projekt. Vyžaduje sa päť tlačidiel: jedno je výber zoznamu zariadení Bluetooth a druhé sú ovládacie tlačidlá. Musíme tiež pridať klienta Bluetooth. Obrázok 6 je snímkou obrazovky používateľského rozhrania našej aplikácie pre Android.

Keď pridáme tlačidlá, každému tlačidlu priradíme softvérovú funkciu. Na zobrazenie stavu tlačidiel použijeme 4 bity. Jeden bit pre každé tlačidlo, preto keď stlačíte tlačidlo, konkrétne číslo bude odoslané cez Bluetooth do fyzického obvodu.

Tieto čísla sú uvedené v tabuľke 1.

Záver

Tento návod popisuje inteligentný stmievač, ktorý je možné ovládať dvoma spôsobmi; aplikácia pre Android a skutočné tlačidlá. V GreenPAK SLG46620V sú načrtnuté štyri samostatné bloky, ktoré riadia tok procesu na zvýšenie alebo zníženie PWM svetla. Okrem toho je funkcia režimu spánku načrtnutá ako príklad dodatočnej modulácie, ktorá je pre aplikáciu k dispozícii. Uvedený príklad je nízke napätie, ale môže byť modifikovaný pre implementácie vyššieho napätia.

Odporúča: