Obsah:

DIY ovládanie RGB LED farby cez Bluetooth: 5 krokov
DIY ovládanie RGB LED farby cez Bluetooth: 5 krokov

Video: DIY ovládanie RGB LED farby cez Bluetooth: 5 krokov

Video: DIY ovládanie RGB LED farby cez Bluetooth: 5 krokov
Video: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, Júl
Anonim
DIY ovládanie RGB LED farby cez Bluetooth
DIY ovládanie RGB LED farby cez Bluetooth

Inteligentné žiarovky sú v poslednej dobe stále obľúbenejšie a neustále sa stávajú kľúčovou súčasťou sady nástrojov pre inteligentnú domácnosť. Inteligentné žiarovky umožňujú používateľovi ovládať svoje svetlo prostredníctvom špeciálnej aplikácie na jeho inteligentnom telefóne; žiarovku je možné zapnúť a vypnúť a farbu je možné meniť z rozhrania aplikácie. V tomto projekte sme postavili inteligentný ovládač žiarovky, ktorý je možné ovládať pomocou manuálneho tlačidla alebo mobilnej aplikácie cez Bluetooth. Aby sme tomuto projektu dodali atmosféru, pridali sme niekoľko funkcií, ktoré umožňujú používateľovi vybrať si farbu osvetlenia zo zoznamu farieb zahrnutých v rozhraní aplikácie. Môže tiež aktivovať „automatický mix“na generovanie farebných efektov a zmenu osvetlenia každú pol sekundu. Užívateľ si môže vytvoriť svoj vlastný farebný mix pomocou funkcie PWM, ktorú je možné použiť aj ako stmievač pre tri základné farby (červená, zelená, modrá). Do obvodu sme tiež pridali externé tlačidlá, aby sa používateľ mohol prepnúť do manuálneho režimu a zmeniť farbu svetla z externého tlačidla.

Tento návod sa skladá z dvoch častí; dizajn GreenPAK ™ a dizajn aplikácií pre Android. Dizajn GreenPAK je založený na použití rozhrania UART na komunikáciu. UART je vybraný, pretože ho podporuje väčšina modulov Bluetooth, ako aj väčšina ďalších periférnych zariadení, napríklad moduly WIFI. V dôsledku toho môže byť dizajn GreenPAK použitý v mnohých typoch pripojení.

Na výstavbu tohto projektu použijeme SLG46620 CMIC, modul Bluetooth a RGB LED. GreenPAK IC bude kontrolným jadrom tohto projektu; prijíma údaje z modulu Bluetooth a/alebo externých tlačidiel, potom začne požadovaný postup na zobrazenie správneho osvetlenia. Tiež generuje signál PWM a odosiela ho na LED. Obrázok 1 nižšie zobrazuje blokový diagram.

Zariadenie GreenPAK použité v tomto projekte obsahuje rozhranie na pripojenie SPI, bloky PWM, FSM a mnoho ďalších užitočných doplnkových blokov v jednom IC. Vyznačuje sa tiež malou veľkosťou a nízkou spotrebou energie. To umožní výrobcom vybudovať malý praktický obvod pomocou jediného integrovaného obvodu, takže výrobné náklady budú v porovnaní s podobnými systémami minimalizované.

V tomto projekte ovládame jednu RGB LED. Aby bol projekt komerčne životaschopný, systém by pravdepodobne potreboval zvýšiť úroveň svietivosti paralelným zapojením mnohých diód LED a použitím príslušných tranzistorov; je potrebné vziať do úvahy aj napájací obvod.

Môžete prejsť všetkými krokmi, aby ste pochopili, ako bol čip GreenPAK naprogramovaný na ovládanie farby RGB LED cez Bluetooth. Ak však chcete jednoducho naprogramovať IC bez porozumenia všetkým vnútorným obvodom, stiahnite si softvér GreenPAK a zobrazte už dokončený súbor GreenPAK Design File. Pripojte vývojovú súpravu GreenPAK k počítaču a spustite program, aby ste vytvorili vlastný integrovaný obvod na ovládanie farby RGB LED cez Bluetooth.

Dizajn GreenPAK pozostáva z prijímača UART, jednotky PWM a riadiacej jednotky popísanej v nižšie uvedených krokoch.

Krok 1: Prijímač UART

Prijímač UART
Prijímač UART

Najprv musíme nastaviť modul Bluetooth. Väčšina integrovaných obvodov Bluetooth podporuje 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 module Bluetooth budú odoslané do nášho zariadenia GreenPAK. Pohotovostný stav pre Pin10 je VYSOKÝ. Každý odoslaný znak začína logickým LOW štartovacím bitom, za ktorým nasleduje konfigurovateľný počet dátových bitov a jeden alebo viac logických HIGH stop bitov.

UART vysielač vysiela 1 START bit, 8 dátových bitov a jeden STOP bit. Predvolená prenosová rýchlosť pre modul Bluetooth UART je zvyčajne 9600. Dátový bajt odošleme z Bluetooth IC do bloku SPI zariadenia GreenPAK ™ SLG46620.

Pretože blok GreenPAK SPI nemá bitové ovládanie START alebo STOP, použijeme tieto bity namiesto toho na povolenie a zakázanie hodinového signálu SPI (SCLK). Keď Pin10 prejde na NÍZKU, vieme, že sme dostali 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 sme zaistili, že nám neuniknú žiadne údaje, musíme oneskoriť hodiny SPI o pol hodinový cyklus, aby sa blok SPI taktoval v správnom čase. Dosiahli sme to pomocou CNT6, 2-bitového LUT1 a externých hodín bloku OSC. Produkcia CNT6 neklesne vysoko, kým 52 μs po taktovaní DFF0, čo je polovica našej 104 μs periódy SCLK. Keď je CNT6 vysoký, 2-bitová brána LUT1 AND umožňuje 2MHz OSC signálu prejsť do EXT. Vstup CLK0, ktorého výstup je pripojený k CNT0.

Krok 2: Jednotka PWM

Jednotka PWM
Jednotka PWM

Signál PWM je generovaný pomocou PWM0 a priradeného generátora hodinových impulzov (CNT8/DLY8). Pretože šírku impulzu môže ovládať používateľ, na počítanie užívateľských údajov používame FSM0 (ktorý je možné pripojiť k PWM0).

V SLG46620 je možné 8-bitový FSM1 použiť 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 sú zmiešané s DCMP1, DMCP2 a OUT1 a OUT0 LF OSC CLK. PWM0 získava svoj výstup zo 16-bitového FSM0. Ak zostanú nezmenené, dôjde k preťaženiu šírky impulzu. Na obmedzenie hodnoty počítadla na 8 bitov sa pridá ďalší FSM; FSM1 sa používa ako ukazovateľ na zistenie, kedy počítadlo dosiahne buď 0 alebo 255. FSM0 sa používa na generovanie impulzu PWM. FSM0 a FSM1 musia byť synchronizované. Pretože oba FSM majú prednastavené možnosti hodín, CNT1 a CNT3 sa používajú ako mediátory na prenos CLK do oboch FSM. Dva počítadlá sú nastavené na rovnakú hodnotu, ktorá je 25 pre tento Instructable. Rýchlosť zmeny hodnoty PWM môžeme zmeniť zmenou týchto hodnôt počítadla.

Hodnota FSM sa zvyšuje a znižuje pomocou signálov '+' a '-', ktoré pochádzajú z paralelného výstupu SPI.

Krok 3: Riadiaca jednotka

Kontrolná jednotka
Kontrolná jednotka

V rámci riadiacej jednotky je prijatý bajt prevzatý z modulu Bluetooth do paralelného výstupu SPI a potom je odoslaný do súvisiacich funkcií. Najprv sa skontrolujú výstupy PWM CS1 a PWM CS2, aby sa zistilo, či je vzor PWM aktivovaný alebo nie. Ak je aktivovaný, potom určí, ktorý kanál bude vydávať PWM cez LUT4, LUT6 a LUT7.

LUT9, LUT11 a LUT14 sú zodpovedné za kontrolu stavu ďalších dvoch LED diód. LUT10, LUT12 a LUT13 kontrolujú, či je tlačidlo Manual aktivované alebo nie. Ak je aktívny manuálny režim, potom výstupy RGB fungujú podľa stavov výstupu D0, D1, D2, ktoré sa menia pri každom stlačení tlačidla Farebne. Mení sa to so stúpajúcou hranou pochádzajúcou z CNT9, ktorá sa používa ako odstraňovač stúpajúcich okrajov.

Pin 20 je nakonfigurovaný ako vstup a slúži na prepínanie medzi manuálnym a Bluetooth ovládaním.

Ak je manuálny režim deaktivovaný a je aktivovaný režim automatického mixéra, farba sa mení každých 500 ms so stúpajúcou hranou pochádzajúcou z CNT7. Na zabránenie stavu „000“pre D0 D1 D2 sa používa 4-bitový LUT1, pretože tento stav spôsobuje, že sa svetlo vypne v režime automatického miešania.

Ak nie je aktivovaný manuálny režim, režim PWM a režim automatického mixéra, potom červené, zelené a modré SPI príkazy prúdia na piny 12, 13 a 14, ktoré sú konfigurované ako výstupy a sú pripojené k externej RGB LED.

DFF1, DFF2 a DFF3 sa používajú na zostavenie 3-bitového binárneho počítadla. Hodnota počítadla sa zvyšuje s impulzmi CNT7, ktoré prechádzajú cez P14 v režime automatického mixéra, alebo zo signálov prichádzajúcich z farebného tlačidla (PIN3) v manuálnom režime.

Krok 4: 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
Aplikácia pre Android

V tejto sekcii vytvoríme aplikáciu pre Android, ktorá bude monitorovať a zobrazovať výbery ovládacích prvkov používateľa. Rozhranie pozostáva z dvoch sekcií: prvá časť obsahuje sadu tlačidiel, ktoré majú preddefinované farby, takže keď stlačíte ktorékoľvek z týchto tlačidiel, rozsvieti sa LED dióda rovnakej zodpovedajúcej farby. Druhá časť (štvorec MIX) vytvára pre užívateľa zmiešanú farbu.

V prvej časti si užívateľ vyberie LED kolík, cez ktorý má prejsť signál PWM; signál PWM je možné súčasne prenášať iba na jeden pin. V dolnom zozname sa logicky zapínajú a vypínajú ostatné dve farby počas režimu PWM.

Tlačidlo automatického mixéra je zodpovedné za chod vzoru automatickej výmeny svetla, pri ktorom sa svetlo mení každú pol sekundu. Sekcia MIX obsahuje dva zoznamy začiarkavacích políčok, aby sa používateľ mohol rozhodnúť, ktoré dve farby zmieša.

Aplikáciu sme vytvorili pomocou webovej stránky vynálezcu aplikácie MIT. Je to web, ktorý umožňuje vytváranie aplikácií pre Android bez predchádzajúcej skúsenosti so softvérom pomocou grafických softvérových blokov.

Najprv sme navrhli grafické rozhranie pridaním sady tlačidiel zodpovedných za zobrazenie preddefinovaných farieb, pridali sme tiež dva zoznamy začiarkavacích políčok a každý zoznam má 3 prvky; každý prvok je načrtnutý v jeho samostatnom poli, ako je znázornené na obrázku 5.

Tlačidlá v používateľskom rozhraní sú prepojené so softvérovými príkazmi: všetky príkazy, ktoré aplikácia pošle cez Bluetooth, budú v bajtovom formáte a každý bit zodpovedá za konkrétnu funkciu. Tabuľka 1 zobrazuje formu rámcov príkazov odoslaných do GreenPAK.

Prvé tri bity, B0, B1 a B2, budú udržiavať stav LED diód RGB v režime priameho ovládania pomocou tlačidiel preddefinovaných farieb. Po kliknutí na ktorýkoľvek z nich sa teda odošle zodpovedajúca hodnota tlačidla, ako je uvedené v tabuľke 2.

Bity B3 a B4 obsahujú príkazy „+“a „-“, ktoré sú zodpovedné za zväčšovanie a zmenšovanie šírky impulzu. Po stlačení tlačidla bude bitová hodnota 1 a po uvoľnení tlačidla bude bitová hodnota 0.

Bity B5 a B6 sú zodpovedné za výber pinu (farby), cez ktorý bude prechádzať signál PWM: farebné označenia týchto bitov sú uvedené v tabuľke 3. Posledný bit, B7, je zodpovedný za aktiváciu automatického mixéra.

Obrázky 6 a 7 znázorňujú proces prepojenia tlačidiel s programovacími blokmi, ktoré sú zodpovedné za odosielanie predchádzajúcich hodnôt.

Ak si chcete pozrieť úplný vzhľad aplikácie, môžete si stiahnuť priložený súbor „.aia“so súbormi projektu a otvoriť ho na hlavnom webe.

Na nižšie uvedenom obrázku 8 je schéma zapojenia najvyššej úrovne.

Krok 5: Výsledky

Ovládač bol úspešne testovaný a ukázalo sa, že miešanie farieb spolu s ďalšími funkciami funguje správne.

Záver

V tomto návode bol vybudovaný obvod inteligentnej žiarovky na bezdrôtové ovládanie aplikáciou pre Android. GreenPAK CMIC použitý v tomto projekte tiež pomohol skrátiť a vložiť niekoľko základných komponentov pre ovládanie svetla do jedného malého IC.

Odporúča: