
Veřejné osvětlení, světelné znečištění, cirkadiální rytmus, modrá složka – tyto pojmy se v poslední době velmi často skloňují. Sodíkové výbojky se nahrazují LED zdroji, které sice šetří energii, ale mají i svá negativa v podobě nepřirozené barvy – větší zastoupení modrého světla. Ta může ovlivňovat cirkadiální rytmus člověka a samozřejmě i faunu a flóru v okolí lampy.
Po zhlédnutém rozhovoru s nejmenovaným odborníkem na osvětlení, který má zároveň byznys v prodeji svých světelných zdrojů, mě napadlo postavit si vlastní spektrální analyzátor osvětlení.
Nápad bych měl, ale znalosti ne 🙁 . Tak jsem si vypomohl AI – jak s výpočty, tak i kontrolou postupu. Využil jsem několik AI tak, aby se kontrolovaly navzájem.
Projekt jsem pojal jako přenosný spektrální analyzátor světla, který dokáže měřit spektrum světla v rozsahu 410–940 nm, vyhodnotit podíl modré složky, indexu studenosti světla a spočítat teplotu chromatičnosti – CCT.
Tento projekt vznikl ve spolupráci s e-shopem http://botland.cz/, který měl skladem dostupný HW.
Použitý hardware
Inkplate 5 Gen2
Hlavním řídicím a zobrazovacím prvkem je deska Inkplate 5 Gen2, která obsahuje mikrokontrolér ESP32 a 5″ ePaper displej.

Inkplate nabízí různě velké, i barevné, a s různým rozlišením ePaper displeje už nalepené na řídící desku. Inkplate je už hotový produkt, který stačí použít. Na desce, kromě nalepeného ePaper displeje, najdete celou řadu periférií, které můžete využít RTC, microSD, I2C, GPIO header pro připojení dalších desek nebo senzorů. Taky má easyC konektor, což je kompatibilní SparkFun Qwiic a Adafruit STEMMA.
Parametry Inkplate 5 Gen2:
- rozlišení: 1280 × 720 px
- řízení pomocí ESP32
- velmi nízká spotřeba (18 uA)
- podpora režimu 1bit (černobílý) pro rychlejší překreslení, podporuje i grayscale (6 odstínů šedi)
- plné překreslení do 1s, částečné (partial refresh) za 0.22s
- vypínací tlačítko a wake-up tlačítko
- přídavné periferie přímo na desce (RTC, slot pro microSD a další)
- Podpora v Arduino IDE i MicroPython
- vestavěná 1200 mAh baterie
Výhody:
- výborná čitelnost na slunci
- minimální spotřeba mezi aktualizacemi (pouze 18 uA)
- dostatek výkonu pro zpracování spektrálních dat a souvisejících výpočtů
- nesvítí a tak neovlivňuje měření a nejsou potřeba speciální kryty osvětlení pro displej
- lepený ePaper, který je tak odolnější proti zničení
Proč jsem si pro zobrazení vybral zrovna ePaper/eInk displej, když jsem mohl použít klasický TFT?
Dal jsem si za cíl vytvořit takové zařízení, které bude přenosné a vydrží na baterku až dny. ePaper zároveň nesvítí a není tak třeba řešit stínění senzoru před nechtěným osvětlením z TFT displeje.
Inkplate 5 Gen2 je kompletně open-source a data můžete najít na jejich github i s modelem pro tisk na 3D tiskárně. Upravenou krabičku jsem tiskl a model je velmi dobře navržený k jednoduchému a bezproblémovému tisku.
ePaper/eInk je zároveň zajímavá zobrazovací technologie, kterou lze využít i pro jiné projekty jako jsou meteostanice, vlastní informační displej nebo informační displej napojený na Home Assistant.
Senzor světelného spektra AS7265x (AS72651, AS72652, AS72653)

Srdcem projektu je modul AS7265x, který obsahuje tři senzory:

Celkem:
- 18 spektrálních kanálů od 410 do 940 nm – tedy mnohem širší meřitelné pásmo než je viditelné spektrum
- rozhraní I²C
- Možnost řízení přisvětlení, RGB LED a tak podobně
Modul spektrálních senzorů AS7265x tak měří mnohem širší pásmo vlnových délek než by bylo potřeba. Lze jej tak použít i k dalším projektům.

Stínění pro tento senzor jsem použil z github tohoto projektu.
Použité knihovny
Projekt využívá tyto Arduino knihovny:
- InkplateLibrary https://github.com/
- SparkFun AS7265X https://github.com/
InkplateLibrary v sobě obsahuje spoustu jednoduchých i velmi pokročilých vzorových programů.
K tomu je potřeba nainstalovat podporu desek Inkplate
Arduino IDE -> File -> Preferences -> Additional boards manager URLs
https://github.com/SolderedElectronics/Dasduino-Board-Definitions-for-Arduino-IDE/raw/master/package_Dasduino_Boards_index.json

Projekt kompiluji v Arduino IDE s tímto nastavením desky

Co zařízení měří
1) Spektrum světla
Na displeji se zobrazuje sloupcový graf všech 18 kanálů, který umožňuje rozpoznat typ světelného zdroje podle tvaru spektra:
- LED – úzký modrý pík (kolem 450 nm) doplněný širokým fosforovým pásmem ve zbytku spektra
- Sodíková výbojka – minimum modré složky, dominantní úzké žluto-oranžové spektrum
- Halogen / slunce – spojité, plynulé spektrum bez výrazných špiček
U měření spektra se automaticky upravuje gain senzorů – citlivost senzorů – díky tomu lze měřit velmi slabé zdroje světla i velmi silné (slunce).
2) Podíl modré složky
Podíl modré oblasti je definován jako:
Blue = součet kanálů 410–485 nm
Visible = součet 410–075 nm
Blue_ratio = Blue / Visible
Tento parametr je klíčový pro hodnocení světelného znečištění a biologického vlivu světla.
3) Index studenosti (Cold index)
Poměr modré a červené složky:
Cold_index = Blue / Red
kde:
Red = součet 610–705 nm
Hodnoty:
- nízké → teplé světlo
- vysoké → studené LED
4) Výpočet korelované teploty chromatičnosti (CCT) ze spektra
Tento výpočet slouží k odhadu korelované teploty chromatičnosti (CCT) světla na základě naměřeného spektra ve 12 vlnových délkách (410–705 nm). Výsledkem je hodnota v kelvinech, která popisuje barevný charakter světla – od teplého (žlutého) až po studené (modré).
Vstupní pole obsahuje intenzity jednotlivých spektrálních kanálů – 18 kanálů z modulu AS7265x. Funkce z nich nejprve vypočítá tristimulační hodnoty X, Y, Z.
Tyto hodnoty vznikají jako vážené součty:
- X – reprezentuje kombinaci červené a zelené složky (široké spektrální citlivosti)
- Y – odpovídá jasu (fotopická citlivost lidského oka, maximum kolem 555 nm)
- Z – reprezentuje především modrou oblast spektra
Použité koeficienty jsou zjednodušenou aproximací standardních CIE 1931 barevných funkcí přizpůsobenou diskrétním kanálům senzoru.
Význam:
- Více energie v modré → vyšší Z → studenější světlo
- Více energie v červené → vyšší X → teplejší světlo
Naměřené hodnoty X, Y a Z se nejprve převedou na chromatičnostní souřadnice x a y, které popisují samotnou barvu světla bez vlivu jeho intenzity (normalizací podle součtu X+Y+Z).
Z těchto souřadnic se následně pomocí rychlé McCamyho aproximace vypočítá korelovaná teplota chromatičnosti (CCT), která převádí polohu barvy v diagramu CIE na teplotu v kelvinech.
Protože tato metoda je přesná pouze přibližně v rozsahu běžných světelných zdrojů, je výsledná hodnota omezena na rozmezí 1000–12000 K, aby se zabránilo nerealistickým výsledkům způsobeným šumem nebo netypickým spektrem.
Celý postup je navržen jako rychlá a výpočetně nenáročná metoda vhodná pro mikrokontroléry a spektrální senzory v embedded aplikacích.
| CCT (K) | Zdroj světla | Charakter světla |
|---|---|---|
| 1800 K | Svíčka | Velmi teplé, načervenalé |
| 2700 K | Žárovka / halogen | Teplá bílá |
| 3000 K | Teplá bílá LED | Mírně teplé světlo |
| 3500 K | Neutrálně teplé osvětlení | Kanceláře, obchody |
| 4000 K | Studená bílá | Neutrální, mírně technické |
| 5000 K | Denní světlo u horizontu | Jasné neutrální světlo |
| 6500 K | Zatažená obloha / D65 | Standardní referenční denní světlo |
| 8000 K | Silně zataženo / stín | Zřetelně namodralé |
| 10000 K a více | Jasná modrá obloha (bez přímého slunce) | Velmi modré světlo |
6) Intenzita osvětlení
Používá se součet viditelné oblasti 410–940 nm:
Intensity = Total
Nejde o lux (měřenou intenzity osvětlení), ale o relativní (bezrozměrnou) hodnotu vhodnou pro porovnání zdrojů mezi sebou.
Automatická regulace citlivosti
AS7265x umožňuje nastavit citlivost:
- 1×
- 3,7×
- 16×
- 64×
Algoritmus:
- při nízké intenzitě → zvýší gain
- při vysoké intenzitě → sníží gain
Díky tomu zařízení funguje od tmavého prostředí až po přímé osvětlení lampou nebo na slunci aniž by došlo k saturaci senzorů.
Zobrazení na Inkplate
Displej je rozdělen na dvě části:
Levá část
- graf spektra 410–940 nm
- popisy vlnových délek
- aktuální hodnoty kanálů
Pravá část
- Blue %
- Cold index
- CCT
- Intensity
- aktuální Gain (zesílení)
Aktualizace probíhá každých 30 sekund.
Problémy a chyby měření pomocí tohoto přístroje
Co jsem tu zatím nezmínil je to, že tento projekt si nedává za cíl konkurovat profesionálním měřícím zařízením.
Použitý senzor sice patří mezi ty kvalitnější, problém ale spočívá v tom, že přístroj není nijak „kalibrován„. Nemám referenční zdroj světla, ke kterému bych mohl vztáhnout výsledky.
Navíc výpočty vytvořila AI… a nebudou možná i přesnější než výsledky levnějších spektometrů? Kdo ví.

Nicméně po kalibraci s referenčním zdrojem světla by tyto kalibrace mohly být zahrnuty do kódu a automaticky přičteny či odečteny napříč všemi kanály.
Pak by z tohoto projektu spektometru mohl být velmi kvalitní přístroj pro měření osvětlení a jeho parametrů. Nyní je to orientační přístroj pro porovnání světelných spekter různých zdrojů světla.
Vytvoření algoritmů pro výpočet vytvořilo Claude + chatGPT + Perplexity a jejich vzájemná kontrola výpočtu.
Závěr
Projekt si dal za cíl inspirovat čtenáře zajímavou konstrukcí všeobecně užitečného zařízení s běžně dostupnými komponentami.
I když nedisponuji znalostmi o osvětlení a měření světelného spektra, s AI jsme to dali dohromady 😀
Kombinace Inkplate 5 Gen2 a senzoru AS7265x tak umožňuje vytvořit relativně levný, ale velmi schopný spektrální analyzátor světla. Projekt ukazuje, že i s běžně dostupným hardwarem lze získat informace, které běžné spektrometry světelného záření neposkytují.
Když uvážíme, že máme zdroj referenčního světla, kterým můžeme náš spektometr „kalibrovat“.
Výsledkem je zařízení, které dokáže nejen zobrazit spektrum světla, ale také vyhodnotit jeho biologický dopad a kvalitu.
Kód pro ESP32 (Inkplate 5 Gen2) a modul senzoru najdete na github.
Tento projekt vznikl ve spolupráci s e-shopem http://botland.cz/, který měl skladem potřebný HW.







Žádné sociální komentáře k dispozici.