Máte u postele budík? Vyhoďte ho! Dnes si totiž postavíme Wi-Fi hodiny. Díky RGB prstenci budou plné barev.

Máte u postele budík? Vyhoďte ho! Dnes si totiž postavíme Wi-Fi hodiny. Díky RGB prstenci budou plné barev.

Displeje hodin jsou za 0,5mm vytištěnou vrstvičkou z černého PETG Galaxy Black

Displeje hodin jsou za 0,5mm vytištěnou vrstvičkou z černého PETG Galaxy Black

Čelní stěna slouží jako difuzér, která zjemňuje ostrý obraz displejů

Čelní stěna slouží jako difuzér, která zjemňuje ostrý obraz displejů

Prstenec slouží jako skeundovka, která každých 15 sekund mění barvu

Prstenec slouží jako skeundovka, která každých 15 sekund mění barvu

Sekundovka se postupně mění ze zelené a mdoré  na červenou a bílou

Sekundovka se postupně mění ze zelené a mdoré  na červenou a bílou

A máme celou minutu, prstenec je plně rozsvícený

A máme celou minutu, prstenec je plně rozsvícený

RGB LED prstence seženete na webových tržištích za pár kaček. Pro náš projekt jsme použili prstenecs s 24 LED. 

RGB LED prstence seženete na webových tržištích za pár kaček. Pro náš projekt jsme použili prstenecs s 24 LED. 

Jak vlastně funguje základní RGB LED? Takto vypadají typické prototypovací moduly.

Jak vlastně funguje základní RGB LED? Takto vypadají typické prototypovací moduly.

Kanály R, G a B svítí plným jasem a vidíme bílé světlo

Kanály R, G a B svítí plným jasem a vidíme bílé světlo

Kanály R, G a B svítí plným jasem a vidíme bílé světlo

Kanály R, G a B svítí plným jasem a vidíme bílé světlo

Svítí jen kanály R a G a vidíme zhruba žluté světlo

Svítí jen kanály R a G a vidíme zhruba žluté světlo

Svítí jen kanály R a G a vidíme zhruba žluté světlo

Svítí jen kanály R a G a vidíme zhruba žluté světlo

RGB LED na proužvívh a prstencích mají v nitru ještě něco navíc – drobný černý čip. V tomto případě se jedná o ezi kutily oblíbený řadič WS2812B.

RGB LED na proužvívh a prstencích mají v nitru ještě něco navíc – drobný černý čip. V tomto případě se jedná o ezi kutily oblíbený řadič WS2812B.

Schéma sériového zapojení čipů WS2812B v jednotlivých LED barevného proužku či prstence

Schéma sériového zapojení čipů WS2812B v jednotlivých LED barevného proužku či prstence

Ukázka signálu pro prstenec s 16 RGB LED, jak jej zachytil logický analyzátor  Logic

Ukázka signálu pro prstenec s 16 RGB LED, jak jej zachytil logický analyzátor Logic

Výřez signálu pro osmou LED uprostřed. Bity mají pořadí GRB.

Výřez signálu pro osmou LED uprostřed. Bity mají pořadí GRB.

Kaskádové schéma protokolu WS2812B: K jednotce PIX1 dorazí kompletní signál D1, k jednotce PIX2 signál D2 ořezaný o prvních 24 bitů, k PIX3 o dalších 24 bitů a tak dále až na konec proužku či prstence. 

Kaskádové schéma protokolu WS2812B: K jednotce PIX1 dorazí kompletní signál D1, k jednotce PIX2 signál D2 ořezaný o prvních 24 bitů, k PIX3 o dalších 24 bitů a tak dále až na konec proužku či prstence. 

Prstenec s 16 RGB LED a dvě jsme rozsvítili programem níže

Prstenec s 16 RGB LED a dvě jsme rozsvítili programem níže

Prstenec s 16 RGB LED a dvě jsme rozsvítili programem níže

Prstenec s 16 RGB LED a dvě jsme rozsvítili programem níže

Prstenec s 16 RGB LED a dvě jsme rozsvítili programem níže

Prstenec s 16 RGB LED a dvě jsme rozsvítili programem níže

V sériové lince se nám vypisuje přesný čas průběžně synchronizovaný pomocí NTP serveru

V sériové lince se nám vypisuje přesný čas průběžně synchronizovaný pomocí NTP serveru

Každý segment je vlastně LED, kterou buď rozsvítíme, nebo zhasneme

Každý segment je vlastně LED, kterou buď rozsvítíme, nebo zhasneme

Každý segment je vlastně LED, kterou buď rozsvítíme, nebo zhasneme

Každý segment je vlastně LED, kterou buď rozsvítíme, nebo zhasneme

Každý segment je vlastně LED, kterou buď rozsvítíme, nebo zhasneme

Každý segment je vlastně LED, kterou buď rozsvítíme, nebo zhasneme

Komplexní segmentový displej ve formátu hodin XX:XX a s řadičem TM1637

Komplexní segmentový displej ve formátu hodin XX:XX a s řadičem TM1637

Hodinový segmentový displej je zpravidla k dispozici v různých barevných provedeních

Hodinový segmentový displej je zpravidla k dispozici v různých barevných provedeních

Hodinový segmentový displej je zpravidla k dispozici v různých barevných provedeních

Hodinový segmentový displej je zpravidla k dispozici v různých barevných provedeních

Hodinový segmentový displej je zpravidla k dispozici v různých barevných provedeních

Hodinový segmentový displej je zpravidla k dispozici v různých barevných provedeních

Aby byla krabička co nejodolnější, zvolil jsem při tisku robustní plast PETG

Aby byla krabička co nejodolnější, zvolil jsem při tisku robustní plast PETG

Zahoďte svůj starý budík

Zahoďte svůj starý budík

Zahoďte svůj starý budík

Zahoďte svůj starý budík

Zahoďte svůj starý budík

Zahoďte svůj starý budík

Displeje hodin jsou za 0,5mm vytištěnou vrstvičkou z černého PETG Galaxy Black
Čelní stěna slouží jako difuzér, která zjemňuje ostrý obraz displejů
Prstenec slouží jako skeundovka, která každých 15 sekund mění barvu
Sekundovka se postupně mění ze zelené a mdoré  na červenou a bílou
32
Fotogalerie

Programování elektroniky: Vyrobíme Wi-Fi hodiny do pokojíku každého geeka

  • Máte u postele budík? Vyhoďte ho!
  • Dnes si totiž postavíme vlastní Wi-Fi hodiny
  • Díky RGB prstenci budou plné barev a díky NTP ďábelsky přesné

Máte na nočním stolku budík, nebo vás probouzí váš mobil? Ale fuj, vyhoďte je do koše! Dnes si vyrobíme něco mnohem lepšího, postavíme si totiž vlastní digitální hodiny s efektním barevným prstencem namísto sekundové ručičky. Je tu další pokračování našeho seriálu Pojďme programovat elektroniku.

Hodiny doplní také segmentový displej pro zobrazení přesných hodin a minut a nikdy nebudou pozadu, každých pět minut si totiž synchronizují přesný čas skrze internet. Vytiskneme jim hezkou krabičkou s difuzním polopropustným čelním panelem.

Podívejte se na hotové hodiny na videu:

K dnešnímu projektu budeme potřebovat:

  • Krabičku hodin (STL model)
  • Menší desku s Wi-Fi čipem ESP8266 (Wemos D1 mini aj.)
  • RGB LED prstenec s 24 segmenty s čipem WS2812B
  • Čtyřznakový segmentový displej s čipem TM1637

Fajn, teď už to stačí jen všechno propojit dohromady a naprogramovat. V následujících odstavcích si vysvětlíme, co každá z komponent umí formou maličkého oživovacího kódu pro Arduino. V závěru článku pak najdete kompletní kód hodin se vším všudy.

Projekt si můžete stáhnout také z GitHubu

Aliexpress je plný RGB prstenců

Rozměry válcové krabičky bude definovat tvrdý prstenec s RGB LED za tenkou čelní stěnou, která bude fungovat jako difuzér. Plast z 3D tiskárny světlo zjemní a hezky rozptýlí. 

5abd885f-c0f5-4976-8a2e-759580a7a41e
Asijské e-shopy jsou plné všech možných variant RGB LED prstenců

LED prstence jsou levné, je jich plný Aliexpress (a mnohé české e-shopy pro kutily), a tak v něm jen stačí vyhledat frází „ws2812b ring“ a číselnou hodnotou ještě případně specifikovat, jak má být prstenec velký.

Jak funguje RGB LED?

Ale pěkně popořadě. Když si pořídíte drobný modul RGB LED světýlka, zpravidla má čtyři vodiče. Tři z nich slouží pro napájení jednotlivých barevných kanálů, no a tím čtvrtým je společná zem (GND), která uzavře celý elektrický okruh.

927f1834-4a8b-4f33-bc3b-8d63176cb001
Různé podoby prototypovacích modulů RGB LED

Když na červeném kanálu nastavíte logickou jedničku, začne protékat elektrický proud obvodem červené LED a ta se rozsvítí. Když naopak sepnete zelený kanál, světýlko se rozsvítí zeleně. Pomocí PWM signálu – velmi rychlého blikání – pak můžete nastavovat jas jednotlivých fyzických subpixelů, a když budete spínat vícero z nich naráz, smícháte barvy a celé světýlko se rozsvítí třeba žlutě nebo fialově.

f21c04ae-3d20-4a05-a8a3-d359fbb9b82bae7e81c2-01f9-499c-bdb9-a73fd4c13d85
Kanály R, G a B svítí plným jasem a vidíme bílé světlo
89ab89a4-8251-477a-ac52-b2735e1ffa95db347e1a-356a-460e-b0f4-83ea3a56edfa
Svítí jen kanály R a G a vidíme zhruba žluté světlo

Kvalitnější RGBW LED v televizních proužcích mají často ještě kanál W (white), který nám dodá čistou bílou s dostatečným jasem. Pomocí ostatních odstínů ji pak můžeme zašpinit a měnit její teplotu.

Čip WS2812B řídí LED proužky

No dobrá, ale RGB LED prstence a proužky nemají GND + (počet LED × 3) vodičů. Zpravidla disponují jen napájením (5V, 12V, 24V) a jedním jediným signálním vodičem. Jak lze skrze něj nastavit subpixely třeba i na několika desítkách až stovkách světýlek?

7b86bf1b-465e-434f-bcf3-df1f63f14686
Modul RGB LED s čipem WS2812B pod lupou

Pokračování článku patří k prémiovému obsahu pro předplatitele

Chci Premium a Živě.cz bez reklam Od 41 Kč měsíčně

Určitě si přečtěte

Články odjinud