Turinys:

Laukinis gaisras: 7 žingsniai
Laukinis gaisras: 7 žingsniai

Video: Laukinis gaisras: 7 žingsniai

Video: Laukinis gaisras: 7 žingsniai
Video: KAIP KOVOSIME SU KENKĖJAIS? | 7 PRANEŠIMAS | PATIRTYS. PRIEMONĖS. TIKSLAI. 2021 2024, Liepa
Anonim
Image
Image

Šį projektą įkvėpė mistinis „Sostų žaidimų“gaisras - žalsvas skystis, kuris užsidegęs sprogo žalioje liepsnoje. Projekte daugiausia dėmesio skiriama RGB SMD5050 LED juostų naudojimui, kad būtų sukurti pritaikyti spalvų efektai. Trijuose stiklo objektuose yra šešių RGB šviesos diodų juostelė. „Arduino Uno“sukuria žiburių ugnį kaip mirgantį raštą. RGB šviesos diodai reikalingi norint sukurti gradiento spalvų modelį nuo tamsiai žalios iki ryškiai žalios iki ryškiai baltos spalvos. Nepakanka paprasto žalio šviesos diodo, norint sukurti ryškiai baltą spalvą, reikia raudonos ir mėlynos spalvos komponentų. Kaip premiją, ši aparatūra gali gaminti bet kokias kitas spalvas. Stiklo objektai reikalingi šviesai laužyti ir tikram šviesos šaltiniui užmaskuoti, t. Y. Mažoms, labai techniškai atrodančioms RGB SMD5050 LED juostoms.

Idėja gali būti išplėsta tiek, kiek norite objektų ir kokių tik norite dinamiškų spalvų schemų. Šioje instrukcijoje aprašoma, kaip įgyvendinau sąranką su trimis stiklo objektais su šiomis spalvų schemomis. Gaisro schema matoma įvadiniame vaizdo įraše. Likusios schemos matomos vaizdo įraše šios instrukcijos 6 veiksmo puslapyje.

  • Laukinė ugnis. „Sostų žaidimas“įkvėpė ugnį kaip reginį.
  • Vienaragio atraktorius. Spektaklis, išblukęs per vaivorykštės spalvas.
  • Mirksi. Atsitiktinis spalvų keitimas dviem skirtingais greičiais.
  • Išblukti. Sklandus atsitiktinių spalvų keitimas dviem skirtingais greičiais.
  • Gyvos spalvos. Nuspalvinkite objektus šviesiai, švelniai svyruojančia aplink vieną konkrečią spalvą.
  • Žvakės. Tegul jūsų šviesos diodai imituoja natūralią žvakės liepsną.

Sąranka

Pagrindinėje sąrankoje galite pereiti per šešias spalvų schemas vienu mygtuko paspaudimu. Dvigubas spustelėjimas perkelia vieną spalvų schemą iš vieno nustatymo į kitą, jei taikoma. Spalvų sąrankas galima pridėti redaguojant „Arduino“programą.

Būsimoje išplėstinėje versijoje mygtuką pakeis ESP8266 plokštė, kuri bus sujungta su tinklalapiu, kuris valdys spalvų schemas. Tinklalapį savo ruožtu galima valdyti naudojant mobiliojo įrenginio naršyklę. Tai suteikia daug daugiau galimybių koreguoti dalykus:

  • nustatyti keitimo greitį ir kryptį
  • nustatykite mirgančių žvakių spalvą
  • nustatyti spalvų ryškumą ir sodrumą

Šioje instrukcijoje pagrindinis dėmesys skiriamas pagrindinei sąrankai, kurią sudaro tik mygtukas kaip vartotojo sąsaja.

1 žingsnis: ko jums reikia

Ko tau reikia
Ko tau reikia
Ko tau reikia
Ko tau reikia
  • Pigi RGB LED juostelė, kurią galite supjaustyti trumpesnėmis juostelėmis
  • Maitinimo blokas, pageidautina 12 V 1,5 A daiktas, pateiktas kartu su RGB LED juostele
  • „Arduino UNO“ar panašiai
  • Du ULN2803AP IC: s
  • Paprastas mygtuko paspaudimas
  • „Perma-Proto“duonos lenta
  • Viela
  • Dėžutė elektronikai
  • Kai kurie stikliniai objektai turi būti apšviesti RGB šviesos diodų juostomis
  • Įrankiai (vielos nuėmiklis, lituoklis, lituoklis …)

LED juostelė

Aš nusipirkau pigią LED juostą, kurią sudaro apie 90 RGB SMD šviesos diodų. Mažas blokas varo LED lemputes, keičia jų spalvą. Įrenginys valdomas nuotoliniu būdu, o juostelė gali keisti spalvas įvairiais būdais. Bet visa juostelė yra tos pačios spalvos. Smagu tai, kad juostelę galite supjaustyti mažomis juostelėmis, kuriose kiekvienoje juostelėje yra tik trys rgb šviesos diodai. Kiekviena juostelė, nepriklausomai nuo jos trukmės, turi būti maitinama 12 V. Kiekviena trijų rgb lempučių sekcija turi savo rezistorių rinkinį, kuris rūpinasi šviesos diodų įtampos kritimu. Turite pateikti tik 12 V ir pakankamai amperų, na, miliamperų. Šiam projektui naudoju tris LED juostos juosteles, kurių kiekvienoje yra 6 vienetai, ir 12 V 1,0 A maitinimo bloką. Valdymo bloko ir nuotolinio valdymo pulto nereikia.

ULN2803AP

Vienam šviesos diodui reikia tik nedidelės srovės. Paprastai galite uždegti šviesos diodą tiesiai iš „Arduino“duomenų kaiščio, jei turite rezistorių, kuris sumažina 5 V duomenų kaištį. Tačiau vieną RGB SMD5050 šviesos diodą sudaro trys šviesos diodai, raudoni, šviesūs ir mėlyni. Šiam projektui aš naudoju 6 RGB SMD5050 šviesos diodų juosteles. Vienas „Arduino Uno“duomenų kaištis valdo 6 šviesos diodus. Tik tai skrudintų duomenų kaištį, jei šviesos diodų apšvietimas būtų gaunamas iš duomenų kaiščio. Tačiau tokių duomenų kaiščių bus tik devyni ir tai tikrai bus per daug „Arduino“. Štai kodėl prasideda ULN2803AP. ULN2803AP yra integruotas lustas su 8 darlingtono tranzistoriais. Man reikia 9, todėl naudoju tik du ULN2803AP lustus. Man lieka 7 atsarginiai tranzistoriai, jei noriu pratęsti projektą ir pasakyti penkis objektus.

Vienas šviesos diodas RGB SMD5050 šviesos diodo viduje pritraukia 20 mA. Šeši iš jų reikštų 120 mA. Vienas ULN2803 kaištis (vienas darlingtono tranzistorius) gali nuskęsti 500 mA. Tačiau visa mikroschema gali atlaikyti ne daugiau kaip 1,44 W šilumos, pagamintos srovės. 120 mA gamina 0,144 W. Ant vieno iš ULN2803 lustų dedu penkias eilutes, kitoje - keturias. Tai bus 0,72 W viename luste ir 0,58 W kitame luste. Taigi man turėtų būti viskas gerai. Naudojant visas 8 ULN2803 linijas, kurių kiekvienoje yra 120 mA, lustas sušildomas 1,2 W. Jis įkaista, bet vis tiek toleruoja.

Paprasčiausiai paaiškinta, kad RGB SMD LED juostelė gauna 12 V maitinimo šaltinį. Iš šviesos diodų juostos srovė iš visų trijų spalvų šviesos diodų patenka į savo kaištį ULN2803AP ir toliau į GND. Grandinė uždaryta ir šviesos diodas užsidega. Tačiau ULN2803AP įjungiamas/išjungiamas naudojant 5 V duomenų signalus iš „Arduino“. Šie signalai iš „Arduino“pritrauks vos kelis miliamperius.

Stiklo objektai ir LED juostelės

Turėjau šiuos keistus stiklinius daiktus, skirtus arbatos žibintams. Iš beržo rąstų išpjoviau lėkštes, kad jie stovėtų ir kad būtų kuo klijuoti LED juosteles. Juostose padariau keletą raukšlių, kad jos taptų žiedais, kur atskiri šviesos diodų blokai buvo nukreipti į viršų. Būkite atsargūs su raukšlėmis, kad nenutrauktumėte linijų.

2 žingsnis: Naudotojo instrukcijos

Įrenginys turės paprastą vartotojo sąsają. Jis įsijungia įjungus maitinimo šaltinį į sieninį lizdą ir prasideda nuo pirmosios spalvų schemos, kuri yra „Wildfire“. Jis išsijungia atjungus kištuką. Spustelėjus mygtuką, pereinama prie kitos spalvų schemos. Dukart spustelėjus bus peržiūrimos kiekvienos spalvų schemos posistemės. Aš ketinu įgyvendinti šias spalvų schemas:

  1. Laukinė ugnis. „Sostų žaidimas“įkvėpė ugnį kaip reginį, kur žalia liepsna keliauja iš vieno stiklo objekto į kitą. Šis efektas atrodys įspūdingiausiai, kai stikliniai daiktai yra išdėstyti vertikaliai vienas kito atžvilgiu. Įvairiais liepsnos tempais įgyvendinamos trys skirtingos posistemės.
  2. Vienaragio atraktorius. Spektaklis, išblukęs per vaivorykštės spalvas. Išblukimas vyksta besisukančiu būdu, nes kiekviena spalva juda iš vieno stiklo objekto į kitą. Posistemėse bus skirtingas išblukimo greitis.
  3. Mirksi. Atsitiktinis spalvų keitimas dviem skirtingais greičiais. Pozicijų schemos turės skirtingas paletes (tik visiškai prisotintos spalvos, pusiau prisotintos spalvos, spalvos tik iš pusės spalvų apskritimo)
  4. Išblukti. Sklandus atsitiktinių spalvų keitimas dviem skirtingais greičiais. Panašios poskyriai, kaip ir #3.
  5. Gyvos spalvos. Nuspalvinkite objektus šviesiai, švelniai svyruojančia aplink vieną konkrečią spalvą. Poskyriai nustatys spalvas į raudoną, oranžinę, geltoną, žalią, mėlyną, indigo arba violetinę. Svyravimas vyksta 10 laipsnių sektoriuje aplink pasirinktą spalvą. Trys stiklo objektai turi tą pačią pasirinktą spalvą, tačiau kiekvienas objektas turi savo atsitiktinai kintantį svyravimo dažnį, kad visas rinkinys įgytų gyvą gyvą spalvą.
  6. Žvakės. Tegul jūsų šviesos diodai imituoja natūralią žvakės liepsną. Trys posistemės:

    1. "kuo ramiau"
    2. "kažkur atidarytas langas"
    3. "buvo tamsi ir audringa naktis"

3 žingsnis: keli žodžiai apie RGB spalvas

Šiame skyriuje aptariu savo požiūrį į RGB spalvų erdvę. Jūs galite gerai praleisti šį skyrių. Aš tik paaiškinu, kodėl su RGB šviesos diodų spalvomis elgiuosi taip, kaip elgiuosi.

Taigi RGB šviesos diodas turi tik raudoną, žalią ir mėlyną šviesą. Sumaišius, bus sukurtos visos spalvos, kurias žmogaus akis gali atpažinti (beveik). Kiekvienos dalies - raudonos, žalios arba mėlynos - kiekis skaitmeniniame pasaulyje paprastai apibrėžiamas skaičiumi nuo 0 iki 255. Visiškai prisotintai spalvai reikia, kad vienas iš spalvų komponentų būtų lygus nuliui, o vienas spalvos komponentas - 255. mūsų skaitmeniniame pasaulyje yra tik 1530 skirtingų sočiųjų spalvų.

Vienas iš RGB erdvės modeliavimo būdų yra kubas. Viena kubo viršūnė yra juoda. Iš tos viršūnės galime keliauti raudonu, mėlynu arba žaliu kraštu. Bet kuris kubo taškas yra spalva, apibrėžta raudonomis, žalios ir mėlynos spalvos koordinatėmis. Keliaudami į tolimiausią viršūnę nuo juodosios viršūnės, prieiname prie baltosios viršūnės. Sutelkdami dėmesį į šešias viršūnes, išskyrus juodąją ir baltąją, galime sudaryti kelią, einantį per visas šešias viršūnes, sekdami kraštus. Kiekvienas kraštas turi 256 taškus arba spalvas. Kiekvieną viršūnę dalijasi du kraštai, taigi bendras taškų skaičius yra 6 * 255 = 1530. Šiuo keliu eina visos 1530 visiškai prisotintos spalvų spektro spalvos. Arba vaivorykštė. Viršūnės yra raudonos, geltonos, žalios, žydros, mėlynos ir rausvai raudonos spalvos.

Bet kuris kitas kubo taškas reiškia spalvą, kuri nėra visiškai prisotinta.

  • Taškas yra kubo viduje, tai reiškia, kad raudonos, žalios ir mėlynos koordinatės skiriasi nuo nulio. Pagalvokite apie įstrižainę nuo juodos viršūnės iki baltos viršūnės kaip visų pilkų atspalvių liniją. Ir visos „ne visiškai prisotintos spalvos“kubo viduje išblunka nuo visiško prisotinimo krašte link šios „nulio sodrumo“įstrižainės.
  • Arba taškas yra ant vieno iš trijų kubo plokštumos paviršių, liečiančių juodąją viršūnę. Tokia spalva gali būti laikoma visiškai prisotinta, bet patamsėjusi. Kuo labiau jį patamsinsite, tuo labiau jis praras suvokiamą spalvų sodrumą.

Užuot turėję šešių briaunų kelią aplink kubą, apibūdinantį visas visiškai prisotintas spalvas, galime sudėti šias 1530 spalvų apskritime, kur 60 laipsnių sektoriuje turime 255 skirtingas spalvas, pavyzdžiui, kai išblukimas nuo raudonos iki geltonos pridedant prie jo žalią spalvą.. Bėgimas per visas spalvų apskritimo spalvas yra tarsi trijų spalvų valdiklių stumdymas, vienas iš eilės, o kiti du yra priešingoje daugumoje pozicijų. Kadangi kai kuriose spalvų schemose naudosiu spalvų apskritimą arba vaivorykštės spektrą, spalvą (atspalvį) apibrėžsiu apskritimo tašku, naudodamas savo 1530 skalę:

1530 mastelio standartinė 360 skalė

========== ================== raudona 0 0 oranžinė 128 30 geltona 256 60 žalia 512 120 turkio 768 180 mėlyna 1024 240 indigo 1152 270 violetinė 1280 300 rožinė 1408 330

Ši skalė 1530 supaprastina vaivorykštės spalvų konvertavimą į RGB šviesos diodų vertes.

Kodėl kiekvienoje dalyje 255 spalvos? Kodėl ne 256? Na, 256 -oji vieno sektoriaus spalva yra pirmoji kito sektoriaus spalva. Jūs negalite suskaičiuoti tos spalvos du kartus.

Dar keli žodžiai apie PWM

Įprastas šviesos diodas yra skirtas ryškiai šviesti esant tam tikrai įtampai. Sumažinus tą įtampą, ryškumas gali sumažėti, tačiau pats šviesos diodas nėra skirtas pritemdyti tik sumažinus įtampą. Esant pusei įtampos, jis gali net visai neįsijungti. Vietoj to, pritemdymas pasiekiamas perjungiant visą įtampą ir nulinę įtampą. Kuo greitesnis perjungimas, tuo mažiau mirgėjimo žmogaus akis gali atpažinti. Jei šviesos diodas yra įjungtas pusę laiko ir išjungtas, žmogaus akis suvokia šviesą taip, tarsi ji spindėtų per pusę viso šviesaus šviesos diodo efekto. Šviesos diodų pritemdymas yra viso efekto ir nulinio efekto laiko santykio reguliavimas. Tai PWM arba impulso pločio moduliacija.

Pigioje RGB SMD LED juostelėje, kurią nusipirkau šiam projektui, yra įrenginys, kuris rūpinasi PWM. Šiame projekte aš sukuriu PWM su „Arduino UNO“. RGB spalvų erdvė, kaip paprastai įdiegta kompiuterio ekrane, yra teorinė struktūra, kurioje įsivaizduojama, kad kiekvienas spalvų kanalas turi reikšmę nuo 0 iki 255, o kanalo ryškumas linijiškai atitiktų vertę. Kompiuterio grafinė kortelė gali kompensuoti bet kokią šio linijinio lūkesčio sutrumpinimą, kurį gali turėti tikri šviesos diodai. Nesvarbu, ar šiame projekte naudojami SMD šviesos diodai linijiškai atitinka naudojamas PWM vertes, šis projektas neapima. PWM vertė 255 sukuria ryškiausią šviesą. Tačiau 128 vertė gali būti ne tokia šviesa, kuri suvokiama kaip pusė 255 ryškumo. Ir 192 gali būti nesuvokiama kaip ryškumas tiksliai 255 ir 128 viduryje.

4 žingsnis: schemos

Schemos
Schemos

Čia pateikiu elektronikos schemas. Nuotraukoje parodyta, kaip atrodo mano ryšys. Aš lituosiu mikroschemas, laidus ir mygtuką ant perma proto plokštės. Kol kas komponentai yra tiesiog prijungti prie laidų, tačiau palieku jums pačiam nuspręsti, kaip juos sutalpinti gražioje dėžutėje ir kaip pritraukti laidus prie LED juostų. Jei radote plokščią 4 laidų kabelį, naudokite jį, nes vienai LED juostai reikia 4 laidų. Turėjau tik 3 laidų plokščią kabelį, todėl man reikėjo papildomo laido, todėl jis atrodė šiek tiek negražiai.

5 žingsnis: Kodas

Kodas parašytas „Arduino Uno“. „Uno“turi tik 6 kaiščius su PWM, bet man reikia 9 iš jų. Taigi naudojuosi specialia PWM biblioteka, parašyta Brett Hagman. Tai turi būti įdiegta jūsų „Arduino IDE“.

„wildfire.ino“yra pagrindinis projekto failas, jis apima sąrankos () ir ciklo () funkcijas, taip pat kai kurias kitas bendras schemų funkcijas.

wildfire.h yra bendras antraštės failas.

Įvairius schemos failus galima įklijuoti kaip atskirus projekto skirtukus.

6 žingsnis: veikiant

Image
Image

7 žingsnis: tolesnė plėtra

  • Vieno mygtuko sąsają pakeiskite ESP8266, kad būtų galima belaidžiu ryšiu susisiekti su „Android“telefonu, kur vartotojo sąsaja yra tinklalapis schemoms valdyti.
  • Juostelėje dar liko naudoti apie 70 RGB SMD šviesos diodų. Tai yra 24 juostelės po 3 kiekvienoje. Dar 24 kanalams reikia naujo požiūrio. Tam reikės „Arduino Mega 2560“ir dar kelių ULN2803AP lustų, arba dviejų 16 kanalų servo plokščių, kurios dažnai naudojamos šviesos diodams.
  • Nenaudojamas taip pat yra originalios šviesos diodų juostos nuotolinio valdymo pultas ir jo imtuvas. Imtuvo dar neatidariau, bet galbūt jį būtų galima kažkaip pakartotinai panaudoti. Galima leisti „Arduino“užgrobti savo logiką ir paprašyti, kad ji pateiktų skaitmeninius duomenis „Arduino“, kad galėtų valdyti šviesos šou.

Rekomenduojamas: