Microchip Technology Inc
Avtor:Namrata Dalvi
2019_276_34
Upravljanje barvnega ravnovesja svetlobe svetleÄih diod (LED) lahko zelo natanÄno doseÅŸete z 8-bitnim mikrokontrolerjem in brezÅŸiÄnim Bluetooth® 4.1 nizkoenergijskim modulom za krmiljenje rdeÄe, zelene in modre svetlobe ter prosojnosti alfa (RGBA) v barvnem prostoru.
Razvojna ploÅ¡Äa, ki jo prikazuje slika 1, ima Å¡tiri LEDice: rdeÄo, zeleno, modro in rumeno. Svetilnost vsake od teh diod uravnavamo z razmerjem signalov znotraj PWM obratovalnega cikla.
To je mogoÄe doseÄi z Microchipovim mikrokontrolerjem PIC16F1579, ki ima na voljo Å¡tiri 16-bitne PWM generatorje, ki se lahko v naÅ¡em primeru uporabljajo za pogon LED. 16-bitni PWM generatorji omogoÄajo natanÄno krmiljenje intenzivnosti oddane svetlobe vsake posamezne barvne LED in meÅ¡anje razliÄnih nivojev svetlosti RGBA za ustvarjanje svetlobe razliÄnih barv.
Uporaba mTouch® tehnologije kapacitivnega zaznavanja dotika, ki jo podpira uporabljeni mikrokontroler, omogoÄa delovanje dveh kapacitivnih drsnikov. Vgrajeni Bluetooth modul RN4020 se uporablja za sprejemanje vrednosti PWM iz mobilne aplikacije Android ⢠ali namiznega programa z uporabo komunikacije Bluetooth z nizko porabo energije. Celotno ploÅ¡Äico napaja ena sama 1,5V AAA baterija.
Razsvetljava
Svetloba, ki jo proizvajajo LEDice, je odvisna od veÄ dejavnikov. Intenzivnost svetlobe (merjena v lumnih), se bo razlikovala za LED razliÄnih tipov in celo med LEDicami istega tipa. Za barvne LEDice se doloÄena barva, izraÅŸena s kromatiÄno vrednostjo od diode do diode lahko bistveno razlikuje.
Izmerili smo majhne vzorce LEDic doloÄenega proizvajalca, da smo dobili neko povpreÄno vrednost njihove svetilnosti in barvni profil. Dobljene vrednosti so bile nato uporabljene kot tipiÄne vrednosti pri naÄrtovanju strojne opreme in programske opreme kromatiÄnih izraÄunov. Ta proces se imenuje nastavitev barv.
Vrednosti uporov so bile izbrane tako, da je svetloba vsake barve svetila z enako moÄjo, izraÅŸeno v lumnih (lm). Serijski upori LEDic so tako za rdeÄo 820Ω, za modro 400Ω, za zeleno 500Ω in za rumeno 500Ω.
NaÄini delovanja
Obstajata dva naÄina delovanja: prvi je vrednost zasiÄenosti posameznega odtenka plus bela svetloba (HSVW) v naÄinu s svetlobnimi drsniki; drugi pa je izbiranje kromatiÄnosti z uporabo Bluetooth modulov z nizko porabo energije.
Predstavitvena ploÅ¡Äica se na zaÄetku ob prikljuÄitvi napajanja najprej postavi v prvi naÄin delovanja. Na ploÅ¡Äi sta dva kapacitivna drsnika, prvi za vnos oziroma nastavitev barve in drugi za krmiljenje ravni svetlosti izbrane barve.
Äe se dotaknemo prvega drsnika v naÄinu delovanja z drsnikoma, lahko izbiramo barvo LEDice, na katero bodo nastavitve vplivale. Izbrana barva se prikazuje toliko Äasa, dokler je s prvim drsnikom ne spremenimo. Svetilnost tako izbrane barve lahko potem nastavljamo z drugim drsnikom.
V drugem naÄinu delovanja se barvne vrednosti (PWM) izberejo z mobilno aplikacijo na osnovi Androida ali aplikacijo za osebne raÄunalnike, ki temelji na operacijskem sistemu Windows. Ustrezne vrednosti PWM se nato poÅ¡ljejo na ploÅ¡Äo prek Bluetooth povezave. Aplikacija uporablja barvni grafikon CIE 1931 XY (glej sliko 2). NatanÄne vrednosti PWM za izbrano stopnjo barve in svetlosti se izraÄunajo in poÅ¡ljejo v vezje RGBA prek Bluetooth povezave. Bluetooth modul na ploÅ¡Äi nato prejme vrednosti PWM, ki jih programska oprema uporabi kot parametre za prikaz izbrane barve RGBA.
GrafiÄni vmesnik za izbiro kromatiÄnosti je sestavljen iz kromatske karte CIE 1931 xy. Barvni prostor CIE 1931 prikazuje Å¡iroko paleto barv v smislu kromatiÄnosti (x) in svetilnosti (y). Raven barve in svetlosti rdeÄe, zelene in modre svetleÄe diode preslikane v barvni prostor CIE doloÄajo trikotnik, ki vsebuje vse moÅŸne barvne odtenke, ki jih lahko generira izhod treh LEDic; kar poznamo kot barvni razpon.
Za poveÄanje nabora barv, ki so na voljo, je bila dodana oranÅŸna LEDica. Podatki xy za rumeno LED se preslikajo na barvni prostor CIE 1931 xy. To definira drug trikotnik med rdeÄo, oranÅŸno in zeleno koordinato. MeÅ¡anje rdeÄe, rumene in zelene barve v razliÄnih razmerjih ustvarja barve znotraj barvne lestvice na sliki 2.
GrafiÄni uporabniÅ¡ki vmesnik na osebnem raÄunalniku in Android aplikacija, ki se uporabljata za delovanje v tem naÄinu, prav tako uporabljata ta algoritem meÅ¡anja barv, po katerem se nato izraÄunajo vrednosti PWM obratovalnih ciklov, ki so potrebne za prikaz svetlobe ÅŸelene barve.
Aplikacija za izbiro barve poÅ¡ilja PWM vrednosti prek Bluetooth povezave. Ta povezovalni modul lahko komunicira z mobilnimi telefoni in osebnimi raÄunalniki, ki imajo vgrajeno Bluetooth brezÅŸiÄno povezavo generacije V4.0 ali novejÅ¡o. Modul se v prvi vrsti uporablja za sprejemanje vrednosti delovnega cikla iz naprav za upravljanje, ki za ta namen uporabljajo aplikacijo za izbiro barve svetlobe. Povezave med posameznimi prikljuÄki mikrokontrolerja in Bluetooth modulom so prikazane na sliki 3.
Komunikacija prek Bluetooth povezave
Obstajata dve vrsti Bluetooth naprav â klasiÄne Bluetooth in Bluetooth z nizko porabo energije. Nizkoenergijska Bluetooth naprava lahko komunicira samo z drugo nizkoenergijsko napravo (BLE) ali z Bluetooth napravo, ki podpira dvojni naÄin delovanja, kar pomeni, da ima tako klasiÄne kot nizkoenergijske zmogljivosti. Zato mora imeti glavna gostiteljska naprava vgrajeno napravo BLE ali takÅ¡no, ki podpira dvojni naÄin Bluetooth komuniciranja z modulom RN4020, ki je uporabljen na RGBA predstavitveni ploÅ¡Äici.
Modul je skladen s specifikacijo Bluetooth jedra V4.1 uporabnik pa ga upravlja prek vhodnih in izhodnih linij ter UART vmesnika mikrokontrolerja. UART podpira ASCII ukaze za krmiljenje ali nastavitev delovanja modula za vse zahteve neke aplikacije.
Programska oprema za aplikacijo
Ko ploÅ¡Äica deluje v naÄinu 2, se ÅŸelena barva LED svetlobe izbere iz kromatiÄne tabele v aplikaciji za izbiranje kromatike, bodisi iz osebnega raÄunalnika v oknu za RGBA meÅ¡anje barv ali prek Android aplikacije. RdeÄi, modri, zeleni in rumeni delovni cikli PWM generatorjev se izraÄunajo v sami aplikaciji. Vrednosti razmerja med signalom in pavzo v obratovalnem ciklu se brezÅŸiÄno prenesejo na ploÅ¡Äo z nizkoenergijsko Bluetooth povezavo. Uporabljena aplikacija za osebni raÄunalnik je bila razvita s programom Visual Studio C # .NET. Aplikacija sledi MVC vzorcu z razliÄnimi razredi.
Razred kontrolnika pogleda RGBA deluje kot GUI ali upravljalnik pogledov in kot krmilnik aplikacije. Ta razred je na vrhu hierarhije, ki je odgovorna za izdelavo novih objektov razredov in njihove medsebojne odvisnosti. Prav tako obravnava vse dogodke v grafiÄnem vmesniku in prikliÄe ustrezne metode.
Razred za izraÄun RGBA je odgovoren za ugotavljanje, ali se izbrana toÄka nahaja v notranjosti RGB ali RGA trikotnikov ali zunaj teh trikotnikov, potem pa izraÄuna delovni cikel za vsako posamezno barvo svetleÄih diod.
Razred matrike 3×3 izvaja vse matriÄne matematiÄne operacije 3×3, kot so obratna vrednost, determinanta, transponiranje, sofaktor in mnoÅŸenje. Razred Vector 3 izvaja izraÄun vektorja stolpca velikosti tri, ki se uporablja v matriÄni matematiki za razred matrike 3×3. Podatkovni razred RGBA je uporabniÅ¡ki podatkovni tip za shranjevanje vrednosti delovnega cikla vseh treh barv.
V razredu za brezÅŸiÄno komunikacijo ima vmesnik vse metode, ki jih brezÅŸiÄne komunikacije zahtevajo za izvajanje aplikacije RGBA. Ta vmesnik se lahko uporablja z vsemi brezÅŸiÄnimi komunikacijskimi metodami, kot so Bluetooth z nizko porabo energije in Bluetooth classic. Komunikacije s kartico PICtail ⢠potekajo prek Bluetooth modula RN4020 z nizko porabo energije po RS232 serijskem vodilu in sicer z uporabo tega vmesnika na RGBA ploÅ¡Äici.
Programer lahko naredi tudi Äisto nov razred za izvajanje brezÅŸiÄnih komunikacij s pomoÄjo vgrajenih knjiÅŸnic Bluetooth z nizko porabo v Visual Studiju ali s kakÅ¡nimi drugimi knjiÅŸnicami. Ta vmesnik tudi loÄuje izvajanje programske kode za komunikacijo od dejanskega krmilnika, tako da se pri uvajanju drugaÄnih naÄinov komunikacije krmilnik prikaza in ostali razredi ne spremenijo.
RGBA Bluetooth komunikacija z nizko porabo prek razreda za RN4020 naprave omogoÄa brezÅŸiÄni komunikacijski vmesnik za brezÅŸiÄno komunikacijo Bluetooth z RGBA vezjem. Uporabljamo jo tako, da PICtail kartico prikljuÄimo na osebni raÄunalnik preko UART ali RS232 prikljuÄka. Vzpostavi se brezÅŸiÄna serijska povezava in poÅ¡ljejo se ukazi za Bluetooth komunikacijo z nizko porabo energije.
V razredu z informacijami o Bluetooth napravah z nizko porabo so shranjene osnovne informacije o napravi, s katero se vzpostavlja brezÅŸiÄna povezava – njeno ime, naslov in podprte storitve streÅŸnika. Te informacije se uporabljajo za identifikacijo in povezavo s to oddaljeno napravo.
V razredu rezultatov iskanja razpoloÅŸljivih naprav se ob zakljuÄku iskanja sproÅŸi dogodek, ki je znak, da je seznam Bluetooth naprav pripravljen in na voljo uporabniku. Potrebnih je vsaj deset sekund, da se iskanje naprav zakljuÄi.
V razredu za spremembo stanja povezave se servisira dogodek iz razreda Bluetooth z nizko porabo, s Äimer se ugotavlja, ali je glavna PICtail kartica povezana z oddaljeno napravo ali ne in uporabniku prikaÅŸe trenutno stanje povezave.
V razredu konstant so shranjene vse konstante, ki so potrebne za aplikacijo, kot so ukazi in odzivi modula RN4020, storitve in karakteristike UUID-ji in tako naprej.
Aplikacijski razred Java⢠za operacijski sistem Android prav tako dobro sledi naÄelu MVC, pri Äemer uporablja razrede Android dejavnosti, ki so strukturno podobni namizni aplikaciji.
Vsekakor pa Android aplikacija uporablja vgrajeno Bluetooth nizkoenergijsko strojno opremo Android telefona. Operacijski sistem Android namreÄ ponuja vse potrebne knjiÅŸnice za nizkoenergijsko Bluetooth komunikacijo z vsemi potrebnimi dogodki in povratnimi klici.
Razred dejavnosti RGBA videza je podoben razredu krmilnika videza na namizju, razen kontrolnikov na grafiÄnem uporabniÅ¡kem vmesniku, ki so namesto v razredu definirani v XML datoteki.
ZakljuÄek
V tem Älanku smo spoznali, kako lahko s 16-bitnim PWM generatorjem izvajamo natanÄno krmiljenje intenzivnosti svetlobe vsake posamezne barvne LEDice. Predstavitvena ploÅ¡Äa za meÅ¡anje RGBA barv, ki jo dajejo LEDice, ima kapacitivne drsnike in kapacitivne tipke na dotik za nastavitev barv in izbiro funkcij za nadzor svetlosti. Za komunikacijo smo uporabili Bluetooth 4.1 modul z nizko porabo energije prek katerega lahko uporabnik brezÅŸiÄno poÅ¡ilja PWM vrednosti na RGBA ploÅ¡Äo, ki potem prikaÅŸe ÅŸeleno barvo. Barvo pri obiÄajnem osebnem raÄunalniku uporabnik lahko izbira v Windows aplikaciji za izbiro kromatiÄnosti, lahko pa tudi prek telefona ali tablice iz aplikacije za operacijski sistem Android.
Iz izvirnika na spletni strain: http://ww1.microchip.com/downloads/en/AppNotes/00002026A.pdf
Opomba: Ime in logotip Microchip sta registrirani blagovni znamki podjetja Microchip Technology Incorporated v ZDA in drugih drÅŸavah. Vse druge blagovne znamke, ki so morda tu omenjene, so last njihovih podjetij.