Tartalomjegyzék:

DIY vezérlés RGB LED szín Bluetooth -on keresztül: 5 lépés
DIY vezérlés RGB LED szín Bluetooth -on keresztül: 5 lépés

Videó: DIY vezérlés RGB LED szín Bluetooth -on keresztül: 5 lépés

Videó: DIY vezérlés RGB LED szín Bluetooth -on keresztül: 5 lépés
Videó: Amazing Light Effects With VU Meter Using RGB LED 2024, Július
Anonim
DIY vezérlés RGB LED szín Bluetooth -on keresztül
DIY vezérlés RGB LED szín Bluetooth -on keresztül

Az intelligens izzók népszerűsége az utóbbi időben egyre nagyobb, és folyamatosan az intelligens otthon eszköztárának kulcsfontosságú részévé válnak. Az intelligens izzók lehetővé teszik a felhasználó számára, hogy a felhasználó okostelefonjának speciális alkalmazásán keresztül vezérelje fényét; az izzó be- és kikapcsolható, és a színe megváltoztatható az alkalmazás felületéről. Ebben a projektben egy intelligens izzóvezérlőt építettünk, amelyet kézi gombbal vagy mobilalkalmazással lehet Bluetooth -on keresztül vezérelni. Annak érdekében, hogy ehhez a projekthez némi hangulatot adjunk, néhány olyan funkciót is hozzáadtunk, amelyek lehetővé teszik a felhasználó számára, hogy az alkalmazás felületén szereplő színek listájából kiválasszon egy megvilágítási színt. Aktiválhatja az „automatikus keverést” is, hogy színhatásokat hozzon létre, és fél másodpercenként változtassa meg a megvilágítást. A felhasználó saját színkeveréket hozhat létre a PWM funkció segítségével, amely a három alapszín (piros, zöld, kék) fényerő -szabályozóként is használható. Az áramkörhöz külső gombokat is hozzáadtunk, hogy a felhasználó kézi üzemmódba váltson, és külső gombról megváltoztassa a fény színét.

Ez az utasítás két részből áll; a GreenPAK ™ és az Android -alkalmazások tervezése. A GreenPAK tervezés alapja az UART interfész használata a kommunikációhoz. Az UART -ot azért választották, mert a legtöbb Bluetooth -modul támogatja, valamint a legtöbb periféria, például a WIFI -modulok. Következésképpen a GreenPAK kialakítás számos csatlakozástípusban használható.

Ennek a projektnek az elkészítéséhez az SLG46620 CMIC -t, a Bluetooth modult és az RGB LED -et fogjuk használni. A GreenPAK IC lesz a projekt vezérlő magja; adatokat fogad egy Bluetooth modulból és/vagy külső gombokból, majd megkezdi a megfelelő eljárást a megfelelő megvilágítás megjelenítéséhez. Ezenkívül létrehozza a PWM jelet és továbbítja a LED -nek. Az alábbi 1. ábra a tömbvázlatot mutatja.

A projektben használt GreenPAK eszköz SPI csatlakozási felületet, PWM blokkokat, FSM -t és sok más hasznos kiegészítő blokkot tartalmaz egy IC -ben. Kis mérete és alacsony energiafogyasztása is jellemzi. Ez lehetővé teszi a gyártók számára, hogy egyetlen kis áramkört építsenek egyetlen IC segítségével, így a gyártási költségek minimálisra csökkennek a hasonló rendszerekhez képest.

Ebben a projektben egy RGB LED -et irányítunk. Ahhoz, hogy a projekt kereskedelmi szempontból életképes legyen, egy rendszernek valószínűleg növelnie kell a fényerő szintjét, sok LED párhuzamos csatlakoztatásával és a megfelelő tranzisztorok használatával; a főáramkört is figyelembe kell venni.

Az összes lépésen keresztül megértheti, hogyan programozták a GreenPAK chipet az RGB LED szín Bluetooth -on keresztüli vezérlésére. Ha azonban egyszerűen szeretné programozni az IC -t anélkül, hogy megértené az összes belső áramkört, töltse le a GreenPAK szoftvert a már elkészült GreenPAK tervezési fájl megtekintéséhez. Csatlakoztassa a GreenPAK fejlesztőkészletet a számítógépéhez, és nyomja meg a programot, hogy létrehozza az egyéni IC -t az RGB LED -színek Bluetooth -on keresztüli vezérléséhez.

A GreenPAK kialakítása az alábbi lépésekben leírt UART vevőegységből, PWM egységből és vezérlőegységből áll.

1. lépés: UART vevő

UART vevő
UART vevő

Először is be kell állítanunk a Bluetooth modult. A legtöbb Bluetooth IC támogatja az UART protokollt a kommunikációhoz. Az UART jelentése univerzális aszinkron vevő / adó. Az UART képes oda -vissza konvertálni az adatokat a párhuzamos és soros formátumok között. Tartalmaz egy soros -párhuzamos vevőt és egy párhuzamos -soros átalakítót, amelyek mindegyikét külön -külön órajelzi.

A Bluetooth modulban kapott adatok továbbítódnak GreenPAK eszközünkre. A Pin10 készenléti állapota HIGH. Minden elküldött karakter egy LOW logikai kezdőbittel kezdődik, amelyet egy konfigurálható számú adatbit és egy vagy több logikai HIGH stop bit követ.

Az UART adó 1 START bitet, 8 adatbitet és 1 STOP bitet küld. Általában az UART Bluetooth modul alapértelmezett adatátviteli sebessége 9600. Az adatbájtokat a Bluetooth IC -ről a GreenPAK ™ SLG46620 SPI blokkjára küldjük.

Mivel a GreenPAK SPI blokk nem rendelkezik START vagy STOP bitvezérléssel, ezeket a biteket fogjuk használni az SPI órajel (SCLK) engedélyezéséhez és letiltásához. Amikor a Pin10 LOW értékre csökken, tudjuk, hogy kaptunk egy START bitet, ezért a PDLY esőél -érzékelőt használjuk a kommunikáció kezdetének azonosítására. A leeső élérzékelő a DFF0 órát mutatja, amely lehetővé teszi az SCLK jelnek az SPI mondat figyelését.

Átviteli sebességünk 9600 bit másodpercenként, tehát az SCLK periódusnak 1/9600 = 104 μs -nak kell lennie. Ezért az OSC frekvenciát 2 MHz -re állítottuk be, és a CNT0 -t használtuk frekvenciaosztóként.

2 MHz-1 = 0,5 μs

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

Ezért azt szeretnénk, ha a CNT0 számláló értéke 207 lenne. Annak biztosítása érdekében, hogy ne hagyjunk ki egyetlen adatot sem, fél órás ciklussal kell késleltetnünk az SPI órát, hogy az SPI blokk a megfelelő időben kerüljön leütésre. Ezt a CNT6, a 2 bites LUT1 és az OSC blokk külső órájának használatával értük el. A CNT6 kimenete nem emelkedik magasra, amíg 52 µs a DFF0 órajele után, ami a 104 μs SCLK periódusunk fele. Ha a CNT6 magas, a 2 bites LUT1 ÉS kapu lehetővé teszi a 2 MHz-es OSC jel átjutását az EXT-be. CLK0 bemenet, amelynek kimenete CNT0 -hoz van csatlakoztatva.

2. lépés: PWM egység

PWM egység
PWM egység

A PWM jelet a PWM0 és a hozzá tartozó óraimpulzus -generátor (CNT8/DLY8) segítségével állítják elő. Mivel az impulzusszélesség a felhasználó által vezérelhető, az FSM0 (amely a PWM0-hoz csatlakoztatható) segítségével számoljuk a felhasználói adatokat.

Az SLG46620-ban a 8 bites FSM1 használható a PWM1 és PWM2 modellekkel. A Bluetooth modult csatlakoztatni kell, ami azt jelenti, hogy az SPI párhuzamos kimenetet kell használni. Az SPI párhuzamos kimeneti bitek 0 és 7 között DCMP1, DMCP2 és az LF OSC CLK OUT1 és OUT0 paraméterei vannak. A PWM0 a kimenetét a 16 bites FSM0-ból nyeri. Változatlanul ez az impulzus szélességének túlterhelését okozza. A számláló értékének 8 bitre történő korlátozásához újabb FSM -t adunk hozzá; Az FSM1 mutatóként szolgál annak megállapítására, hogy a számláló 0 vagy 255 értéket ér el. Az FSM0 a PWM impulzus generálására szolgál. Az FSM0 és FSM1 szinkronizálása szükséges. Mivel mindkét FSM rendelkezik előre beállított óra opciókkal, a CNT1 és a CNT3 közvetítőként szolgál a CLK továbbítására mindkét FSM számára. A két számláló azonos értékre van állítva, ami ennek az utasításnak 25. Ezen számlálóértékek megváltoztatásával megváltoztathatjuk a PWM érték változásának ütemét.

Az FSM értékét növelik és csökkentik a „+” és „-” jelek, amelyek az SPI párhuzamos kimenetből származnak.

3. lépés: Vezérlőegység

Vezérlőegység
Vezérlőegység

A vezérlőegységen belül a fogadott bájt a Bluetooth modulból az SPI párhuzamos kimenetre kerül, majd átkerül a kapcsolódó funkciókhoz. Először a PWM CS1 és PWM CS2 kimeneteket ellenőrzik, hogy a PWM minta aktiválva van -e. Ha aktiválva van, akkor meghatározza, hogy melyik csatorna adja ki a PWM -et a LUT4, LUT6 és LUT7 -en keresztül.

A LUT9, LUT11 és LUT14 felelősek a másik két LED állapotának ellenőrzéséért. Az LUT10, LUT12 és LUT13 ellenőrzi, hogy a kézi gomb aktiválva van -e. Ha a Kézi üzemmód aktív, akkor az RGB kimenetek a D0, D1, D2 kimeneti állapotoknak megfelelően működnek, amelyek a Színes gomb minden megnyomásakor megváltoznak. Változik a növekvő éllel, amely a CNT9 -ből származik, amelyet emelkedő él visszavágóként használnak.

A 20 -as érintkező bemenetként van konfigurálva, és a kézi és a Bluetooth -vezérlés közötti váltásra szolgál.

Ha a kézi üzemmód le van tiltva, és az automatikus keverő üzemmód be van kapcsolva, akkor a szín 500 ms -onként változik, a felszálló él a CNT7 -től érkezik. A 4 bites LUT1 a D0 D1 D2 '000' állapotának megakadályozására szolgál, mivel ez az állapot okozza a fény kikapcsolását automatikus keverő üzemmódban.

Ha a kézi üzemmód, a PWM mód és az automatikus keverő üzemmód nincs aktiválva, akkor a piros, zöld és kék SPI parancsok a 12, 13 és 14 érintkezőkre kerülnek, amelyek kimenetként vannak konfigurálva és a külső RGB LED -hez vannak csatlakoztatva.

A DFF1, DFF2 és DFF3 3 bites bináris számlálót használnak. A számláló értéke nő a CNT7 impulzusokkal, amelyek automatikus keverő üzemmódban áthaladnak a P14 -en, vagy kézi üzemmódban a Színes gomb (PIN3) jelétől.

4. lépés: Android -alkalmazás

Android alkalmazás
Android alkalmazás
Android alkalmazás
Android alkalmazás
Android alkalmazás
Android alkalmazás
Android alkalmazás
Android alkalmazás

Ebben a részben egy Android -alkalmazást fogunk létrehozni, amely figyeli és megjeleníti a felhasználó által kiválasztott beállításokat. A kezelőfelület két részből áll: az első rész egy gombkészletet tartalmaz, amelyek előre meghatározott színekkel rendelkeznek, így a gombok bármelyikének megnyomásakor az azonos színű LED világít. A második szakasz (MIX négyzet) vegyes színt hoz létre a felhasználó számára.

Az első szakaszban a felhasználó kiválasztja azt a LED -tűt, amelyen keresztül szeretné, hogy a PWM -jel áthaladjon; a PWM jel egyszerre csak egy tűre továbbítható. Az alsó lista a másik két színt vezérli logikailag ki/be PWM módban.

Az automatikus keverő gomb felelős az automatikus fényváltási minta futtatásáért, ahol a fény fél másodpercenként változik. A MIX szakasz két jelölőnégyzetlistát tartalmaz, így a felhasználó eldöntheti, melyik két színt keveri össze.

Az alkalmazást az MIT app feltaláló weboldalával készítettük el. Ez egy olyan webhely, amely lehetővé teszi Android -alkalmazások létrehozását, előzetes szoftver tapasztalat nélkül, grafikus szoftverblokkok használatával.

Először egy grafikus felületet terveztünk az előre meghatározott színek megjelenítéséért felelős gombkészlet hozzáadásával, két jelölőnégyzetlistát is hozzáadtunk, és mindegyik lista 3 elemből áll; minden elem az egyes dobozokban van körvonalazva, az 5. ábrán látható módon.

A felhasználói felületen található gombok szoftverparancsokhoz vannak kapcsolva: az alkalmazás Bluetooth -on keresztül küldött összes parancsa bájtformátumban lesz, és minden bit egy bizonyos funkcióért felel. Az 1. táblázat a GreenPAK -nak küldött parancskeret formáját mutatja.

Az első három bit, a B0, a B1 és a B2, az RGB LED -ek állapotát az előre meghatározott színek gombjaival közvetlen vezérlő módban fogja tartani. Így bármelyikükre kattintva a gomb megfelelő értéke kerül elküldésre, amint azt a 2. táblázat mutatja.

A B3 és B4 bitek a „+” és „-” parancsokat tartalmazzák, amelyek felelősek az impulzusszélesség növeléséért és csökkentéséért. A gomb megnyomásakor a bit értéke 1, a gomb elengedésekor a bit értéke 0 lesz.

A B5 és B6 bitek felelősek a tű (szín) kiválasztásáért, amelyen a PWM jel áthalad: ezeknek a biteknek a színjelölései a 3. táblázatban láthatók. Az utolsó bit, B7, felelős az automatikus keverő aktiválásáért.

A 6. és a 7. ábra a gombok és az előző értékek küldéséért felelős programozási blokkok összekapcsolásának folyamatát mutatja be.

Az alkalmazás teljes tervének megtekintéséhez töltse le a mellékelt „.aia” fájlt a projektfájlokkal együtt, és nyissa meg a főoldalon.

Az alábbi 8. ábra a legfelső szintű kapcsolási rajzot mutatja.

5. lépés: Eredmények

A Vezérlőt sikeresen tesztelték, és a színkeverést, valamint más funkciókat, megfelelően bebizonyították.

Következtetés

Ebben az utasításban egy intelligens izzó áramkört építettek fel, hogy egy Android -alkalmazás vezeték nélkül vezérelje. A projektben használt GreenPAK CMIC szintén segített a fényvezérlés számos alapvető összetevőjének lerövidítésében és beágyazásában egy kis IC -be.

Ajánlott: