More
    DomovRevijaPredstavljamoMešanje z matematiko

    Mešanje z matematiko

    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.

    www.microchip.com