‘ Arduino, i ozdoby witeczne Dzie dobry. Poniewa akurat arduinowe spotkanie wypado akurat, w wita postanowiem, omwi, tak, zwane, inteligentne, diody, RGB, z, ktrych moemy, zrobi ozdoby na choink albo ognisko do szopki. Sprostowanie. Na pocztek mae sprostowanie., W poprzednim odcinku wkrad si bd a Wzi si on z, niesprawdzonej, do koca przeze mnie informacji, o moliwoci popeniania uproszcze, w rodowisku Arduino przez wykonywanie odpowiednika mikkiego resetu za pomoc odwoywania si do funkcji loop, nawet, z, ptli, warunkowej., Tak, jednak, robi, nie, mona., Najszybszym, sposobem, naprawy, tego, problemu, jest zamienienie, tych, polece, komend, return., Przerywa ona prac funkcji warunkowej ju, w sposb, w peni legalny. Sposobw jest wicej ale, dzi nie, o tym., A przy okazji w zabawie, w programowanie wane jest by wszelkie nowo poznane elementy weryfikowa, w kilku miejscach zwaszcza te nieoczywiste. Czas na witowanie z, Arduino czyli na przygody, ze Wiatekami. 16 milionw kolorw raz jeszcze., W odcinku Arduino, i 16 milionw kolorw przedstawiem zagadnienia sterowania diodami RGB. I oczywicie w ten sposb bardzo czsto pracuj rnego rodzaju wiecideka. Jednak rozwj elektroniki sprawi e na rynku pojawiy si LED y ktrych sterowaniem zajmuje si mikrokontroler znajdujcy si ju w samej strukturze. Wydaje si to dziwnym marnotrawstwem komputer w diodzie wieccej A jednak. I takie LED y bynajmniej nie s: drosze od zwyczajnych diod, RGB. Jaki to ma cel Cele s. Dwa may do sterowania angaujemy tylko jedn lini danych zamiast trzech. I nie potrzeba tu niczego modulowa by osign dowoln barw bo po wysaniu jej parametrw szeregow magistral komputerek, w diodzie zadba ju, o reszt.

Drugi cel jest duy kada dioda ma take wyjcie danych, do ktrych podcza si kolejn diod. Odwoujc si do konkretnej w acuchu moemy stworzy struktury Skadajce si nawet z, tysica LED w z, ktrych kady bdzie wieci, w innym kolorze. I z, inn jasnoci. Umoliwia to tworzenie wietlnych animacji przy maksymalnym uproszczeniu sterowania. I pocze. O tym jednak opowiem innym razem a dzi skupi si na pojedynczej diodzie. W przypadku LED w o nazwie WS2812B schemat podczenia jest niezwykle prosty potrzebny jest tylko jeden rezystor zabezpieczajcy. I kolejne pomidzy poszczeglnymi strukturami. Reszta to ju tylko zasilanie. I masa. Na pytce ktrej uywam od jakiego czasu zainstalowano 5 takich diod 4 na spodzie i 1 na grze. acuch jest podpity do portu 12 wic od razu mona przystpi do zabawy. Na pocztek sprbujmy, tak diod zawieci., Jak, zawsze, zaczniemy, od, doczenia, biblioteki, ktra powinna by ju. W zestawie wic prawdopodobnie nie trzeba bdzie jej ciga. Zaraz potem naley zadeklarowa parametry wieccego acucha, a waciwie jednej diody bo jak wspomniaem dzi zajm si tylko LED em znajdujcym si na grze pytki. Dioda to nazwa naszego jednodiodowego acucha. 1 oznacza e mamy tylko jedn, diod., 12 e Linia danych podczona jest do portu 12 a pozostae parametry dotycz konkretnych diod. I w razie potrzeby naley stosownych informacji poszuka w dokumentacji biblioteki. Typowe LED y WS2812 nie bd wymagay tutaj zmian. Poznajemy wiecce komendy. Cay nasz pierwszy szkic bdzie tylko testem transmisji danych midzy Arduino, a diod. Wspprac naley zacz zawsze od inicjalizacji mikrokontrolerw znajdujcych si w strukturach oczywicie jednorazowo.

Tutaj taka uwaga ta linia bdzie konieczna za kadym razem, gdy, bdziemy, chcieli, uzyska, efekt, tego, co, wykonamy, w linii znajdujcej si wyej. Jest to jakby rodzaj takiego entera zatwierdzajcego., W tym przypadku potwierdzamy ch dokonania inicjalizacji. Teraz sprbujemy, zawieci, czerwon struktur diody. Do tego suy ta instrukcja. Dioda To nazwa naszego acucha zadeklarowanego na pocztku. setPixelColor oznacza ch ustawienia, konkretnego koloru., Zero to numer diody, w acuchu, w tym wypadku jest to jedyna dioda. Nastpnie mamy znowu nazw naszego acucha diod oraz konkretne, dane w systemie RGB czyli trzech barw podstawowych czerwonej zielonej, i niebieskiej. Kada z, Nich moe przyj omiobitow warto. Jeli zechcemy koloru czerwonego wystarczy wystawi 255 na pozycji pierwszej, a zera na pozostaych dwch. Tutaj znowu musimy zatwierdzi to co wysalimy wyej i dopiero w tym momencie dioda zawieci si na czerwono. Kompilujemy sprawdzamy. I dziaa. No ale to nic nadzwyczajnego. Pobawmy si teraz paroma uytecznymi funkcjami. Zapalenie diody przeniesiemy do ptli gwnej. I zatrzymamy si na sekund. Zaraz potem uyjemy kolejnej funkcji ktra okrela jasno wiecenia. Oczywicie, mona j zastpi znan ju funkcj wczenia, konkretnego, koloru, ale, tak, jest prociej, a poza tym ta funkcja reguluje jasno caego acucha. Wic jeli, mielibymy tutaj 100 diod musielibymy, wysa, 100, komunikatw korygujcych jasno. Do wszystkich diod po kolei, a tak moemy to zrobi hurtem. Po sekundzie, ustawimy z, powrotem jasno stuprocentow. Ta warto jak wikszo take jest omiobitowa czyli najjaniej to 255 Kolejna funkcja gasi wszystkie diody., W zasadzie to jest to samo co, wysanie, jasnoci, zerowej, ale, tak, jest czytelniej, z, Punktu widzenia programisty.

, O modelu RGB chyba kady sysza. Jest on intuicyjny skada, si z, 3 skadowych trzech barw podstawowych. I im wiksza konkretna warto tym janiej wieci si konkretny kolor. Z, mieszaniny tych barw, mona zrobi, w zasadzie dowolny kolor ktry sobie wymylimy. Istnieje kilka innych modeli bdcych przeksztaceniem, tego., HSV z, pocztku wydaje, si by dziwny lecz po chwili wida e jest bardziej naturalny. Pierwsza warto to Pozycja na kole barw. Zaczynamy od czerwieni wpadajc, w ziele niebiesko fiolet, i po zatoczeniu koa znowu ldujemy w czerwieni. Druga zmienna oznacza nasycenie, im wicej tym wiksze. Wyzerowanie da szaroci albo biele. Trzecia zmienna to jasno. Wane, jest tutaj to e odcie, jest traktowany dokadniej ju nie omioma. A szesnastoma bitami. Dlatego te w programie wprowadz zmienn szesnastobitow ktra bdzie si zwiksza bez koca w ptli. Na szczcie przekroczenie jej wartoci nie, spowoduje, awarii bo zmienne s, sklejone kocami e, tak, powiem co, znaczy e przyjcie, wartoci 65536 sprawi e warto stanie, si zerem. I proces jej zwikszania zacznie si od pocztku., Tak sam sztuczk, moemy zrobi, take z, wartociami omiobitowymi tylko tutaj przepenienie nastpi szybciej przy liczbie 256 Spjrzmy na wynik dziaa programu. Dioda powoli zmienia, barw, podrujc, przez, tcz po czym na kocu miesza, si z, barw z, jej pocztku. I tak w nieskoczono. Ale troszk to jest nieprecyzyjne., Dane wyliczone matematycznie niekoniecznie, wsppracuj z, czuoci naszego oka. Biblioteka zostaa zaopatrzona, w kolejn funkcj gamma32 ktra argumenty ujte, w nawiasach dodatkowo przelicza, tak by osign efekty, zgodnie, z, czuoci ludzkiego, oka., Po wysaniu zmodyfikowanego programu efekt, zmian barw zmieni.

Si lecz zmiana ta bdzie w praktyce bardzo subtelna., W zasadzie co takiego na choince bdzie ju cieszy oko. Diod najlepiej wmontowa, w jak krysztaow, gwiazd. Z, braku takowej postawiem na pytce kieliszek. I te piknie wieci cho na choink nadaje si warunkowo. Majc ju wystarczajco duo, wiedzy jak sterowa diod sprbujemy pobawi si artystycznie matematycznie. Funkcje losowe moje ulubione. Funkcje losowe. I prosta matematyka pozwala na tworzenie bardzo atrakcyjnych animacji wiate. Sprbujmy stworzy emulacj, aru z, ogniska. Wykorzystamy, w tym celu model HSV poniewa, jest atwiejszy, w realizacji z, perspektywy naszego problemu. Najpierw zaoenia. Nasz ar bdzie si oczywicie arzy czyli zmienia jasno, w czasie niestabilnie jak prawdziwe, dogasajce ognisko. Gdy przyjrzymy si temu zjawisku odkryjemy e zmienia si take barwa czasem pojawia si jaki pomie. I czerwie staje si pomaraczowa, i ta. Do tego jeszcze pojawiaj si jasne rozbyski w mao nasyconym kolorze. Wszystko to jest subtelne. I wymaga wielu prb bo obliczenia mona poczyni jedynie orientacyjnie. Zadeklarujemy sobie zmienn ognisko. Bdzie ona wpywa na wszystkie trzy parametry barwy modelu HSV., W kadym przejciu przez ptl wylosujemy, jej, warto, z, wskiego przedziau, midzy 224, a 255. Nastpnie korzystajc z, niej ustawimy, barw. Troszk to zrobi naokoo Ale dziki temu atwiej bdzie zrozumie skd si bior takie dziwne wartoci. Najbardziej czerwon barw bdzie karmin. Jego reprezentacja, w modelu HSL to 63488. Barw t mona doda na oko, korzystajc z, poprzedniego szkicu, albo, ustawi np., w Photoshopie po czym z, proporcji zamieni system ktowy na uamek, szesnastobitowej Liczby. Zakadam e maksymalne rozbyski zmieni nam, t barw na odcie pomaraczowo ty.

Jeli podstawimy za zmienn ognisko warto 255 da nam to 63488 255, 223, 160, 3072. Moemy sobie oczywicie zobaczy t barw, podstawiajc warto, w poprzednim szkicu. Jeli chodzi, o nasycenie tutaj trzeba, dziaa, delikatnie., Dla, najniszej, Losowej rwnej 224 otrzymamy 479, 224 255 czyli maksymalne wysycenie. Natomiast, gdy, losowa, przyjmie, warto, najwiksz, czyli, 255, otrzymamy, 479, 255, 224, co da nieco osabione wysycenie, czyli pojawi, si wicej bieli.. No, i na kocu warto ostatnia jasno. Tym razem nie bdzie adnych oblicze uyjemy wprost wylosowanej, wartoci. Jasno bdzie, si losowo zmienia midzy liczb 224, a maksymaln czyli 255. Po wysaniu, tak mozolnie dobranych wartoci naley poczeka, chwil, sto, milisekund, akurat, bdzie, dobrze, udawa, wesoy, ar., Pozostao nam, uzbiera Drwa i uoy je na pytce. Kilka zapaek bdzie akurat w sam raz Zachcam do eksperymentowania z, liczbami mona otrzymywa subtelne efekty jak. I bardziej nerwowe rezultaty. Mniej nerwowe ognisko. Na dusz met jednak ta emulacja ogniska, jest troch mczca, a po zwolnieniu to znaczy zwikszeniu opnienia robi, si poklatkowa. Sprbujmy nieco przerobi nasz program; tchnc, w ognie nieco agodnoci. Powoam do ycia jeszcze jedn zmienn. Tym razem to ona bdzie losowana, A poprzedni algorytm obliczajcy barw nasycenie, i jasno bdzie tym razem kry, w ptli najpierw, zmierzajcej z, poziomu wyjciowego to jest wysyconego karminu, o jasnoci 224 ku wartoci, losowej z, przedziau od 225 do 255, o jeden. Zatem rozjanianie bdzie agodne. Po osigniciu maksimum nastpi, proces odwrotny. I kolejne losowanie. Znan ju zawi procedur przeliczania danych wrzuc do podprogramu ale bez pauz.

Te oczywicie skrcone wzgldem poprzedniego przykadu bd niezalene dla rozwietlania, i wygaszania ogniska jak to jest w prawdziwym ognisku rozwietlanie szybciej a wygaszanie wolniej.. I ju na koniec jeszcze jedna propozycja tym razem agodnie zmieniajcych si kolorw banieczkowej chatki. Od czasu do czasu chatka bdzie zmienia barwy wawiej, a wszystko bierze si z, tego e wprowadziem tutaj jeszcze dwie zmienne losowe ktre decyduj, o szybkoci pauz wpywajcych na tempo rozjaniania. I ciemniania. Program w zasadzie rni si niewiele od poprzedniego poza wymienionymi pauzami oraz zwikszeniu zakresu przestrajania, barwy. Z, tego wzgldu nasycenie. I jasno pozostawiem na staym maksymalnym poziomie bo regulacja jeszcze tych parametrw, w tym przypadku jest zbdna. Regulujc zmienne moemy osign zupenie nowe wyniki, a uywajc funkcji wykadniczych czy trygonometrycznych inn dynamik zmian, w czasie. Ale, o tym ju przy innej okazji. Zapraszam do subskrybowania zalajkowania, i pozostawienia komentarza.

https://www.youtube.com/watch?v=_7PRf3tCBEc