Ebben a cikkben néhány nagyon hasznos hatást mutatunk a belső terekre, amelyeket LED-szalaggal lehet létrehozni. Beszélünk továbbá az algoritmusokról, arról, hogy a matematikai számítások miként teszik lehetővé a LED-ek számára a meleg és a kényelem illúzióját, nevezetesen a lángot, az igazi digitális lángot.
Az összes, később elemzésre kerülő forráskód képes letölthető a projekt oldaláról szerző (AlexGyver).
Először foglalkozzunk elektronikus komponenst. Magadnak csináld magad készítsen ilyen szépséget otthon A következő alkatrészekre van szükség:
- RGB szalag meghajtó;
- RGB szalag;
- 12 V tápegység RGB szalaghoz;
- Arduin® Nano.
Bármelyikük letöltheti és letöltheti a firmware-t, és megszerezheti digitális kandallóját. Ebben a példában a LED-csíkokat a mikrovezérlőről vezéreljük Arduino Nano.
Kezdjük a legegyszerűbb, nulla dimenzióval - egy ponttal (vagy egy egész szalagponttal).
Ez a leggyakoribb RGB LED-sáv, amelyet 12 V-os tápellátással lát el, és minden színhez háromcsatornás vezérléssel rendelkezik.
A PWM jel (8 bites) segítségével beállíthatja az egyes színek fényerejét, így 16,7 millió színt és árnyalatot kaphat. De érdekli a tűz, vagy inkább annak utánzata. A láng szimulálására úgy döntöttek, hogy a hsv színtérben (szín, telítettség, fényerő) működnek.
Ez a 3 paraméter lehetővé teszi, hogy 255 alapárnyalatot kapjon, plusz mindegyik árnyalat, hogy 255 telítési fokozatot hozzon létre, azaz keveredik fehér színű. Nos, a harmadik paraméter a fényerő, egyszerű nyelven - árnyék és fekete keverék.
Számos algoritmus létezik a kényelmes hsv térről RGB-re történő konvertálásra, csak használja az egyiket.
Ezután meg kell határoznia a tűz viselkedését. Tegyük fel, hogy a lángszilárdság egy bizonyos mennyiség, amely a minimális értékben a LED-ek telített vörös színű és alacsony fényerősségű, a maximális érték pedig fehérsárga és maximális fényes színt eredményez.
A lánghatás eléréséhez ezt az értéket véletlenszerű oszcillációs mozgásokkal kell elvégezni, a mozgásoknak véletlenszerűnek kell lenniük, de ugyanakkor meglehetősen simaak, azaz valami hasonló, mint egy remegő fény. Ezt az értéket követve megváltozik a láng szín és fényerő a gradiens mentén.
A szerző az alábbiak szerint oldja meg ezt a problémát: létezik egy nagyon egyszerű szűrési algoritmus, egy futó átlag, amely az érték hirtelen változását sima folyamattá változtatja, csupán egy együtthatóval és meglehetősen egyszerű számítással.
Az ötlet ez: szükséges, mondjuk másodpercenként ötször, új véletlenszerű pozíciót kell beállítani a tűz értékére, és másodpercenként körülbelül 50-szer körül szűrni ezt az értéket, fokozatosan megváltoztatva. Ennek eredményeként létrejön egy ilyen véletlenszerű folyamat.
Egy valós példában minden a kívánt módon működik.
Most át kell állítanunk értékünket a láng színére a fent említett törvénynek megfelelően, és egydimenziós tüzet kell kapnunk.
Az így beprogramozott LED-csíkot elrejtheti például az alaplap vagy valamilyen kiemelkedés. Ezenkívül egy ilyen szalag háttérvilágítást is nyújthat, nagyon érdekesnek és szokatlannak tűnik.
A szalagot kis távolságból a padlóra is el lehet juttatni, és ezzel meglehetősen érdekes hatást érhet el.
És természetesen egy darab szalag felhasználható egy kandalló megvilágítására vagy szimulálására. És ha eltávolítja a világos színt sárga-narancssárga színűre, akkor kapható az izzó szén utánzata.
Mivel RGB szalagunk van, önmagában bármilyen színű tüzet készíthetünk. Halottzöldet akarsz - olyan könnyen!
Varázslatosan kék tűzre van szükségünk - nincs probléma!
Ezután telepítse a programot és az illesztőprogramokat, ahogyan az a használati útmutatóban található projekt oldal, töltse le és futtassa a firmware-t.
A legelején minden szükséges beállítás megtalálható. Ezek segítségével teljes mértékben testreszabhatja a tüzet saját magának, nevezetesen: szín, viselkedés és hasonlók.
Valójában ez volt a legegyszerűbb módja a LED-szalag „égésének”. Most nézzünk meg még érdekesebb példákat. További munkához szüksége lesz cím által vezetett szalag.
Ez a szalag lehetővé teszi az egyes LED-ek egyenkénti vezérlését, és mindegyikük tartalmazza a 16,7 millió színárnyalatot.
Minden nagyon egyszerűen kapcsolódik, a következő rendszer szerint:
Nincs szükség meghajtókra, de ellenállás ajánlott. Mehet nélküle, de előfordulhat, hogy az első LED kiég, és ha ez megtörténik, akkor a következő nem is működik.
Közvetlen megvilágítással, például a kanapé alól, kiváló, pokolias kanapét kap, amelynek szénje meg fakad.
Ezenkívül egy ilyen szalagot be lehet illeszteni egy rendesbe könnyű profil és a belső tér független elemeként való felhasználás.
Nagyon jól néz ki, egyetértek, de próbáljuk meg még mindig elérni az egyedi lángokat.
Az algoritmust változatlanul hagyjuk. A szalagot különböző szélességű zónákra bontjuk, minden zónának megvan a saját véletlenszerű folyamata. Annak érdekében, hogy ez a folyamat még inkább valódi lánghoz hasonlítson, kitölti a zónákat a szélektől a középpontjáig, fokozatosan növelve véletlenszerű értékünket aktuális értékére. Az égési folyamat során a zónák méretének is véletlenszerűen meg kell változnia.
Így néz ki:
Most nézzünk egy másik érdekes véletlenszerű folyamatot, a Perlin zajt, azaz Ken Perlin 1983-ban jött létre.
A Perlin zaja lehetővé teszi a nagyság véletlenszerűen simított eloszlásának létrehozását tetszőleges számú dimenzióban. A Photoshop közismert felhőszűrője egy példája a kétdimenziós Perlin-zajnak.
De Perlin háromdimenziós zaja lehetővé teszi például egy hegyvidéki táj generálását, ráadásul nagyon véletlenszerűen és végtelenül, ugyanakkor gyakorlatilag anélkül, hogy a számítógép alkatrészeire terhelést kellene létrehozni, mivel az algoritmus nem nagyon számítási szempontból drága.
A cselekvési terv a következő: először létrehozzuk a Perlin-zaj kétdimenziós régióját, és egy bizonyos módon tovább mozogunk rajta, letapogatva a pixelek sorát, és a LED-ekre bocsátva.
A fent említett algoritmus nem túl bonyolult és Arduino nyugodtan foglalkozz vele.Az eredmény egy nagyon hűvös hatás, a lehető legszélesebb, véletlenszerű, és már nagyon hasonló a végvilágítás valódi lángjához.
Közvetlen világítás esetén ez a következőképpen néz ki:
De ezek mind egy szalag tűz algoritmusai voltak. És mi lenne, ha a szalagot cikcakk mintába ragasztanák, és megpróbálnának kétdimenziós tüzet okozni a mátrixon?
Ilyen mátrixokat meg lehet vásárolni a kínáktól. A mátrix fölé helyezzünk egy autófóliával színezett diffúzort és üveget, vagyis ez egy igazi amold ultra-alacsony felbontású kijelző.
Mellesleg nagyon reálisnak tűnik. További részletek a szerző eredeti videójában találhatók:
Ez minden. Köszönöm a figyelmet. Találkozunk hamarosan!