Operácie

Bezdrôtovo ovládané svietidlo: Rozdiel medzi revíziami

Z SensorWiki

(Opis projektu)
(Výsledok)
 
(68 medziľahlých úprav od rovnakého používateľa nie je zobrazených.)
Riadok 8: Riadok 8:
 
__TOC__
 
__TOC__
  
'''Čo''' je jeho cieľom, ako bude vyzerať výsledok.
+
'''Čo a Prečo?'''
  
'''Prečo?'''
+
Pre vytvorenie pracovnej atmosféry v kancelarii obyčajne vyberáme stolové lampy s prísnym lakonickým dizajnom, ale pre vlastnú domácnosť chceme vybrať nejaký elegantný, útulný model.
 +
Vo väčšine prípadov sú dekoratívne stolové lampy menej praktické ako kancelárske modely, ale napriek tomu spĺňajú svoje funkčné požiadavky a funkcie: osvetľujú pracovný priestor stola,
 +
umožňujú učiť sa, čítať, písať s veľkým komfortom.
 +
Výrobky ponúkané v obchodoch nie vždy zodpovedajú našim požiadavkám alebo stojia príliš veľa. Preto, našim nápadom je návrh vlastného svietidla s rozšírenou funkčnosťou.
 +
Chceme vyrobiť unikátny, samostate funkčný celok, ktorý by vyhovoval nižšie uvedeným požiadavkam:
  
# Prečo práve tento projekt, aký má zmysel, komu bude osožný...
+
* ovladanie lampy pomocou mobilného telefónu
# Druhy '''riadok'''
+
* zmena farieb svietidla
 +
 
 +
z požiadaviek môžeme sformulovať hlavné úlohy:
 +
 
 +
# návrh vhodného hardvéru pre diaľkové ovládanie lampy
 +
# návrh aplikácie pre diaľkove ovládanie lampy
 +
# vytvorenie modelu vlastnej dekoratívnej lampy
  
 
'''Ako ?'''
 
'''Ako ?'''
  
Sem príde podrobný návod na výrobu.
+
Potrebny material:
 +
 
 +
* Vývojova doska (''ESP8266, Arduino NANO, Raspberry PI atd'')
 +
* WS2812B samostatne adresovateľné RGB LED diody
 +
* 3D model lampy
 +
* USB kábel
 +
 
 +
'''Použité zdroje:'''
 +
 
 +
* [http://www.seeedstudio.com/document/pdf/WS2812B%20Datasheet.pdf WS2812B is a intelligent control LED light - datasheet]
 +
 
 +
== Analýza ==
  
* Popisat proces premeny napadu na hmotny (funkcny) produkt
+
'''Informácie o farbe a spektre'''
* Vyspecifikovat potrebny material (uprednostnujeme vlastnych alebo existujucich komponentov, v pripade potreby vieme pomoct)<BR> vystupom bude zhmotneny napad a aj navod - krok za krokom pre reprodukciu produktu
 
  
 +
Všetci vieme, že naše videnie je trojzložkové: máme tri typy "farebných" receptorov - "červená", "modrá" a "zelená".
 +
Ale život ako zvyčajne je komplikovanejší - farba je určená vlnovou dĺžkou, a má akékoľvek hodnoty. Preto keď objekt odráža farbu medzi červenou a zelenou, tak reaguju aj červené aj zelené typy receptorov. Preto vidime "divné" miešanie farieb - v prípade, že objekt odráža červenú a zelenú farbu, uvidíme žltú, aj keď v skutočnosti tam "žltá" vlnová dĺžka nie je.
 +
Aby bolo jasnejšie: oko nemôže rozlíšiť, či objekt odráža čisto žlté svetlo (580 nm), alebo zelené (520 nm) a červené (680 nm). V oku sa aktivujú obidva receptory a v oboch prípadoch uvidíme rovnakú farbu, žltú.
 +
Realita je oveľa zložitejšia ako len RGB,preto aj existujú všetky problémy s "farebnými profilmi", "vyvážením" a "nesprávnym osvetlením".
  
[http://www.example.com link title]
+
Hlavné charakteristiky svietidiel
  
[[Súbor:MojObrazok2.jpg|center|300px]]
+
# Účinnosť (''koľko viditeľného svetla produkuje lampa pri výkone 1W'').
 +
# Životnosť / spoľahlivosť
 +
# Kvalita osvetlenia (spektrum, blikanie)
  
[[Médiá:MojZdrojak.c]]
+
Základné typy svietidiel
  
 +
* '''žiarovky''' - ''historicky prvý typ svietidla. Veľmi zlá energetická účinnosť 8-10 lm/W. Hlavný problém so spoľahlivosťou je pri napájaní- čím je nižšia teplota, tym je nižšia odolnosť vlákna .''
 +
* halogénové žiarovky - ''V skutočnosti ide o žiarovky, ale pridá sa do nich bróm alebo jód, čo zvyšuje životnosť a umožňuje zvýšenie teploty vlákna. Energetická účinnosť je o niečo lepšia - 10-15 lm/W, spektrum je tiež kontinuálne a posunuté do červenej oblasti.''
 +
* '''žiarivky''' - ''  nízkotlaková ortuťová výbojka, ktorá na premenu elektrickej energie na svetelnú využíva žiarenie tlejivého elektrického výboja v parách ortuti. Samotný výboj vyžaruje neviditeľné ultrafialové žiarenie, ktorým je ožarovaná tenká vrstva vhodného luminoforu, nanesená na vnútornej strane banky žiarivky.Energetická účinnosť kompaktných - od 50 do 70 lm/W (to je dokonca to najlepšie, čo má Phillips). Od prvého septembra 2009 bol v krajinách Európskej únie zakázaný predaj klasických žiaroviek s príkonom vyšším ako 80W a od prvého septembra 2012 bol zakázaný predaj klasických žiaroviek s príkonom vyšším ako 70W. Tieto obmedzenia sa výraznou mierou podpíšu na väčšom rozšírení tzv. kompaktných žiariviek (žiariviek do pätíc)[[https://sk.wikipedia.org/wiki/%C5%BDiarivka Wikipedia]].''
 +
* '''LED žiarovky''' - ''najlacnejšie biele LED - modrý + žltý fosfor, ktorý dáva podobu bieleho svetla, ale v skutočnosti je ďaleko od bielej. Oblasť vyžaroveného svetla je 450 a 550 nm, a zasahuje aj do oblasti od asi 500  po 600 nm. V dôsledku toho, sú farby skreslené s LED osvetlením. Najlepšiu energetickú účinnosť poskytujú na začiatku prevádzky 50-60 Lm/W''
 +
* '''Sodíkové výbojky''' - ''viditeľné pri pouličných osvetleniach. Majú fenomenálnu účinnosť, zvyčajne 100-150, až 200 lm/W (4 krát účinnejšie než najlepšie LED žiarovky ), a sú lacné. Jediným problémom je, že svietia len žltým svetlom , takže sa môžu používať len pre pouličné lampy, sklady atď. Všetko, čo neodráža žlté svetlo, bude čierne.''
  
'''Použité zdroje:'''  
+
Záver
 +
 
 +
* Pre batériové aplikácie a dekoračné lampy je najlepším kandidátom LED žiarovka (vysoká odolnosť a vysoká efektivita).
 +
* Pre hlavné osvetlenie v miestnosti- žiarivka v "dobrom" rozsahu (skontrolujte webové stránky výrobcu).
 +
* Osvetlenie v miestnostiach, kde nie je potrebné pracovať - ​​energeticky úsporné žiarivky so slabým spektrom.
 +
* Osvetlenie na uliciach a skladoch - sodíkové lampy.
 +
* Normálne žiarovky - len pre daždivý deň.
 +
 
 +
 
 +
'''Princíp činnosti WS2812B'''
 +
 
 +
LED diódy (pixely) WS2812B a LED pásy založené na týchto pixeloch sú pomerne populárne a to preto, lebo:
 +
 
 +
* kompaktný - pixel obsahuje 3 LED diódy a ovládače pre nich ich (veľkosť len 5x5 mm)
 +
* jednoduché ovládanie - pixel je riadený jednoduchým sériovým rozhraním, ktoré sa dá jednoducho implementovať programovo aj pomocou hardvérových rozhraní (ako napríklad SPI a UART)
 +
* ovládanie pomocou jednej linky (bez započítania napájacích vodičov)
 +
* neobmedzený počet po sebe idúcich pixelov
 +
* pomerne nízke náklady (ak vypočítate náklady na 3 samostatné LED diódy a ovládače k ​​nim ,budú oveľa drahšie)
 +
 
 +
[[Súbor:led.jpg|center|500px]]
 +
 
 +
Fyzicky, WS2812B má 3 LED diódy (červenú, modrú a zelenú) a ovládače PWM, ktoré ovládajú ich jas. Ovládače PWM sú 8-bitové, to znamená, že pre každú z farieb je možné použiť 256 stupňov jasu, takže pre nastavenie jasu pre každú z troch LED diód je potrebné prenášať pixel 8x3 = 24 bitov (3 bajty) informácií. Protokol na prenos informácií na jednoriadkovú LED s pevnou rýchlosťou. Jednotky a nuly informácií o jasnosti sú kódované dĺžkou vysokej a nízkej úrovne signálu v riadku.
 +
[[Súbor:1code.jpg|center|300px]]
 +
Každý z pixelov WS2812B má 2 výstupné výkony (VDD, VSS), vstup (DIN) a výstup (DOUT).
 +
[[Súbor:vdd.jpg|center|250px]]
 +
DIN vstup sluzi na nastavenie novej farby. Informácie o farbe sa prenášajú postupne (začiatok najvyšším bitom) postupne pre každú z farieb komponentov G, R, B.
 +
Pixely sú pripojené v reťazci nasledovne:
 +
[[Súbor:pixel.jpg|center|500px]]
 +
Zápis hodnôt farby do reťazca pixelov sa uskutočňuje nasledujúcim spôsobom:
 +
Prvých 24 bitov napojených na DIN sa zapisuje do dočasnej pamäte (farba zostáva nezmenená od predchádzajúceho času) prvého pixelu. Nasledujúce bity prechádzajú prvým pixelom cez seba a vyvedú ho do výstupu DOUT. Druhý pixel zopakuje kroky prvého (ponechanie prvých 24 bitov, ktoré dosiahli) a tak dalej. Aby sa hodnoty farieb z dočasnej pamäte pixelov sa aktivovali, mal by sa zachovať pauza v priebehu 50 μS. Po tejto pauze sa cyklus môže znova zopakovať.
 +
 
 +
 
 +
'''3D model'''
  
* [http://www.seeedstudio.com/document/pdf/WS2812B%20Datasheet.pdf WS2812BisaintelligentcontrolLEDlight]
+
[[Súbor:model.jpg|center|500px]]
 +
Pre výrobu a tlač nášho výrobku sme zvolili 3D tlačiareň a PLA plast.  
 +
PLA plast je ideálnym materiálom pre 3D tlač prototypov a produktov. Napríklad ozdobné predmety, predmety, ktoré vyžadujú podrobné spracovanie, produkty na prezentáciu.
  
== Analýza ==
+
[[Súbor:tlac.jpg|center|500px]]
  
V tejto časti popíšete ako idete daný problém riešiť. Uvediete sem aj všetky potrebné technické údaje,  
+
Keď že niesme skúsení v 3D modelovaní, inšpirovali sme sa výrobkami z internetu. Počas modelovania, sme sa snažili nájsť najvhodnejšiu hrúbku lampy, aby ju LED diody dokázali presvetliť. Pre dobrú viditeľnosť zmeny farieb sme zvolili bielu farbu plastu.
ktoré sú potrebné na úspešné vyriešenie projektu. Napríklad:
 
  
* popis komunikačnej zbernice (i2c, 1-wire, RS-232 a pod.)
+
[[Súbor:tlac1.jpg|center|500px]]
* obrázok zapojenia vývodov použitej súčiastky
 
* odkaz na katalógový list
 
* priebehy dôležitých signálov
 
* este jedna polozka
 
  
 +
Model sa da stiahnuť tu: [[https://www.dropbox.com/s/crmlsr7kvobl20l/Hribik.zip?dl=0 Hribik]]
  
 
== Popis riešenia ==
 
== Popis riešenia ==
  
Sem opíšete ako konkrétne ste problém vyriešili. Začnite popisom pripojenia k procesoru
+
Pri hľadaní riešenia nášho problému, sme preskúmali množstvo riešení. Ale keďže sme v dobe internetovej, chceli sme využiť internet aj my, čiže môžeme tento projekt radiť medzi IOT riešenie.
(nezabudnite na schému zapojenia!) a zdôraznite ktoré jeho periférie ste pritom využili.  
+
Pre toto riešenie bol najvhodnejší a najdostupnejší procesor ESP8266 ktorý obsahuje aj WiFi. Vybrané diody sú pre nás vhodné z viacerých dôvodov, či už spomenutej komunikácii alebo že obsahujú integrované regulátory napätia, čím nám odpadá ďalšia starosť. Diody (9ks) sme postupne prepojili vodičmi podľa schémy a pripojili na D2 pin procesoru (viď. obrázok)
  
'''Schéma zapojenia snímača'''
 
[[Súbor:Zapojenie.png]]
 
  
[[Súbor:Example.jpg]]
+
'''Schéma zapojenia diod'''
 +
[[Súbor:zapoj123.jpg|center|500px]]
  
Pozn.: Názov obrázku musí byť jedinečný, uvedomte si, že Obr1.jpg už pred vami skúsilo
+
=== Algoritmus a program ===
nahrať už aspoň 10 študentov.
 
  
[[Súbor:MojObrazok.jpg|center|250px]]
+
Ako základný programovací jazyk sme si vybrali Arduino. Pre programovanie procesora ESP8266 bolo potrebné doinštalovať jeho podporu z oficiálneho repozitára Arduino. Na ovládanie sme použili síce pomerne zložitú knižnicu FastLED, ale za to veľmi dobre vybavenú a rýchlu. Keďže sme nechceli vymyslieť už vymyslené, na komunikáciu sme využili projekt Blynk. Bohužiaľ, je z časti komerčný a po presiahnutí istej úrovne použitých súčastí, je potreba platiť za ďalšie. Túto nevýhodu sme vyriešili spojazdnením si vlastného servera tejto služby, kde si tento kredit môžeme doplniť sami a bezplatne. Server je umiestený na komerčnom hostingu. Beží na ňom operačný systém CentOS.
 +
Celý ekosystém projektu Blynk je založený na rôznych widgetoch ako je Button, Slider, Dropdown. Keď si v mobilnej aplikácí vyskladáme vizuál aky chceme, priradíme každému prvku jeho označenie, ktorým ho identifikujeme v programe.
  
=== Algoritmus a program ===
 
  
Uveďte stručný popis algoritmu, v akom jazyku a verzii vývojového prostredia ste ho vytvorili.
 
Je vhodné nakresliť aspoň hrubú štruktúru programu napríklad vo forme vývojového diagramu.
 
Rozsiahly program pre lepšiu prehľadnosť rozdeľte do viacerých súborov.
 
  
Vyberte podstatné časti zdrojového kódu, použite na to prostredie ''source'':
+
Program v procesore ma viacero častí, jedna z najdôležitejších sú príkazy na priojenie na WiFi a náš server
  
 
<source lang="c">
 
<source lang="c">
/* A nezabudnite zdroják hojne komentovať  */
+
  WiFi.mode(WIFI_STA);
 +
  Serial.begin(115200);
 +
  Blynk.begin(AUTH, WIFI_SSID, WIFI_PASS, SERVER, 8080);
 +
</source>
 +
 
 +
Jednotlivé funkcie prvkou Button a Slider vyzerajú nasledovne:
  
int main(void) {
+
<source lang="c">
   
+
BLYNK_WRITE(vPIN_BRIGHTNESS) {
     printf("Hello, World!\n");   
+
  if (varZone == ZONE || varZone == 1) {
     return(0);
+
     updateColours(arrayCurrent[0], arrayCurrent[1], arrayCurrent[2], param.asInt());
 +
  }
 +
}
 +
   
 +
BLYNK_WRITE(vPIN_COLOUR_RED) {
 +
  if (varZone == ZONE || varZone == 1 && param.asInt()) {
 +
     updateColours(1, 0, 255, 255);
 +
    updateWidgets();
 +
  }
 
}
 
}
 
</source>
 
</source>
  
Nezabudnite však nahrať aj kompletné zdrojové kódy vášho programu!
+
Samotná funkcia loop potom len pozostáva z pár jednoduchých príkazov ktoré nám zaručujú udržanie pripojenia a akutalízaciu údajov
  
Zdrojový kód: [[Médiá:Serial.h|serial.h]] a [[Médiá:Pip.c|main.c]]
+
<source lang="c">
 +
  Blynk.run();
 +
  FastLED.show();
 +
</source>
  
[[Médiá:MojProgram.c|program.c]]
 
  
 +
 +
Zdrojový kód: [[Médiá:Program.ino|Program.ino]] a [[Médiá:Settings.h|Settings.h]]
  
 
=== Výsledok ===
 
=== Výsledok ===
 +
Výsledna aplikácia vyzerá tak :
 +
[[Súbor:apppppppka.jpg|300px]]
 +
 +
QR kód pre stiahnutie aplikácie : [[Súbor:apppppppkččččča.jpg|300px]]
  
Nezabudnite zdokumentovať výsledok vašej práce. Určite sem patria fotografie, video
 
a zhodnotenie ako ste spokojní s výsledkom,
 
  
Kľúčové slová 'Category', ktoré sú na konci stránky nemeňte.
 
  
 +
Kvalitu vytlačeného modelu považujeme za veľmi dobrú a sme s ňou spokojný. Čo nám ale urobilo neskutočnú radosť, je celkový výsledný dojem produktu, ktorý sa páči každému kto ho uvidí a chce jeden taký :)
 +
[[Súbor:hribik1.jpg|center|800px]]
  
 
[[Category:DTV2018]]
 
[[Category:DTV2018]]

Aktuálna revízia z 19:17, 29. máj 2018

Autori: Stanislav Hájek, Anastasiia Zavadska
Študijný odbor: Robotika a kybernetika 3. Bc. (2018)

Opis projektu

Čo a Prečo?

Pre vytvorenie pracovnej atmosféry v kancelarii obyčajne vyberáme stolové lampy s prísnym lakonickým dizajnom, ale pre vlastnú domácnosť chceme vybrať nejaký elegantný, útulný model. Vo väčšine prípadov sú dekoratívne stolové lampy menej praktické ako kancelárske modely, ale napriek tomu spĺňajú svoje funkčné požiadavky a funkcie: osvetľujú pracovný priestor stola, umožňujú učiť sa, čítať, písať s veľkým komfortom. Výrobky ponúkané v obchodoch nie vždy zodpovedajú našim požiadavkám alebo stojia príliš veľa. Preto, našim nápadom je návrh vlastného svietidla s rozšírenou funkčnosťou. Chceme vyrobiť unikátny, samostate funkčný celok, ktorý by vyhovoval nižšie uvedeným požiadavkam:

  • ovladanie lampy pomocou mobilného telefónu
  • zmena farieb svietidla

z požiadaviek môžeme sformulovať hlavné úlohy:

  1. návrh vhodného hardvéru pre diaľkové ovládanie lampy
  2. návrh aplikácie pre diaľkove ovládanie lampy
  3. vytvorenie modelu vlastnej dekoratívnej lampy

Ako ?

Potrebny material:

  • Vývojova doska (ESP8266, Arduino NANO, Raspberry PI atd)
  • WS2812B samostatne adresovateľné RGB LED diody
  • 3D model lampy
  • USB kábel

Použité zdroje:

Analýza

Informácie o farbe a spektre

Všetci vieme, že naše videnie je trojzložkové: máme tri typy "farebných" receptorov - "červená", "modrá" a "zelená". Ale život ako zvyčajne je komplikovanejší - farba je určená vlnovou dĺžkou, a má akékoľvek hodnoty. Preto keď objekt odráža farbu medzi červenou a zelenou, tak reaguju aj červené aj zelené typy receptorov. Preto vidime "divné" miešanie farieb - v prípade, že objekt odráža červenú a zelenú farbu, uvidíme žltú, aj keď v skutočnosti tam "žltá" vlnová dĺžka nie je. Aby bolo jasnejšie: oko nemôže rozlíšiť, či objekt odráža čisto žlté svetlo (580 nm), alebo zelené (520 nm) a červené (680 nm). V oku sa aktivujú obidva receptory a v oboch prípadoch uvidíme rovnakú farbu, žltú. Realita je oveľa zložitejšia ako len RGB,preto aj existujú všetky problémy s "farebnými profilmi", "vyvážením" a "nesprávnym osvetlením".

Hlavné charakteristiky svietidiel

  1. Účinnosť (koľko viditeľného svetla produkuje lampa pri výkone 1W).
  2. Životnosť / spoľahlivosť
  3. Kvalita osvetlenia (spektrum, blikanie)

Základné typy svietidiel

  • žiarovky - historicky prvý typ svietidla. Veľmi zlá energetická účinnosť 8-10 lm/W. Hlavný problém so spoľahlivosťou je pri napájaní- čím je nižšia teplota, tym je nižšia odolnosť vlákna .
  • halogénové žiarovky - V skutočnosti ide o žiarovky, ale pridá sa do nich bróm alebo jód, čo zvyšuje životnosť a umožňuje zvýšenie teploty vlákna. Energetická účinnosť je o niečo lepšia - 10-15 lm/W, spektrum je tiež kontinuálne a posunuté do červenej oblasti.
  • žiarivky - nízkotlaková ortuťová výbojka, ktorá na premenu elektrickej energie na svetelnú využíva žiarenie tlejivého elektrického výboja v parách ortuti. Samotný výboj vyžaruje neviditeľné ultrafialové žiarenie, ktorým je ožarovaná tenká vrstva vhodného luminoforu, nanesená na vnútornej strane banky žiarivky.Energetická účinnosť kompaktných - od 50 do 70 lm/W (to je dokonca to najlepšie, čo má Phillips). Od prvého septembra 2009 bol v krajinách Európskej únie zakázaný predaj klasických žiaroviek s príkonom vyšším ako 80W a od prvého septembra 2012 bol zakázaný predaj klasických žiaroviek s príkonom vyšším ako 70W. Tieto obmedzenia sa výraznou mierou podpíšu na väčšom rozšírení tzv. kompaktných žiariviek (žiariviek do pätíc)[Wikipedia].
  • LED žiarovky - najlacnejšie biele LED - modrý + žltý fosfor, ktorý dáva podobu bieleho svetla, ale v skutočnosti je ďaleko od bielej. Oblasť vyžaroveného svetla je 450 a 550 nm, a zasahuje aj do oblasti od asi 500 po 600 nm. V dôsledku toho, sú farby skreslené s LED osvetlením. Najlepšiu energetickú účinnosť poskytujú na začiatku prevádzky 50-60 Lm/W
  • Sodíkové výbojky - viditeľné pri pouličných osvetleniach. Majú fenomenálnu účinnosť, zvyčajne 100-150, až 200 lm/W (4 krát účinnejšie než najlepšie LED žiarovky ), a sú lacné. Jediným problémom je, že svietia len žltým svetlom , takže sa môžu používať len pre pouličné lampy, sklady atď. Všetko, čo neodráža žlté svetlo, bude čierne.

Záver

  • Pre batériové aplikácie a dekoračné lampy je najlepším kandidátom LED žiarovka (vysoká odolnosť a vysoká efektivita).
  • Pre hlavné osvetlenie v miestnosti- žiarivka v "dobrom" rozsahu (skontrolujte webové stránky výrobcu).
  • Osvetlenie v miestnostiach, kde nie je potrebné pracovať - ​​energeticky úsporné žiarivky so slabým spektrom.
  • Osvetlenie na uliciach a skladoch - sodíkové lampy.
  • Normálne žiarovky - len pre daždivý deň.


Princíp činnosti WS2812B

LED diódy (pixely) WS2812B a LED pásy založené na týchto pixeloch sú pomerne populárne a to preto, lebo:

  • kompaktný - pixel obsahuje 3 LED diódy a ovládače pre nich ich (veľkosť len 5x5 mm)
  • jednoduché ovládanie - pixel je riadený jednoduchým sériovým rozhraním, ktoré sa dá jednoducho implementovať programovo aj pomocou hardvérových rozhraní (ako napríklad SPI a UART)
  • ovládanie pomocou jednej linky (bez započítania napájacích vodičov)
  • neobmedzený počet po sebe idúcich pixelov
  • pomerne nízke náklady (ak vypočítate náklady na 3 samostatné LED diódy a ovládače k ​​nim ,budú oveľa drahšie)
Led.jpg

Fyzicky, WS2812B má 3 LED diódy (červenú, modrú a zelenú) a ovládače PWM, ktoré ovládajú ich jas. Ovládače PWM sú 8-bitové, to znamená, že pre každú z farieb je možné použiť 256 stupňov jasu, takže pre nastavenie jasu pre každú z troch LED diód je potrebné prenášať pixel 8x3 = 24 bitov (3 bajty) informácií. Protokol na prenos informácií na jednoriadkovú LED s pevnou rýchlosťou. Jednotky a nuly informácií o jasnosti sú kódované dĺžkou vysokej a nízkej úrovne signálu v riadku.

1code.jpg

Každý z pixelov WS2812B má 2 výstupné výkony (VDD, VSS), vstup (DIN) a výstup (DOUT).

Vdd.jpg

DIN vstup sluzi na nastavenie novej farby. Informácie o farbe sa prenášajú postupne (začiatok najvyšším bitom) postupne pre každú z farieb komponentov G, R, B. Pixely sú pripojené v reťazci nasledovne:

Pixel.jpg

Zápis hodnôt farby do reťazca pixelov sa uskutočňuje nasledujúcim spôsobom: Prvých 24 bitov napojených na DIN sa zapisuje do dočasnej pamäte (farba zostáva nezmenená od predchádzajúceho času) prvého pixelu. Nasledujúce bity prechádzajú prvým pixelom cez seba a vyvedú ho do výstupu DOUT. Druhý pixel zopakuje kroky prvého (ponechanie prvých 24 bitov, ktoré dosiahli) a tak dalej. Aby sa hodnoty farieb z dočasnej pamäte pixelov sa aktivovali, mal by sa zachovať pauza v priebehu 50 μS. Po tejto pauze sa cyklus môže znova zopakovať.


3D model

Model.jpg

Pre výrobu a tlač nášho výrobku sme zvolili 3D tlačiareň a PLA plast. PLA plast je ideálnym materiálom pre 3D tlač prototypov a produktov. Napríklad ozdobné predmety, predmety, ktoré vyžadujú podrobné spracovanie, produkty na prezentáciu.

Tlac.jpg

Keď že niesme skúsení v 3D modelovaní, inšpirovali sme sa výrobkami z internetu. Počas modelovania, sme sa snažili nájsť najvhodnejšiu hrúbku lampy, aby ju LED diody dokázali presvetliť. Pre dobrú viditeľnosť zmeny farieb sme zvolili bielu farbu plastu.

Tlac1.jpg

Model sa da stiahnuť tu: [Hribik]

Popis riešenia

Pri hľadaní riešenia nášho problému, sme preskúmali množstvo riešení. Ale keďže sme v dobe internetovej, chceli sme využiť internet aj my, čiže môžeme tento projekt radiť medzi IOT riešenie. Pre toto riešenie bol najvhodnejší a najdostupnejší procesor ESP8266 ktorý obsahuje aj WiFi. Vybrané diody sú pre nás vhodné z viacerých dôvodov, či už spomenutej komunikácii alebo že obsahujú integrované regulátory napätia, čím nám odpadá ďalšia starosť. Diody (9ks) sme postupne prepojili vodičmi podľa schémy a pripojili na D2 pin procesoru (viď. obrázok)


Schéma zapojenia diod

Zapoj123.jpg

Algoritmus a program

Ako základný programovací jazyk sme si vybrali Arduino. Pre programovanie procesora ESP8266 bolo potrebné doinštalovať jeho podporu z oficiálneho repozitára Arduino. Na ovládanie sme použili síce pomerne zložitú knižnicu FastLED, ale za to veľmi dobre vybavenú a rýchlu. Keďže sme nechceli vymyslieť už vymyslené, na komunikáciu sme využili projekt Blynk. Bohužiaľ, je z časti komerčný a po presiahnutí istej úrovne použitých súčastí, je potreba platiť za ďalšie. Túto nevýhodu sme vyriešili spojazdnením si vlastného servera tejto služby, kde si tento kredit môžeme doplniť sami a bezplatne. Server je umiestený na komerčnom hostingu. Beží na ňom operačný systém CentOS. Celý ekosystém projektu Blynk je založený na rôznych widgetoch ako je Button, Slider, Dropdown. Keď si v mobilnej aplikácí vyskladáme vizuál aky chceme, priradíme každému prvku jeho označenie, ktorým ho identifikujeme v programe.


Program v procesore ma viacero častí, jedna z najdôležitejších sú príkazy na priojenie na WiFi a náš server

  WiFi.mode(WIFI_STA);
  Serial.begin(115200);
  Blynk.begin(AUTH, WIFI_SSID, WIFI_PASS, SERVER, 8080);

Jednotlivé funkcie prvkou Button a Slider vyzerajú nasledovne:

BLYNK_WRITE(vPIN_BRIGHTNESS) {
  if (varZone == ZONE || varZone == 1) {
    updateColours(arrayCurrent[0], arrayCurrent[1], arrayCurrent[2], param.asInt());
  }
}
 
BLYNK_WRITE(vPIN_COLOUR_RED) {
  if (varZone == ZONE || varZone == 1 && param.asInt()) {
    updateColours(1, 0, 255, 255);
    updateWidgets();
  }
}

Samotná funkcia loop potom len pozostáva z pár jednoduchých príkazov ktoré nám zaručujú udržanie pripojenia a akutalízaciu údajov

  Blynk.run();
  FastLED.show();


Zdrojový kód: Program.ino a Settings.h

Výsledok

Výsledna aplikácia vyzerá tak : Apppppppka.jpg

QR kód pre stiahnutie aplikácie : Apppppppkččččča.jpg


Kvalitu vytlačeného modelu považujeme za veľmi dobrú a sme s ňou spokojný. Čo nám ale urobilo neskutočnú radosť, je celkový výsledný dojem produktu, ktorý sa páči každému kto ho uvidí a chce jeden taký :)

Hribik1.jpg