Sisukord:

Isetegemise juhtimine RGB LED -värv Bluetoothi kaudu: 5 sammu
Isetegemise juhtimine RGB LED -värv Bluetoothi kaudu: 5 sammu

Video: Isetegemise juhtimine RGB LED -värv Bluetoothi kaudu: 5 sammu

Video: Isetegemise juhtimine RGB LED -värv Bluetoothi kaudu: 5 sammu
Video: 40 полезных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #7 2024, Juuli
Anonim
DIY juhtimine RGB LED värv Bluetoothi kaudu
DIY juhtimine RGB LED värv Bluetoothi kaudu

Nutipirnide populaarsus on viimasel ajal kasvanud ja neist on pidevalt saamas nutika kodu tööriistakomplekti põhiosa. Nutikad pirnid võimaldavad kasutajal oma valgust juhtida kasutaja nutitelefoni spetsiaalse rakenduse kaudu; pirni saab sisse ja välja lülitada ning värvi muuta rakenduse liidesest. Selle projekti raames ehitasime nutika pirnikontrolleri, mida saab juhtida käsitsi nupust või mobiilirakendusest Bluetoothi kaudu. Sellele projektile elegantsi lisamiseks oleme lisanud mõned funktsioonid, mis võimaldavad kasutajal valida rakenduse liideses sisalduvate värvide loendist valgustusvärvi. See võib aktiveerida ka automaatse segamise, et luua värviefekte ja muuta valgustust iga poole sekundi tagant. Kasutaja saab luua oma värvisegu PWM -funktsiooni abil, mida saab kasutada ka kolme põhivärvi (punane, roheline, sinine) dimmerina. Lisasime ahelasse ka väliseid nuppe, et kasutaja saaks lülituda käsitsi režiimile ja muuta välise nupu valguse värvi.

See juhend sisaldab kahte jaotist; GreenPAK ™ ja Androidi rakenduste disain. GreenPAK -i disain põhineb suhtlemisel UART -liidese kasutamisel. UART on valitud seetõttu, et seda toetavad enamik Bluetooth -mooduleid, aga ka enamik teisi välisseadmeid, näiteks WIFI -moodulid. Järelikult saab GreenPAK disaini kasutada mitut tüüpi ühendustes.

Selle projekti loomiseks kasutame SLG46620 CMIC -d, Bluetooth -moodulit ja RGB -LED -i. GreenPAK IC saab olema selle projekti juhtimise tuum; ta võtab andmeid Bluetooth -moodulilt ja/või välisnuppudelt, seejärel alustab õige valgustuse kuvamiseks vajalikku protseduuri. Samuti genereerib see PWM -signaali ja väljastab selle LED -ile. Joonis 1 näitab plokkskeemi.

Selles projektis kasutatav GreenPAK -seade sisaldab SPI -ühenduse liidest, PWM -plokke, FSM -i ja palju muid kasulikke lisaplokke ühes IC -s. Seda iseloomustab ka selle väike suurus ja väike energiatarve. See võimaldab tootjatel ehitada väikese praktilise vooluringi, kasutades ühte IC -d, seega on tootmiskulud sarnaste süsteemidega võrreldes minimaalsed.

Selles projektis juhime ühte RGB LED -i. Projekti äriliselt elujõuliseks muutmiseks peaks süsteem tõenäoliselt suurendama heledustaset, ühendades paralleelselt palju LED -e ja kasutades sobivaid transistore; tuleb arvestada ka toiteahelaga.

Saate läbida kõik sammud, et mõista, kuidas GreenPAK kiip on programmeeritud juhtima RGB LED -värvi Bluetoothi kaudu. Kui aga soovite lihtsalt IC -d hõlpsalt programmeerida, mõistmata kogu sisemist vooluringi, laadige GreenPAK -i tarkvara alla, et vaadata juba valmis GreenPAK -i disainifaili. Ühendage GreenPAK arenduskomplekt arvutiga ja klõpsake programmi, et luua kohandatud IC, et juhtida RGB LED -värvi Bluetoothi kaudu.

GreenPAK -i disain koosneb UART -vastuvõtjast, PWM -seadmest ja juhtseadmest, mida on kirjeldatud allpool.

Samm: UART -vastuvõtja

UART vastuvõtja
UART vastuvõtja

Esiteks peame seadistama Bluetooth -mooduli. Enamik Bluetooth -IC -sid toetavad suhtlemiseks UART -protokolli. UART tähistab universaalset asünkroonset vastuvõtjat / saatjat. UART saab teisendada andmeid edasi -tagasi paralleel- ja jadavormingu vahel. See sisaldab jada -paralleelset vastuvõtjat ja paralleelset jadamuundurit, mis mõlemad on eraldi kellaga.

Bluetooth -moodulisse vastuvõetud andmed edastatakse meie GreenPAK -seadmesse. Pin10 jõudeolek on HIGH. Iga saadetud märk algab loogilise LOW algusbitiga, millele järgneb seadistatav arv andmebitte ja üks või mitu loogilist HIGH stopp -bitti.

UART -saatja saadab 1 START -bitti, 8 andmebitti ja ühe STOP -bitti. Tavaliselt on UART Bluetooth -mooduli andmeedastuskiirus vaikimisi 9600. Saadame andmebaiti Bluetooth -i IC -lt GreenPAK ™ SLG46620 SPI -plokile.

Kuna GreenPAK SPI plokil pole START- ega STOP -bittide juhtimist, kasutame neid bitte SPI kella signaali (SCLK) lubamiseks ja keelamiseks. Kui Pin10 läheb LOW, teame, et oleme saanud START -bitti, seega kasutame side alguse tuvastamiseks PDLY langeva serva detektorit. See langeva serva detektor kellatab DFF0, mis võimaldab SCLK -signaalil SPI -ploki kella panna.

Meie andmeedastuskiirus on 9600 bitti sekundis, seega peab meie SCLK periood olema 1/9600 = 104 μs. Seetõttu seadsime OSC sageduseks 2MHz ja kasutasime sagedusjaoturina CNT0.

2 MHz-1 = 0,5 μs

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

Seetõttu soovime, et CNT0 loenduri väärtus oleks 207. Selleks et me ei jätaks ühtegi teavet vahele, peame SPI -kella poole tsükli võrra edasi lükkama, et SPI -plokk oleks õigel kellaajal. Me saavutasime selle, kasutades CNT6, 2-bitist LUT1 ja OSC ploki välist kella. CNT6 väljund tõuseb kõrgele alles 52 μs pärast DFF0 kellaaega, mis on pool meie 104 μs SCLK perioodist. Kui CNT6 on kõrge, võimaldab 2-bitine LUT1 AND värav 2MHz OSC signaali edastada EXT-sse. CLK0 sisend, mille väljund on ühendatud CNT0 -ga.

2. samm: PWM -seade

PWM ühik
PWM ühik

PWM -signaali genereerimiseks kasutatakse PWM0 ja sellega seotud kellaimpulsi generaatorit (CNT8/DLY8). Kuna impulsi laius on kasutaja juhitav, kasutame kasutajaandmete loendamiseks FSM0 (mida saab ühendada PWM0-ga).

SLG46620 saab 8-bitist FSM1 kasutada koos PWM1 ja PWM2-ga. Bluetooth -moodul peab olema ühendatud, mis tähendab, et tuleb kasutada SPI paralleelset väljundit. SPI paralleelsed väljundbittid 0 kuni 7 segatakse DCMP1, DMCP2 ja LF OSC CLK OUT1 ja OUT0 abil. PWM0 saab oma väljundi 16-bitisest FSM0-st. Kui seda ei muudeta, põhjustab impulsi laiuse ülekoormus. Loenduri väärtuse piiramiseks 8 bitti lisatakse teine FSM; FSM1 kasutatakse kursorina, et teada saada, millal loendur jõuab kas 0 või 255. FSM0 kasutatakse PWM impulsi genereerimiseks. FSM0 ja FSM1 tuleb sünkroonida. Kuna mõlemal FSM -il on eelseadistatud kellavalikud, kasutatakse CNT1 ja CNT3 vahendajatena CLK edastamiseks mõlemale FSM -ile. Mõlemad loendurid on seatud samale väärtusele, mis on selle juhendi jaoks 25. Neid loenduri väärtusi muutes saame muuta PWM väärtuse muutumise kiirust.

Mikroneesia väärtusi suurendavad ja vähendavad signaalid „+” ja „-”, mis pärinevad SPI paralleelsest väljundist.

3. samm: juhtseade

Juhtseade
Juhtseade

Juhtimisseadmes võetakse vastuvõetud bait Bluetooth -moodulist SPI paralleelväljundisse ja seejärel edastatakse sellega seotud funktsioonidele. Alguses kontrollitakse PWM CS1 ja PWM CS2 väljundeid, et näha, kas PWM muster on aktiveeritud või mitte. Kui see on aktiveeritud, määrab see kindlaks, milline kanal väljastab PWM -i läbi LUT4, LUT6 ja LUT7.

LUT9, LUT11 ja LUT14 vastutavad ülejäänud kahe LED -i oleku kontrollimise eest. LUT10, LUT12 ja LUT13 kontrollivad, kas nupp Käsitsi on aktiveeritud või mitte. Kui manuaalne režiim on aktiivne, siis RGB väljundid töötavad vastavalt väljundseisunditele D0, D1, D2, mis muutuvad iga kord, kui vajutatakse värvinuppu. See muutub koos tõusva servaga, mis pärineb CNT9 -st, mida kasutatakse tõusva serva tagasilöögina.

Tihvt 20 on konfigureeritud sisendiks ja seda kasutatakse käsitsi juhtimise ja Bluetooth -juhtimise vahel vahetamiseks.

Kui käsitsi režiim on keelatud ja automaatse mikseri režiim on aktiveeritud, muutub värv iga 500 ms järel, kui tõusev serv tuleb CNT7 -st. 4-bitist LUT1 kasutatakse, et vältida D0 D1 D2 olekut '000', kuna see olek põhjustab valguse automaatse segaja režiimis kustumise.

Kui käsitsi režiim, PWM -režiim ja automaatse mikseri režiim ei ole aktiveeritud, liiguvad punased, rohelised ja sinised SPI -käsud tihvtidele 12, 13 ja 14, mis on konfigureeritud väljunditeks ja on ühendatud välise RGB -LED -iga.

DFF1, DFF2 ja DFF3 kasutatakse 3-bitise kahendloenduri loomiseks. Loenduri väärtus suureneb CNT7 impulssidega, mis läbivad automaatse mikseri režiimis P14, või käsitsi režiimis värvinupult (PIN3) tulevate signaalidega.

Samm: Androidi rakendus

Androidi rakendus
Androidi rakendus
Androidi rakendus
Androidi rakendus
Androidi rakendus
Androidi rakendus
Androidi rakendus
Androidi rakendus

Selles jaotises ehitame Androidi rakenduse, mis jälgib ja kuvab kasutaja juhtimisvalikuid. Liides koosneb kahest osast: esimene jaotis sisaldab nuppe, millel on eelnevalt määratletud värvid, nii et kui mõnda neist nuppudest vajutada, süttib sama värvi LED. Teine sektsioon (ruut MIX) loob kasutajale segatud värvi.

Esimeses osas valib kasutaja LED -tihvti, millest ta tahab, et PWM -signaal läbiks; PWM -signaali saab korraga edastada ainult ühele kontaktile. Alumine loend juhib PWM -režiimi ajal kahte teist värvi loogiliselt sisse/välja.

Automaatse mikseri nupp vastutab automaatse valguse muutmise mustri käivitamise eest, kus valgus muutub iga poole sekundi tagant. Jaotis MIX sisaldab kahte märkeruutude loendit, et kasutaja saaks otsustada, milliseid kahte värvi kokku segada.

Rakenduse ehitasime MIT rakenduse leiutaja veebisaidi abil. See on sait, mis võimaldab graafiliste tarkvaraplokkide abil luua Androidi rakendusi ilma eelneva tarkvarakogemuseta.

Esialgu kujundasime graafilise liidese, lisades eelnevalt määratletud värvide kuvamise eest vastutavate nuppude komplekti, lisasime ka kaks märkeruutu ja igas loendis on 3 elementi; iga element on välja toodud eraldi kastis, nagu on näidatud joonisel 5.

Kasutajaliideses olevad nupud on seotud tarkvarakäskudega: kõik käsud, mille rakendus Bluetoothi kaudu saadab, on baitvormingus ja iga bitt vastutab konkreetse funktsiooni eest. Tabelis 1 on näidatud GreenPAKile saadetud käsuraamide vorm.

Esimesed kolm bitti, B0, B1 ja B2, hoiavad RGB valgusdioodide olekut otsejuhtimisrežiimis, kasutades eelnevalt määratletud värvide nuppe. Seega, kui klõpsate mõnel neist, saadetakse nupu vastav väärtus, nagu on näidatud tabelis 2.

Bittidel B3 ja B4 on käsud „+” ja „-”, mis vastutavad impulsi laiuse suurendamise ja vähendamise eest. Nupu vajutamisel on biti väärtus 1 ja nupu vabastamisel 0.

Bitid B5 ja B6 vastutavad PWM -signaali läbiva tihvti (värvi) valimise eest: nende bittide värvitähised on toodud tabelis 3. Viimane bitt B7 vastutab automaatse mikseri aktiveerimise eest.

Joonis 6 ja joonis 7 näitavad nuppude sidumist programmeerimisplokkidega, mis vastutavad eelmiste väärtuste saatmise eest.

Rakenduse täieliku kujunduse vaatamiseks saate alla laadida lisatud faili “.aia” koos projektifailidega ja avada selle põhisaidil.

Alloleval joonisel 8 on näidatud ülemise astme skeem.

5. samm: tulemused

Kontrollerit testiti edukalt ja näidati, et värvide segamine koos muude funktsioonidega töötab korralikult.

Järeldus

Selles juhendis ehitati nutikas pirnide ahel, mida saab juhtmevabalt juhtida Androidi rakendusega. Selles projektis kasutatud GreenPAK CMIC aitas lühendada ja manustada mitut valguse juhtimiseks vajalikku komponenti ühte väikesesse IC -sse.

Soovitan: