» Elektronika » Arduino »Gaisro poveikis LED juostoms ir„ Arduino “

Gaisro poveikis LED juostoms ir „Arduino“

Sveikinimai mūsų svetainės gyventojų!
Šiame straipsnyje mes apsvarstysime keletą labai naudingų interjero efektų, kuriuos galima sukurti naudojant LED juostelę. Taip pat kalbėsime apie algoritmus, apie tai, kaip matematiniai skaičiavimai leidžia šviesos diodams sukurti šilumos ir jaukumo iliuziją, būtent liepsną, tikrą skaitmeninę liepsną.

Visi šaltinio kodai, kurie bus analizuojami vėliau, gali atsisiųsti iš projekto puslapio autorius (AlexGyver).

Pirmiausia spręskime e komponentas. Sau daryk pats pasidaryk tokį grožį namuose Reikalingi šie komponentai:
- RGB juostos tvarkyklė;
- RGB juosta;
- 12 V maitinimas RGB juostai;
- „Arduinо Nano“.



Bet kuris iš jūsų galite atsisiųsti ir atsisiųsti programinę-aparatinę įrangą ir įsigyti savo skaitmeninę atmintinę. Šiame pavyzdyje mes valdysime LED juostas iš mikrovaldiklio Arduino Nano.

Pradėkime nuo paprasčiausio, nulinio matmens - taško (arba visos juostos taškų).


Tai yra pati įprasčiausia RGB LED juostelė, kurią maitina 12 V ir turi trijų kanalų valdymą kiekvienai spalvai.


Naudodamiesi PWM signalu (turime jį 8 bitų), galite nustatyti kiekvienos spalvos ryškumą ir taip gauti 16,7 milijono spalvų ir atspalvių. Bet mus domina ugnis, tiksliau, jos imitacija. Imituoti liepsną buvo nuspręsta dirbti hsv spalvų erdvėje (spalva, sodrumas, ryškumas).

Šie 3 parametrai leidžia jums gauti 255 pagrindinius atspalvius, pridėjus kiekvieną atspalvį, kad būtų sudarytos 255 sodrumo gradacijos, t. susimaišo su balta spalva. Na, trečiasis parametras yra ryškumas, paprasta kalba - atspalvio ir juodos spalvos mišinys.

Yra keli algoritmai, kaip konvertuoti iš patogios hsv vietos į RGB, tereikia naudoti vieną iš jų.

Kitas, jūs turite nurodyti gaisro elgesį. Tarkime, liepsnos stipris yra tam tikras dydis, kuris esant minimaliai vertei suteikia šviesos diodams prisotintą raudoną spalvą ir mažą ryškumą, o didžiausia reikšmė suteikia baltai geltoną ir maksimalią ryškią spalvą.

Norėdami gauti liepsnos efektą, turime šią reikšmę priversti atlikti atsitiktinius svyruojančius judesius, judesiai turi būti atsitiktiniai, tačiau tuo pat metu gana sklandūs, tai yra, kažkas panašaus į drebančią šviesą. Atlikus šią vertę, atitinkamai pasikeis liepsnos spalva ir ryškumas išilgai nuolydžio.



Autorius siūlo šią problemą išspręsti taip: yra toks labai paprastas filtravimo algoritmas, kurio vidutinis rodiklis, kuris staigų vertės pokytį paverčia sklandžiu procesu, tereikia vieno koeficiento ir gana paprasto skaičiavimo.

Idėja yra tokia: būtina, tarkim 5 kartus per sekundę, nustatyti naują atsitiktinę gaisro vertės vietą ir maždaug 50 kartų per sekundę filtruoti šią vertę, palaipsniui ją keičiant. Dėl to susidaro toks atsitiktinis procesas.

Realiame pavyzdyje viskas veikia kaip numatyta.

Dabar mes turime išversti savo vertę į liepsnos spalvą pagal aukščiau paminėtą įstatymą ir gauti vienmatį ugnį.


Tokiu būdu užprogramuota LED juostelė gali būti paslėpta, pavyzdžiui, ant grindjuostės ar kažkokios iškyšos. Taip pat tokia juostelė gali suteikti foninį apšvietimą, ji atrodo gana įdomi ir neįprasta.

Juosta taip pat gali būti siunčiama į grindis nedideliu atstumu ir taip pasiekti gana įdomų efektą.

Ir, žinoma, juostos gabalas gali būti naudojamas židinio apšvietimui ar jo modeliavimui. O jei pašalinsite ryškią spalvą nuo geltonos iki oranžinės, gausite kvepiančių žarijų imitaciją.

Kadangi mes turime RGB juostą, mes patys galime padaryti bet kokios spalvos ugnį. Norite negyvos žalios spalvos - taip lengvai!

Mums reikia stebuklingai mėlynos ugnies - jokių problemų!

Tada įdiekite programą ir tvarkykles, kaip parašyta instrukcijose projekto puslapis, atsisiųskite ir paleiskite programinę-aparatinę įrangą.
Pačioje pradžioje yra visi reikalingi nustatymai. Jų pagalba jūs galite visiškai pritaikyti ugnį sau, būtent: spalvą, elgesį ir panašiai.


Tiesą sakant, tai buvo lengviausias būdas priversti LED juostą „sudegti“. Dabar pažvelkime į įdomesnius pavyzdžius. Tolesniam darbui jums reikės adresas veda juostelę.

Ši juosta leidžia individualiai valdyti kiekvieną jos šviesos diodą ir kiekvienas turi 16,7 milijonų spalvų atspalvių.
Viskas yra sujungta labai paprastai, pagal šią schemą:

Nereikia vairuotojų, tačiau rekomenduojama naudoti rezistorių. Galite išsiversti be jo, tačiau yra galimybė sudeginti pirmąjį šviesos diodą, o jei tai atsitiks, tada kiti taip pat neveiks.
Tiesiogiai apšviečiant, pavyzdžiui, iš po sofos, jūs gaunate puikią pragarišką sofą, kurios kvapas yra anglys.


Taip pat tokią juostą galima įrėžti į įprastą lengvas profilis ir naudoti kaip savarankišką interjero elementą.

Tai atrodo gana gerai, sutikite, bet vis tiek pabandykime pasiekti atskirą liepsną.

Paliksime algoritmą tą patį. Mes suskaidome juostą į skirtingo pločio zonas, kiekviena zona turės savo atsitiktinį procesą. Kad šis procesas būtų dar panašesnis į tikrą liepsną, mes užpildysime zonas nuo kraštų iki centro, palaipsniui padidindami atsitiktinę vertę iki dabartinės vertės. Taip pat „deginant“, zonų dydis taip pat turėtų keistis atsitiktinai.

Kaip tai atrodo:


Dabar pažvelkime į kitą įdomų atsitiktinį procesą, vadinamą Perlino triukšmu, kurį Kenas Perlinas sugalvojo 1983 m.

Perlino triukšmas leidžia sukurti atsitiktinį išlygintą bet kokio matmenų didumo pasiskirstymą. Gerai žinomas debesų filtras „Photoshop“ yra dvimačio „Perlin“ triukšmo pavyzdys.

Bet Perlino trimatis triukšmas leidžia sukurti, pavyzdžiui, kalnuotą kraštovaizdį, be to, generuoti jį labai atsitiktinai ir be galo, tuo pačiu ir praktiškai nesudarant apkrovos kompiuterio komponentams, nes ten esantis algoritmas nėra labai brangus.

Veiksmų planas yra toks: pirmiausia sukurkite dvimatį „Perlin“ triukšmo regioną ir judėkite tam tikru būdu, nuskaitydami pikselių liniją ir išvesdami ją į šviesos diodus.

Aukščiau minėtas algoritmas nėra labai sudėtingas ir Arduino ramiai elgtis su juo.Rezultatas yra toks labai kietas, kiek įmanoma lygesnis, atsitiktinis ir jau labai panašus į tikrą liepsną su galiniu apšvietimu.

Esant tiesioginiam apšvietimui, jis atrodo taip:

Bet visa tai buvo vienos juostos ugnies algoritmai. O kaip priklijuoti juostą zigzago būdu ir bandyti padaryti matricą dvimatėje ugnyje?


Tokias matricas galima nusipirkti iš kinų. Virš matricos dedame difuzorių ir stiklą, tonuotą automobilių plėvele, tai yra, tai yra tikras modifikuotas ypač mažos skiriamosios gebos ekranas.




Beje, jis atrodo gana tikroviškas. Norėdami gauti daugiau informacijos, žiūrėkite originalų autoriaus vaizdo įrašą:



Tai viskas. Ačiū už dėmesį. Greitai pasimatysime!
1
1
1

Pridėti komentarą

    • šypsotisšypsosixaxagerainežiniaYahoonea
      viršininkassubraižytikvailystaiptaip-taipagresyvusslapta
      atsiprašaušoktišokis2šokis3atleiskpadėtigėrimai
      sustotidraugaigeraigerašvilpukassupyktiliežuvis
      rūkytiplojimaiklastingaspareikštiniokojantisdon-t_mentionatsisiųsti
      šilumanedrąsusjuoktis1mdasusitikimasmoskingneigiamas
      not_ipopkornasnubaustiskaitytigąsdintigąsdinapaieška
      gundytiačiūtaito_clueumnikūmussusitarti
      blogaibičiųjuoda akisblum3skaistalaipasigirtinuobodulys
      cenzūruotamalonumasslapta2grasintipergalėju„sun_bespectacled“
      šoktipagarbalolišlenktaslaukiamekrutojusya_za
      ya_dobryipagalbininkasne_huliganne_othodifludisuždraustiarti

Mes patariame perskaityti:

Perduokite jį išmaniajam telefonui ...