Obsah:

DIY ovládání RGB LED barvy přes Bluetooth: 5 kroků
DIY ovládání RGB LED barvy přes Bluetooth: 5 kroků

Video: DIY ovládání RGB LED barvy přes Bluetooth: 5 kroků

Video: DIY ovládání RGB LED barvy přes Bluetooth: 5 kroků
Video: SONOFF L2 - RGB led pásek ovládaný pomocí bluetooth do míst bez wifi routeru 2024, Červenec
Anonim
DIY ovládání RGB LED barvy přes Bluetooth
DIY ovládání RGB LED barvy přes Bluetooth

Chytré žárovky jsou v poslední době stále oblíbenější a postupně se stávají klíčovou součástí sady nástrojů pro inteligentní domácnost. Chytré žárovky umožňují uživateli ovládat své světlo pomocí speciální aplikace na chytrém telefonu uživatele; žárovku lze zapnout a vypnout a barvu lze změnit z rozhraní aplikace. V tomto projektu jsme vytvořili inteligentní ovladač žárovky, který lze ovládat pomocí ručního tlačítka nebo mobilní aplikace přes Bluetooth. Abychom tomuto projektu dodali trochu vkusu, přidali jsme některé funkce, které umožňují uživateli vybrat barvu osvětlení ze seznamu barev obsažených v rozhraní aplikace. Může také aktivovat „automatický mix“pro generování barevných efektů a změnu osvětlení každou půl sekundu. Uživatel si může vytvořit vlastní mix barev pomocí funkce PWM, kterou lze také použít jako stmívač pro tři základní barvy (červená, zelená, modrá). Do obvodu jsme také přidali externí tlačítka, aby se uživatel mohl přepnout do manuálního režimu a změnit barvu světla z externího tlačítka.

Tento Instructable se skládá ze dvou částí; design GreenPAK ™ a design aplikace pro Android. Design GreenPAK je založen na použití rozhraní UART pro komunikaci. UART je vybrán, protože je podporován většinou modulů Bluetooth, stejně jako většina dalších periferií, jako jsou moduly WIFI. V důsledku toho lze design GreenPAK použít v mnoha typech připojení.

K vybudování tohoto projektu použijeme SLG46620 CMIC, modul Bluetooth a RGB LED. GreenPAK IC bude kontrolním jádrem tohoto projektu; přijímá data z modulu Bluetooth a/nebo externích tlačítek, poté zahájí požadovaný postup pro zobrazení správného osvětlení. Rovněž generuje signál PWM a odesílá jej do LED. Obrázek 1 níže zobrazuje blokové schéma.

Zařízení GreenPAK použité v tomto projektu obsahuje rozhraní pro připojení SPI, bloky PWM, FSM a spoustu dalších užitečných dalších bloků v jednom IC. Vyznačuje se také malými rozměry a nízkou spotřebou energie. To umožní výrobcům vybudovat malý praktický obvod pomocí jediného integrovaného obvodu, takže výrobní náklady budou ve srovnání s podobnými systémy minimalizovány.

V tomto projektu ovládáme jednu RGB LED. Aby byl projekt komerčně životaschopný, systém by pravděpodobně potřeboval zvýšit úroveň svítivosti paralelním zapojením mnoha LED a použitím příslušných tranzistorů; je třeba vzít v úvahu také napájecí obvod.

Můžete projít všemi kroky, abyste pochopili, jak byl čip GreenPAK naprogramován pro ovládání RGB LED barvy přes Bluetooth. Pokud však chcete jednoduše snadno naprogramovat IC, aniž byste porozuměli všem vnitřním obvodům, stáhněte si software GreenPAK a zobrazte již dokončený soubor návrhu GreenPAK. Připojte vývojovou sadu GreenPAK k počítači a spusťte program a vytvořte si vlastní integrovaný obvod pro ovládání RGB LED barvy přes Bluetooth.

Design GreenPAK se skládá z přijímače UART, jednotky PWM a řídicí jednotky popsané v následujících krocích.

Krok 1: Přijímač UART

Přijímač UART
Přijímač UART

Nejprve musíme nastavit modul Bluetooth. Většina integrovaných obvodů Bluetooth podporuje pro komunikaci protokol UART. UART je zkratka pro Universal Asynchronous Receiver / Transmitter. UART dokáže převádět data tam a zpět mezi paralelními a sériovými formáty. Obsahuje přijímač sériového na paralelní a převodník paralelního na sériový, které jsou oba taktovány samostatně.

Data přijatá v modulu Bluetooth budou přenesena do našeho zařízení GreenPAK. Pohotovostní stav pro Pin10 je VYSOKÝ. Každý odeslaný znak začíná logickým LOW start bitem, za ním následuje konfigurovatelný počet datových bitů a jeden nebo více logických HIGH stop bitů.

UART vysílač vysílá 1 START bit, 8 datových bitů a jeden STOP bit. Výchozí přenosová rychlost pro modul UART Bluetooth je obvykle 9600. Datový bajt odešleme z Bluetooth IC do bloku SPI GreenPAK ™ SLG46620.

Protože blok GreenPAK SPI nemá bitové ovládání START nebo STOP, použijeme místo toho tyto bity k povolení a zakázání hodinového signálu SPI (SCLK). Když Pin10 přejde na NÍZKOU, víme, že jsme obdrželi bit START, takže k identifikaci začátku komunikace používáme detektor sestupné hrany PDLY. Tento detektor sestupné hrany taktuje DFF0, což umožňuje signálu SCLK taktovat blok SPI.

Naše přenosová rychlost je 9600 bitů za sekundu, takže naše SCLK perioda musí být 1/9600 = 104 μs. Proto jsme nastavili frekvenci OSC na 2MHz a jako dělič frekvence jsme použili CNT0.

2 MHz-1 = 0,5 μs

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

Proto chceme, aby hodnota čítače CNT0 byla 207. Abychom zajistili, že nám žádná data neuniknou, musíme zpoždění hodin SPI o půl hodinového cyklu, aby byl blok SPI taktován ve správný čas. Toho jsme dosáhli použitím CNT6, 2bitového LUT1 a externích hodin bloku OSC. Produkce CNT6 se nezvyšuje, dokud 52 μs po taktování DFF0, což je polovina naší 104 μs periody SCLK. Když je CNT6 vysoká, 2bitová brána LUT1 AND umožňuje 2MHz OSC signálu projít do EXT. Vstup CLK0, jehož výstup je připojen k CNT0.

Krok 2: PWM jednotka

Jednotka PWM
Jednotka PWM

Signál PWM je generován pomocí PWM0 a přidruženého generátoru hodinových hodin (CNT8/DLY8). Vzhledem k tomu, že šířka pulsu je uživatelsky kontrolovatelná, používáme k počítání uživatelských dat FSM0 (který lze připojit k PWM0).

V SLG46620 lze 8bitový FSM1 použít s PWM1 a PWM2. Modul Bluetooth musí být připojen, což znamená, že musí být použit paralelní výstup SPI. Paralelní výstupní bity SPI 0 až 7 jsou muxovány pomocí DCMP1, DMCP2 a OUT1 a OUT0 LF OSC CLK. PWM0 získává svůj výstup z 16bitového FSM0. Pokud se nezmění, dojde k přetížení šířky pulzu. Chcete -li omezit hodnotu čítače na 8 bitů, přidá se další FSM; FSM1 se používá jako ukazatel, aby věděl, kdy čítač dosáhne buď 0 nebo 255. FSM0 se používá ke generování PWM impulsu. FSM0 a FSM1 musí být synchronizovány. Protože oba FSM mají přednastavené možnosti hodin, CNT1 a CNT3 se používají jako zprostředkovatelé pro předávání CLK do obou FSM. Dva čítače jsou nastaveny na stejnou hodnotu, což je 25 pro tento Instructable. Měníme rychlost změny hodnoty PWM změnou těchto hodnot čítačů.

Hodnota FSM je zvýšena a snížena signály '+' a '-', které pocházejí z paralelního výstupu SPI.

Krok 3: Řídicí jednotka

Řídící jednotka
Řídící jednotka

V řídicí jednotce je přijatý bajt převzat z modulu Bluetooth do paralelního výstupu SPI a poté předán do přidružených funkcí. Nejprve se zkontrolují výstupy PWM CS1 a PWM CS2, aby se zjistilo, zda je vzor PWM aktivován nebo ne. Pokud je aktivován, pak určí, který kanál bude vydávat PWM prostřednictvím LUT4, LUT6 a LUT7.

LUT9, LUT11 a LUT14 jsou zodpovědné za kontrolu stavu dalších dvou LED diod. LUT10, LUT12 a LUT13 kontrolují, zda je aktivováno tlačítko Manual nebo ne. Pokud je aktivní manuální režim, pak výstupy RGB fungují podle výstupních stavů D0, D1, D2, které se mění při každém stisknutí tlačítka Color. Mění se s náběžnou hranou pocházející z CNT9, který se používá jako odhalovač stoupajících hran.

Pin 20 je konfigurován jako vstup a slouží k přepínání mezi ručním a Bluetooth ovládáním.

Pokud je manuální režim deaktivován a je aktivován režim automatického míchání, pak se barva mění každých 500 ms se stoupající hranou přicházející z CNT7. K zabránění stavu „000“pro D0 D1 D2 se používá 4bitový LUT1, protože tento stav způsobí zhasnutí světla v režimu automatického míchání.

Pokud není aktivován režim Manual, PWM a Auto mixer, pak červené, zelené a modré SPI příkazy proudí na piny 12, 13 a 14, které jsou konfigurovány jako výstupy a jsou připojeny k externí RGB LED.

DFF1, DFF2 a DFF3 se používají k sestavení 3bitového binárního čítače. Hodnota čítače se zvyšuje s pulsy CNT7, které procházejí P14 v režimu automatického směšovače, nebo ze signálů přicházejících z tlačítka Barva (PIN3) v ručním režimu.

Krok 4: Aplikace pro Android

Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android
Aplikace pro Android

V této sekci vytvoříme aplikaci pro Android, která bude monitorovat a zobrazovat výběr ovládání uživatele. Rozhraní se skládá ze dvou částí: první část obsahuje sadu tlačítek, která mají předdefinované barvy, takže při stisknutí kteréhokoli z těchto tlačítek se rozsvítí LED dioda stejné odpovídající barvy. Druhá část (čtverec MIX) vytváří pro uživatele smíšenou barvu.

V první části si uživatel vybere LED kolík, kterým chce projít signál PWM; signál PWM může být předán pouze na jeden pin současně. Dolní seznam ovládá další dvě barvy logicky zapnuto/vypnuto během režimu PWM.

Tlačítko automatického mixéru je zodpovědné za spuštění vzoru automatické výměny světla, kde se světlo mění každou půl sekundu. Sekce MIX obsahuje dva seznamy zaškrtávacích políček, takže se uživatel může rozhodnout, které dvě barvy smíchat dohromady.

Aplikaci jsme vytvořili pomocí webu vynálezce aplikace MIT. Je to web, který umožňuje vytváření aplikací pro Android bez předchozí zkušenosti se softwarem pomocí grafických softwarových bloků.

Nejprve jsme navrhli grafické rozhraní přidáním sady tlačítek odpovědných za zobrazení předdefinovaných barev, přidali jsme také dva seznamy zaškrtávacích políček a každý seznam má 3 prvky; každý prvek je popsán v jeho samostatném rámečku, jak je znázorněno na obrázku 5.

Tlačítka v uživatelském rozhraní jsou propojena se softwarovými příkazy: všechny příkazy, které aplikace odešle přes Bluetooth, budou v bajtovém formátu a každý bit odpovídá za konkrétní funkci. Tabulka 1 ukazuje formu rámců příkazů odeslaných do GreenPAK.

První tři bity, B0, B1 a B2, budou udržovat stav RGB LED v režimu přímého ovládání pomocí tlačítek předdefinovaných barev. Po kliknutí na kterýkoli z nich se tedy odešle odpovídající hodnota tlačítka, jak ukazuje tabulka 2.

Bity B3 a B4 obsahují příkazy '+' a '-', které jsou zodpovědné za zvětšování a zmenšování šířky impulsu. Po stisknutí tlačítka bude bitová hodnota 1 a po uvolnění tlačítka bude bitová hodnota 0.

Bity B5 a B6 jsou zodpovědné za výběr pinu (barvy), kterým bude signál PWM procházet: označení barev těchto bitů je uvedeno v tabulce 3. Poslední bit, B7, je zodpovědný za aktivaci automatického mixéru.

Obrázek 6 a obrázek 7 ukazují proces propojení tlačítek s programovacími bloky, které jsou zodpovědné za odeslání předchozích hodnot.

Chcete -li sledovat úplný design aplikace, můžete si stáhnout přiložený soubor „.aia“se soubory projektu a otevřít jej na hlavním webu.

Obrázek 8 níže ukazuje schéma zapojení nejvyšší úrovně.

Krok 5: Výsledky

Ovladač byl úspěšně testován a bylo prokázáno, že míchání barev spolu s dalšími funkcemi funguje správně.

Závěr

V tomto Instructable byl vytvořen obvod inteligentní žárovky, který lze bezdrátově ovládat aplikací pro Android. GreenPAK CMIC použitý v tomto projektu také pomohl zkrátit a vložit několik základních komponent pro ovládání světla do jednoho malého IC.

Doporučuje: