Pojďme programovat elektroniku

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ě
Diskuze (2) Další článek: Microsoft Dev Box možná ukazuje, jak bude vypadat mašina každého vývojáře za pár let

Témata článku: , , , , , , , , , , , , , ,