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

Korteilla vauhtia IoT-kehitykseen

Sulautetun laitteen kehitys onnistuu useimmiten helpoiten valmiiden moduulien avulla. Nykyään niitä saa myös tehokkailla Apollo Lake -sarjan prosessoreilla varustettuna.

Lue lisää...

Suomen suurin valtti kybersodassa on luottamus

Teknologia19 – Aalto-yliopiston kyberturvallisuusprofessori Jarno Limnéll uskoo, että luotettavuudesta voi tulla suomalaisten yritysten suurin myyntivaltti tulevaisuudessa. – Tärkein kysymys on tulevaisuudessa, kehen ja mihin voimme luottaa. Luottamuksesta on tulossa hyvin arvokas aineeton pääoma yrityksille, Limnéll sanoi eilen messukeskuksessa.

Lue lisää...

LATEST NEWS

NEW PRODUCTS

 

NEWSFLASH

Ciklum, established in 2002, is a custom product engineering company with a global presence across 15 countries in 3 continents. We specialize in crafting bespoke digital solutions that push boundaries and transform industries, including full-scale IoT solutions. Whether it's cutting-edge embedded systems, data architecture or IoT, we seamlessly integrate our solutions into your existing infrastructure.

 

 

Check Point Software Technologies Ltd. is a leading provider of cyber security solutions to corporate enterprises and governments globally. Check Point Infinity’s portfolio of solutions protects enterprises and public organisations from 5th generation cyber-attacks with an industry leading catch rate of malware, ransomware and other threats.

 

 

 

AcalBfi is a leader in the development of custom technology solutions for electronic applications. Our engineers and our approach will ensure we can solve your technical challenges with custom solutions that integrate multiple technologies.

 

Analog Devices, Inc. is a global semiconductor leader that bridges the physical and digital worlds to enable breakthroughs at the Intelligent Edge. ADI combines analog, digital, and software technologies into solutions that help drive advancements in digitized factories, mobility, and digital healthcare, combat climate change, and reliably connect humans and the world.

 

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. 

  

The Rohde & Schwarz technology group develops, produces and markets a wide range of electronic capital goods. With its extensive product portfolio, the company makes an important contribution to a safer and connected world. In the test & measurement, secure communications, networks & cybersecurity and broadcast & media markets, customers worldwide rely on Rohde & Schwarz and its cutting-edge solutions.

 

 

 

Mespek is an industrial electronics company. Our main product areas are embedded modules, industrial computing, test & measurement modules and server management systems (KVM-switches). Besides our domestic customers we have clients also in several countries such as Benelux, China, Estonia, Ireland, Norway, Russia, Sweden, Switzerland, et cetera..

 

We offer unique and cost-effective customized solutions based on electronic components and systems, as well as standard products from selected manufacturers. We also have own production company for electronics and cabling in Sweden. We have 90 years of experience, deep engagement, knowledge together with trustworthy and effective logistics worldwide. We are ISO 9001 and ISO 14001 certificated.

 

Richardson RFPD, an Arrow Electronics Company, is an electronic component distributor focused on RF and Wireless Communications, industrial IoT, Power Conversion and renewable energy markets. With our global reach and extensive technical capability, we serve our customers through component development and selection, technical support, and world-class logistics and supply chain capabilities. Whether designing with discrete components or looking to take advantage of integrated circuits or systems RichardsonRFPD’s worldwide design centers and technical sales team provide comprehensive support to bring your product ideas to market.

u‑blox is a global technology leader in positioning and wireless communication in automotive, industrial, and consumer markets. Their smart and reliable solutions, services and products let people, vehicles, and machines determine their precise position and communicate wirelessly over cellular and short range networks. With a broad portfolio of chips, modules, and secure data services and connectivity, u‑blox is uniquely positioned to empower its customers to develop innovative and reliable solutions for the Internet of Things, quickly and cost‑effectively.

KYOCERA AVX is a leading global manufacturer of advanced electronic components, including antennas, fuses, capacitors, filters, couplers and RF switches, engineered to accelerate technological innovation and build a better future. Supplying more than one million antennas per day, KYOCERA AVX is an industry-leading supplier of innovative antenna solutions, covering all major frequency bands and applications. KYOCERA AVX antennas utilize a wide array of materials -including LDS, stamped metal, ceramic, PCB, and FPC- to support a variety of custom and standard configurations (external indoor/outdoor, embedded on/off-board).

 

 





ECF template