Projekt vícekanálového spektrálního analyzátoru (veřejného) osvětlení

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 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ětlaCharakter světla
1800 KSvíčkaVelmi teplé, načervenalé
2700 KŽárovka / halogenTeplá bílá
3000 KTeplá bílá LEDMírně teplé světlo
3500 KNeutrálně teplé osvětleníKanceláře, obchody
4000 KStudená bíláNeutrální, mírně technické
5000 KDenní světlo u horizontuJasné neutrální světlo
6500 KZatažená obloha / D65Standardní referenční denní světlo
8000 KSilně zataženo / stínZřetelně namodralé
10000 K a víceJasná 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:

  • 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.

Sdílejte článek:
Ukaž světu,
že jsi Maker!
Koupit tričko
Kafe pro Chiptrona
Dodej energii dalšímu článku

Související články

V supermarketech jsou už Vánoce v plném proudu, je tedy nejvyšší čas sepsat článek plný tipů, co by si kutil/ka, bastlíř/ka a 3D tiskař/ka mohli přát pod vánoční stromeček. Sepsal jsem zajímavé nářadí a věci, které se jim mohou hodit.…

Picotronix

Bastlíř na svém pracovním stole často potřebuje osciloskop, generátor signálu nebo nebo logický analyzátor. Pro hobby projekty nebo výuku je ale takové vybavení často zbytečně drahé a ne vždy plně využité. Projekt Picotronix přichází s jiným přístupem – nabízí nízkonákladovou,…

Tento projekt 8 bitového spektrálního analyzátoru je spíše takové ukazovátko.

Poslední měsíc v roce 2025 je za námi a máme tu seznam novinek z českých e-shopů, které jsem vybral. Novinek je 14 a najdete mezi nimi odsavač výparů, knihu, opletený LED pásek, 1000W zdroj, multimetr & osciloskop a nechybí 5G…

Trendy