Neljästä ledistä koostuvan ryhmän väriä voidaan säätää langattomasti 16-bittisen PWM-piirin avulla. Sovellusta varten rakennettu RGBA-väriensekoituskortti sisältää kapasitiiviset liukusäätimet värille ja kirkkaudelle. Demokorttia voidaan ohjata myös PC- tai Android-sovelluksella BLE-yhteyden kautta.

Artikkelin kirjoittaja Namrata Dalvi toimii Microchip Technology -yhtiössä vanhempana sovellusinsinöörinä. 

Ledien väritasapainon langaton säätö voidaan toteuttaa tarkasti käyttämällä 8-bittistä mikro-ohjainta ja energiapihiä Bluetooth 4.1 -moduulia RGBA-väriavaruuden eli punaisen, vihreän ja sinisen värin sekä läpinäkyvyyden (alpha) ohjaamiseen.

Kuvassa 1 näkyvällä demokortilla on neljä lediä: punainen, vihreä sininen ja keltainen. Kunkin ledin kirkkautta säädetään pulssinleveysmoduloidun (PWM) signaalin pulssisuhteen ohjaamana.

Tähän päästään käyttäen Microchipin mikro-ohjainpiiriä PIC16F1579, joka sisältää neljä 16-bittistä PWM-modulaattoria, joita käytetään ledien ohjaamiseen. Ne mahdollistavat kunkin ledin kirkkauden tarkan säädön sekä eri RGBA-kirkkaustasojen sekoittamisen kaikkien haluttujen värien tuottamiseksi.

 

Kuva 1. Demokortti muodostaa RGBA-värit sekoittamalla.

Kapasitiivisen mTouch-kosketusteknologian ansiosta säätötoimintaa voidaan ohjata kahden kapasitiivisen liukusäätimen avulla. Kortille sijoitettua Bluetooth-moduulia RN4020 käytetään PWM-arvojen vastaanottamiseen Android-mobiilisovellukselta tai PC-ohjelmalta energiapihiä Blutetooth LE -datansiirtoa hyödyntäen. Kortin käyttöteho saadaan AAA-kokoisesta 1,5 voltin paristosta.

Valo vaihtelee

Ledien tuottama valo vaihtelee useiden eri tekijöiden vuoksi. Lumeneissa ilmoitettava kirkkaus vaihtelee erityyppisten ledien ja myös samantyyppisten ledien eri yksilöiden kesken. Lisäksi värillisille ledeille mitatut väriarvot vaihtelevat nekin yksilöstä toiseen.

Kirkkaus- ja väriprofiilien luomiseksi mitattiin tietyn ledityypin muutamia yksilöitä. Mitattuja arvoja käytettiin sitten tyypillisinä arvoina piiriratkaisuissa ja värien ohjelmallisissa laskutoimituksissa. Tätä prosessia kutsutaan värien virittämiseksi.

Ledien sarjavastuksille haettiin kiinteät arvot niin, että kukin väri tuotti saman kirkkauden lumeneina. Sarjavastuksen arvoksi saatiin punaiselle ledille 820 Ω, siniselle 400 Ω, vihreälle 500 Ω ja keltaiselle 500 Ω.

Kaksi toimintamuotoa

Demokortilla on kaksi eri toimintamuotoa. Ensimmäinen on värinkylläisyyden ynnä valkoisen säätö eli HSVW (Hue Saturation Value plus White) yhdistettynä kirkkaudensäätöön. Toinen toimintamuoto on värinvalinta käyttäen Bluetooth LE -datansiirtoa.

Kortti käynnistyy aina ensimmäisessä toimintamuodossa. Mukana on kaksi kapasitiivisella kosketustekniikalla toimivaa liukusäädintä, toinen värisignaalien tulotasoja varten ja toinen kirkkaustasojen säätämiseen.

Jos ensin mainittua liukusäädintä liikutetaan kortin ollessa säätömoodissa, säätimellä valittu väri näkyy ledeissä. Valittu väri näkyy, kunnes jokin toinen tulosignaali vastaanotetaan. Yksittäisen värin kirkkautta voidaan sitten säätää toisella liukusäätimellä.

Toisessa toimintamuodossa eri värejä vastaavat pulssisuhteen arvot (PWM) valitaan Android-pohjaisella mobiillisovelluksella tai Windows-pohjaisella työpöytäsovelluksella. Värejä vastaavat PWM-arvot lähetetään sitten kortille Bluetooth-liitännän kautta.

Sovelluksessa käytetään XY-muotoista värimallia CIE 1931, joka nähdään kuvassa 2. Valittujen väri- ja kirkkaustasojen tarkat PWM-arvot lasketaan ja lähetetään RGBA-kortille Bluetooth-yhteyden kautta. Kortilla oleva Bluetooth-moduuli vastaanottaa PWM-arvot, joita RGBA-kortin ohjelmisto käyttää valitun värin näyttämiseen.

 

Kuva 2. CIE 1931 -mallin mukaisen väriavaruuden koko väriskaala RGBA-ledeille.

Värinvalintasovelluksen graafinen käyttöliittymä perustuu CIE 1931 -standardin mukaiseen värikarttaan. CIE 1931 -väriavaruus ilmaisee laajan värivalikoiman kromaattisuuden (X) ja kirkkauden (Y) perusteella. Värikartalle piirretyt punaisen, vihreän ja sinisen ledin väri- ja kirkkaustasot määrittävät kolmion, joka kattaa kaikki mahdolliset värisävyt, jotka voidaan tuottaa kolmen värivalolähteen avulla. Tätä kutsutaan täydeksi väriskaalaksi.

Vieläkin kattavamman värivalikoiman saavuttamiseksi mukaan on liitetty myös meripihkankeltainen ledi. Keltaisen ledin XY-data on myös siirretty CIE 1931 -värikartalle. Tämä data määrittelee toisen kolmion punaisen, keltaisen ja vihreän värin koordinaattien välille. Punaisen, keltaisen ja vihreän sekoittaminen tuottaa kaikki kuvassa 2 esitetyt täyden väriskaalan värit.

Tähän tarkoitukseen käytettävä PC:n graafinen käyttöliittymä tai Android-sovellus toteuttaa värinsekoitusalgoritmin. Sen avulla lasketaan PWM-signaalin pulssisuhteen arvot, jotka tarvitaan halutun värisävyn muodostamiseksi. 

Värinvalintasovellus lähettää PWM-arvot Bluetooth-yhteyden kautta. Liitäntämoduuli kykenee kommunikoimaan sellaisten matkapuhelimien ja tietokoneiden kanssa, jotka sisältävät Bluetooth-version 4.0 (tai uudemman) mukaisen lähetin-vastaanottimen.

Moduulia käytetään ensisijaisesti pulssisuhdetietojen vastaanottamiseen isäntälaitteilta, jotka ajavat värinvalintasovellusta. Mikro-ohjaimen ja BLE-moduulin liitäntänastojen väliset kytkennät on esitetty kuvassa 3.

Kuva 3. Tehopihin Bluetooth-moduulin (vas.) ja mikro-ohjaimen väliset liitännät.

Bluetooth-yhteydet

Bluetooth-laitteita on kahdenlaisia: perinteinen Bluetooth ja BLE (Bluetooth Low Energy). BLE-laite voi kommunikoida vain toisen BLE-laitteen tai kaksoismoodilaitteen kanssa, joka yltää sekä perinteiseen että energiapihiin datansiirtoon. Tällöin isäntälaitteen on oltava BLE- tai tuplamoodilaite, jotta se voi kommunikoida RGBA-kortille sijoitetun RN4020-moduulin kanssa.

Moduuli noudattaa Bluetooth-ydinversion 4.1 määrityksiä, ja käyttäjä ohjaa sen toimintaa tulo- ja lähtölinjojen sekä UART-liitännän kautta. UART tukee ASCII-komentoja, joilla ohjataan tai konfiguroidaan moduuli toimimaan käyttösovelluksen kaikkien vaatimusten mukaisesti.

Sovellusohjelmisto

Kun kortti toimii kakkosmoodissa, ledivalon haluttu väri valitaan värinvalintasovelluksen värikartalta joko RGBA-värinsekoituksesta vastaavalla tietokoneella tai Android-sovelluksella. Sovellus laskee punaista, sinistä, vihreää ja keltaista väriä vastaavat PWM-pulssisuhteen arvot. Lukemat siirretään kortille BLE-liitännän kautta.

Tietokoneen sovellus kehitettiin käyttäen Visual Studio C#.NET -kehitysympäristöä. Sovellus noudattaa ohjelmistoarkkitehtuuriltaan malli-näkymä-ohjain- eli MVC-rakennetta (Model-View-Controller) perustuen useisiin eri malliluokkiin.

RGBA-näkymä-ohjain toimii graafisena käyttöliittymänä (GUI) tai näkymän ja sovelluksen ohjaimena. Tämä malliluokka on ylimpänä hierarkiassa ja vastaa eri luokkiin kuuluvien uusien kohteiden muodostamisesta sekä niiden keskinäisten riippuvuuksien lisäämisestä. Se käsittelee myös kaikki graafisen käyttöliittymän tapahtumat ja kutsuu aina kuhunkin tilanteeseen sopivia menetelmiä.

RGBA-laskelmien mallin tehtävänä puolestaan on selvittää, onko valittu piste RGB- tai RGA-kolmion sisä- vai ulkopuolella sekä laskea kunkin ledin tuottamaa värivaloa vastaavat pulssisuhdelukemat.

3x3-matriisin mallin tehtävänä on toteuttaa kaikki tarvittavat matriisilaskennan operaatiot kuten matriisin kääntö, determinantti, transponointi, kofaktori ja kertolasku. Vektori 3 -malli puolestaan muodostaa 3-kokoisen sarakevektorin, jota käytetään 3x3-matriisin mallin suorittamissa matriisilaskennan operaatioissa. RGBA-datamallin tehtävänä taas on varastoida tiedot kaikkien värisävyjen pulssisuhdelukemista.

Langattoman viestinnän kääreluokan (wrapper) rajapinta sisältää kaikki tarvittavat menetelmät langattoman viestinnän toteuttamiseksi RGBA-sovelluksessa. Tätä rajapintaa voidaan soveltaa mihin tahansa langattomaan viestintämenetelmään kuten perinteiseen Bluetoothiin tai sen energiapihiin LE-versioon. BLE-viestintä suoritetaan käyttäen RN4020 PICtail -korttia RS232-muotoiseen datansiirtoon ottamalla tämä rajapinta käyttöön RGBA-korttia varten.

Ohjelmoija voi muodostaa uuden malliluokan langattoman viestinnän toteuttamiseksi Visual Studioon tai kolmansien osapuolten kirjastoihin sisäänrakennettujen BLE-kirjastojen kautta. Tämä rajapinta erottaa tiedonsiirron toteutuksen varsinaisesta ohjaimesta, joten jos uusi tietoliikennemuoto otetaan käyttöön, näkymä-ohjain ja muut malliluokat eivät muutu.

RN4020-lohkon kautta kulkevan RGBA BLE -tietoliikenteen malli toteuttaa langattoman viestinnän kääreluokan rajapinnan BLE-dataliikenteelle RGBA-kortin kanssa. PICtail-korttia käytetään tietokoneella UART- tai RS232-liitännän kautta. Sarjamuotoinen liikenne muodostetaan ja käskyt lähetetään BLE-protokollan mukaisena datansiirtona.

BLE-laiteinformaation malli tallentaa etäyhteydellä kytketyn laitteen perustiedot: nimen, osoitteen ja tuetun palvelintyypin. Näitä tietoja käytetään etäyhteyden tunnistamiseen ja muodostamiseen.

Hakutulosten valtuutuksen malli palvelee BLE-luokan tapahtumaa, kun se lopettaa laitteiden etsimisen ja kaikki laitteet ovat käyttäjän nähtävissä listan muodossa. Hakutoiminnon tarvitsema aika on kymmenen sekuntia.

Yhteystilan vaihdon valtuutuksen malli puolestaan palvelee BLE-luokan tapahtumaa, joka määrittää, onko isäntänä toimiva PICtail-kortti kytketty etälaitteeseen vai ei. Lisäksi se näyttää nykyisen yhteystilan käyttäjälle.

Vakioiden malli taas tallentaa kaikki sovellukseen tarvittavat vakiot kuten RN4020-moduulin komennot ja vastaukset, palvelut, erityiset UUID-tunnisteet jne.

Android-käyttöjärjestelmän Java-sovellusten malli seuraa sekin tarkasti MVC-ohjelmistoarkkitehtuurin periaatteita käyttämällä Android-toimintojen malliluokkia, jotka ovat rakenteeltaan samanlaisia kuin työpöytäsovelluksessa.

Android-sovellus hyödyntää kuitenkin älypuhelimen sisäisiä BLE-piirejä. Android-käyttöjärjestelmä tarjoaa kaikki tarvittavat kirjastot BLE-viestintää varten kaikkine tapahtumineen ja takaisinkutsuineen.

RGBA-näkymän toiminnan malli on samankaltainen kuin tietokoneen näkymä-ohjain, paitsi graafisen käyttöliittymän ohjainten osalta, jotka on määritetty XML-tiedostossa malliluokan sijasta.

 

Lisätietoja saatavissa alkuperäisestä sovellusohjeesta:

http://ww1.microchip.com/downloads/en/AppNotes/00002026A.pdf

 

 

ETNtv

Watch ECF videos

Tekoälyn avulla robotteja voidaan ohjata puheella

ETN - Technical article

Generatiivisen tekoälyn vallankumous, joka tuo chatbotit asiakaspalveluun ja mahdollistaa älykaiuttimien kaltaiset laitteet, on vasta alkua. Sama teknologia, joka ymmärtää ihmisten puhetta, siirtyy nyt robotiikkaan, missä se auttaa kehittämään algoritmeja robottien liikkeiden ohjaamiseen ja politiikkojen toteuttamiseen tärkeiden tehtävien suorittamiseksi.

Lue lisää...

SOM-ratkaisut ovat lääketieteellisen elektroniikan luotettava tulevaisuus

Lääketieteellinen elektroniikka on yksi nopeimmin kasvavista teollisuudenaloista. Väestön ikääntyminen, erityisesti länsimaissa, ja terveydenhuollon teknologioiden jatkuva kehitys pitävät yllä kovaa kysyntää ja ohjaavat alan tutkimus- ja tuotekehitystä, kirjoittaa Digi Internationalin OEM-ratkaisuista Euroopassa vastaava johtaja Ronald Singh.

Lue lisää...

LATEST NEWS

NEW PRODUCTS

 

NEWSFLASH

 SPONSORS

 

Etteplan supports customers cross industries in digitalizing their business from requirement specifications to solution development and implementation. With over 30 years of experience, Etteplan has the needed expertise to develop a wide range of industrial applications, from large established companies to start-ups. We deliver complete turn-key solutions containing cross-discipline know-how.

 

CN Rood offers technical solutions in the field of testing and measurement. We aim to remain leaders in that regard. Our customers are often not looking for a product, but for a solution, and we all have the drive to work on that solution. What we love to do most is to continually work on the latest developments in the field of testing and measuring equipment. Now and in the future.

 


EBV Elektronik was founded in 1969 and is one of the leading specialists in European semiconductor distribution. This success is based on the underlying company philosophy, which was developed a long time ago and which still applies today: operational excellence, flexibility, reliability and execution – with the goal of achieving the highest degree of customer satisfaction.

 

Tria is a world leader in the design and manufacture of embedded computing for OEMs. We offer a broad range of off-the-shelf modules to fully customized systems built for our customers. With a global footprint and deep in-house expertise, we support innovators from design to delivery.

congatec is a rapidly growing technology company focusing on embedded and edge computing products and services. The high-performance computer modules are used in a wide range of applications and devices in industrial automation, medical technology, robotics, telecommunications and many other verticals.

 

Mespek was founded in 1989. Our main products are embedded electronic modules, industrial PCs with peripherals, KVM and server management products, as well as wireless solutions for IoT applications.

 

Since 1985, Digi International Inc. (Digi) has been a pioneer in wireless communication, forging the future for connected devices and responding to the needs of the people and enterprises that use them.

 

CVG Convergens is an ICT services company specialized in embedded systems, smart connected products and ICT systems and processes for SME businesses. Our mission is to help our clients, our team, and the society to improve and thrive by providing reliable and sustainable solutions, services, and products by creative and efficient application of technology.

 

BCC Solutions Oy is a Finnish company that, in addition to expert services, offers comprehensive equipment solutions for data transfer and telecommunication networks, as well as their analysis, testing and measurement. We broadly represent the industry's leading brands.

 

Acal BFi has trusted expertise in advanced electronics for 50 years. If you’re in search of a trusted technology solutions partner, your search ends here. Our extensive knowledge, cutting-edge portfolio, and worldwide capabilities are at your service to bring the future into reality.

 





ECF template