Obsah:

Wildfire: 7 kroků
Wildfire: 7 kroků

Video: Wildfire: 7 kroků

Video: Wildfire: 7 kroků
Video: Jim Croce - Time in a bottle - 1973 2024, Červenec
Anonim
Image
Image

Tento projekt byl inspirován mystickým požárem ve hře o trůny, nazelenalé kapalině, která po rozsvícení explodovala v zelených plamenech. Projekt se zaměřuje na používání RGB LED diod SMD5050 pro přizpůsobené barevné efekty. Tři skleněné objekty jsou vybaveny pásem šesti RGB LED diod. Arduino Uno vytváří pro světla blikající vzor jako oheň. RGB LED diody jsou potřebné k vytvoření gradientního barevného vzoru od tmavě zelené přes jasně zelenou až po nejjasnější bílou. Jednoduchá zelená LED nestačí, k vytvoření jasně bílé barvy potřebuje červené a modré komponenty. Jako bonus může tento hardware produkovat jakékoli jiné barvy. Skleněné předměty jsou potřebné k lámání světla a maskování skutečného zdroje světla, tj. Malých, velmi technicky vypadajících RGB LED diod SMD5050.

Myšlenku lze rozšířit na libovolný počet požadovaných objektů a libovolné dynamické barevné scénáře. Tento návod popisuje, jak jsem implementoval nastavení se třemi skleněnými objekty s následujícími barevnými schématy. Schéma divokého požáru je vidět na úvodním videu. Zbytek schémat je vidět na videu na stránce Krok 6 tohoto pokynu.

  • Blesk. Hra o trůny inspirovala oheň jako podívanou.
  • Unicorn Attractor. Podívaná, která vybledne duhovými barvami.
  • Blikat. Náhodná změna barvy ve dvou různých rychlostech.
  • Slábnout. Plynulá změna náhodných barev ve dvou různých rychlostech.
  • Živé barvy. Vybarvěte své objekty světlem jemně oscilujícím kolem jedné konkrétní barvy.
  • Svíčky. Nechte své LED diody napodobovat přirozený plamen svíčky.

Nastavení

V základním nastavení procházíte šesti barevnými schématy jediným kliknutím na tlačítko. Dvojitým kliknutím přejdete v rámci jednoho barevného schématu z jednoho nastavení do druhého, je -li to relevantní. Nastavení barev lze přidat úpravou programu Arduino.

V budoucí rozšířené verzi je tlačítko nahrazeno deskou ESP8266, která bude propojena s webovou stránkou, která bude ovládat barevná schémata. Webovou stránku lze zase ovládat pomocí prohlížeče mobilního zařízení. To dává mnohem větší rozmanitost při úpravách věcí:

  • nastavit rychlost a směr změny
  • nastavit barvu pro blikající svíčky
  • nastavit jas a sytost barev

Tento návod se zaměřuje na základní nastavení, které jako uživatelské rozhraní obsahuje pouze tlačítko.

Krok 1: Co potřebujete

Co potřebuješ
Co potřebuješ
Co potřebuješ
Co potřebuješ
  • Levný RGB LED pásek, který můžete nastříhat na kratší pásy
  • Napájecí jednotka, nejlépe 12 V 1,5 A, dodávaná s RGB LED páskem
  • Arduino UNO nebo podobné
  • Dva ULN2803AP IC: s
  • Jednoduché stisknutí tlačítka
  • Prkénko Perma-Proto
  • Drát
  • Krabice na elektroniku
  • Některé skleněné předměty mají být osvětleny RGB LED pásy
  • Nástroje (odizolovač drátu, páječka, pájka …)

LED pás

Koupil jsem levný LED pásek, který se skládá z nějakých 90 RGB SMD LED. Malá jednotka pohání LED diody a mění jejich barvu. Jednotka je dálkově ovládaná a proužek může měnit barvy různými způsoby. Ale celý pruh má stejnou barvu. Zábavné na tom je, že můžete pás nastříhat na malé proužky obsahující v každém pásu pouze tři RGB diody. Každý pás, bez ohledu na to, jak dlouhý je, má být napájen 12 V. Každá sekce tří RGB LED má vlastní sadu rezistorů, které se starají o pokles napětí pro LED diody. Musíte zajistit pouze 12 V a dostatek ampér, tedy miliampérů. Pro tento projekt používám tři proužky LED pásku, v každém 6 jednotek, a napájecí jednotku 12 V 1,0 A. Řídicí jednotka a dálkový ovladač nejsou potřeba.

ULN2803AP

Jedna LED potřebuje jen malý proud. Obvykle můžete rozsvítit LED přímo z datového kolíku Arduino, pokud máte odpor, který snižuje datový pin 5 V na přibližně 3 V pro LED. Jedna LED RGB SMD5050 se však skládá ze tří LED diod, červené, grenové a modré. A pro tento projekt používám proužky 6 LED RGB SMD5050. Jeden datový pin Arduino Uno ovládá 6 LED diod. Pouze to by opékalo datový kolík, pokud by síla světla svítila z datového kolíku. Ale všech takových datových pinů bude celkem devět a to bude pro Arduino určitě příliš aktuální. Proto začíná ULN2803AP. ULN2803AP je integrovaný čip s 8 darlingtonovými tranzistory. Potřebuji 9, takže používám pouze dva čipy ULN2803AP. Zbývá mi 7 náhradních tranzistorů, pokud chci projekt rozšířit o pět objektů.

Jedna jediná LED dioda RGB SMD5050 LED odebírá 20 mA. Šest z nich by znamenalo 120 mA. Jeden pin (jeden darlingtonový tranzistor) v ULN2803 může klesnout o 500 mA. Celý čip ale zvládne max. 1,44 W tepla produkovaného proudem. 120 mA produkuje 0,144 W. Na jeden z čipů ULN2803 dávám pět řádků a na druhé čtyři řádky. To bude 0,72 W na jednom čipu a 0,58 W na druhém čipu. Takže bych měl být v pořádku. Použitím všech 8 řádků ULN2803 s 120 mA na každém by se čip zahřál na 1,2 W. Zahřál by se, ale stále by to toleroval.

Jednoduše vysvětleno, RGB LED pás SMD získává 12 V ze zdroje napájení. Z LED pásky proudí proud z každé ze tří barevných LED diod na vlastní pin v ULN2803AP a dále do GND. Obvod je uzavřen a LED se rozsvítí. ULN2803AP se však zapíná/vypíná pomocí 5 V datových signálů z Arduina. Tyto signály budou čerpat jen několik miliampérů z Arduina.

Skleněné předměty a LED pásky

Měl jsem tyto podivné skleněné předměty, které jsou určeny pro čajové svíčky. Nařezal jsem talíře z březové kulatiny, aby se na ně postavily a aby měly na co přilepit LED pásky. V pásech jsem udělal několik záhybů, aby z nich byly prsteny, kde jednotlivé LED jednotky směřovaly nahoru. Dávejte pozor na záhyby, abyste nepřerušili čáry.

Krok 2: Pokyny pro uživatele

Zařízení bude mít jednoduché uživatelské rozhraní. Zapíná se zapojením napájecího zdroje do zásuvky a začíná prvním barevným schématem, kterým je Wildfire. Vypíná se odpojením. Kliknutím na tlačítko přejdete na další barevné schéma. Dvojitým kliknutím přejdete do dílčích schémat každého barevného schématu. Budu implementovat následující barevná schémata:

  1. Blesk. Hra o trůny inspirovala oheň jako podívanou, kde zelené plameny putují od jednoho skleněného předmětu k druhému. Tento efekt bude vypadat nejokázalejší, když jsou skleněné předměty umístěny svisle k sobě. Jsou implementovány tři různé podchemy s různým tempem plamenů.
  2. Unicorn Attractor. Podívaná, která vybledne duhovými barvami. K vyblednutí dochází rotačním způsobem, stejně jako se každá barva přesouvá z jednoho skleněného předmětu na další. Subchemy budou mít různé rychlosti slábnutí.
  3. Blikat. Náhodná změna barvy ve dvou různých rychlostech. Subschemes budou mít různé palety (pouze plně syté barvy, napůl syté barvy, barvy pouze z poloviny barevného kruhu)
  4. Slábnout. Plynulá změna náhodných barev ve dvou různých rychlostech. Podobné subcemes jako v #3.
  5. Živé barvy. Vybarvěte své objekty světlem jemně oscilujícím kolem jedné konkrétní barvy. Subchemy nastaví barvy na červenou, oranžovou, žlutou, zelenou, modrou, indigovou nebo fialovou. Kmitání probíhá uvnitř 10stupňového sektoru kolem zvolené barvy. Tyto tři skleněné objekty mají stejnou zvolenou barvu, ale každý předmět má svou vlastní náhodně se měnící frekvenci kmitání, aby celá sada získala zářivou živou barvu.
  6. Svíčky. Nechte své LED diody napodobovat přirozený plamen svíčky. Tři podchemy:

    1. „co nejpokojnější“
    2. „někde otevřené okno“
    3. „byla temná a bouřlivá noc“

Krok 3: Pár slov o barvách RGB

V této části diskutuji svůj pohled na barevný prostor RGB. Tuto sekci můžete docela dobře přeskočit. Jen dávám nějaké pozadí tomu, proč se chovám k barvám RGB LED jako já.

RGB LED má tedy pouze červené, zelené a modré světlo. Jejich smícháním vytvoříte všechny barvy, které lidské oko dokáže rozpoznat (téměř). Množství každé části - červené, zelené nebo modré - je v digitálním světě obvykle definováno číslem od 0 do 255. Plně sytá barva potřebuje, aby jedna z barevných složek byla nula a jedna barevná složka byla 255. V tomto v našem digitálním světě máme pouze 1530 různých plně sytých barev.

Jedním ze způsobů modelování prostoru RGB je kostka. Jeden vrchol krychle je černý. Z tohoto vrcholu můžeme cestovat po červeném, modrém nebo zeleném okraji. Jakýkoli bod v krychli je barva definovaná jejími červenými, zelenými a modrými souřadnicemi. Cestou do nejvzdálenějšího vrcholu od černého vrcholu se dostáváme k bílému vrcholu. Zaměříme -li se na šest vrcholů kromě černého a bílého, můžeme vytvořit cestu, která prochází všemi šesti vrcholy sledováním hran. Každá hrana má 256 bodů nebo barev. Každý vrchol je sdílen dvěma hranami, takže celkový počet bodů je 6 * 255 = 1530. Po této cestě prochází všech 1530 plně nasycených barev v barevném spektru. Nebo duha. Vrcholy představují barvy červenou, žlutou, zelenou, azurovou, modrou a purpurovou.

Jakýkoli jiný bod v krychli představuje barvu, která není plně sytá.

  • Buď je bod uvnitř krychle, což znamená, že červená, zelená a modrá souřadnice se liší od nuly. Přemýšlejte o úhlopříčce od černého vrcholu k bílému vrcholu jako o linii všech šedých odstínů. A všechny „ne zcela syté barvy“uvnitř krychle slábnou z plné sytosti na okraji směrem k této úhlopříčce „nulové sytosti“.
  • Nebo bod leží na jedné ze tří rovinných ploch krychle, které se dotýkají černého vrcholu. Takovou barvu lze považovat za plně nasycenou, ale ztmavenou. Čím více jej ztmavíte, tím více ztratí vnímanou sytost barev.

Místo toho, aby šestistranná dráha kolem krychle popisovala všechny plně syté barvy, můžeme umístit těchto 1530 barev do kruhu, kde máme 255 různých barev v 60stupňovém sektoru - jako když přecházíme z červené do žluté přidáním zelené. Procházení všemi barvami v barevném kruhu je jako posouvání tří barevných ovladačů, jeden po druhém, zatímco ostatní dva jsou ve většině pozic v opačné daleko. Protože v některých barevných schématech použiji barevný kruh nebo duhové spektrum, definuji barvu (odstín) jako bod v kruhu pomocí vlastní stupnice 1530:

Měřítko 1530 standardní 360 stupnice

============================== červená 0 0 oranžová 128 30 žlutá 256 60 zelená 512 120 tyrkysová 768 180 modrá 1024 240 indigo 1152 270 fialová 1280 300 růžová 1408 330

Tato stupnice 1530 zjednodušuje převod duhových barev na hodnoty pro LED diody RGB.

Proč 255 barev v každé sekci? Proč ne 256? 256. barva jednoho sektoru je první barvou dalšího sektoru. Tuto barvu nemůžete dvakrát spočítat.

Přesto pár slov o PWM

Typická LED je navržena tak, aby při daném napětí jasně svítila. Snížení tohoto napětí může snížit jas, ale samotná LED dioda není navržena tak, aby byla stmívatelná pouhým poklesem napětí. Při polovičním napětí se nemusí vůbec zapnout. Místo toho je stmívání dosaženo přepínáním mezi plným a nulovým napětím. Čím rychlejší je přepínání, tím méně blikání lidské oko dokáže rozpoznat. Pokud je LED poloviční čas zapnutí a polovina času vypnuto, lidské oko vnímá světlo, jako by svítilo s polovičním účinkem plně jasné LED. Úprava poměru mezi časem plného účinku a časem nulového efektu je to, o čem stmívání LED diody je. Jedná se o PWM neboli pulzně šířkovou modulaci.

Levný RGB SMD LED pásek, který jsem koupil pro tento projekt, obsahuje zařízení, které se stará o PWM. V tomto projektu místo toho vytvářím PWM s Arduino UNO. Barevný prostor RGB, jak je obvykle implementován na obrazovce počítače, je teoretická struktura, kde si každý představí každý barevný kanál s hodnotou od 0 do 255 a svítivost kanálu by lineárně sledovala hodnotu. Grafická karta počítače může kompenzovat jakoukoli zkratku z tohoto lineárního očekávání, které skutečné LED diody mohou mít. Zda LED diody SMD použité v tomto projektu sledují lineárně použité hodnoty PWM, není v rozsahu tohoto projektu. Hodnota PWM 255 vytváří nejjasnější světlo. Ale hodnota 128 nemusí být jas vnímaný jako poloviční oproti jasu 255. A 192 nemusí být vnímán jako jas přesně uprostřed 255 a 128.

Krok 4: Schémata

Schémata
Schémata

Zde představuji schémata elektroniky. Fotografie ukazuje, jak moje připojení vypadá. Čipy, vodiče a tlačítko jsem připájel na desku proto perma. Komponenty jsou zatím spojeny pouze s dráty, ale nechám na vás, abyste navrhli, jak je vejít do pěkné krabice a jak nakreslit vodiče k LED páskům. Pokud najdete 4vodičový plochý kabel, použijte jej, protože jeden LED pásek potřebuje 4 vodiče. Měl jsem pouze 3vodičový plochý kabel, takže jsem potřeboval další vodič, což vypadalo trochu ošklivě.

Krok 5: Kód

Kód je napsán pro Arduino Uno. Uno má pouze 6 pinů schopných PWM, ale potřebuji 9 z nich. Používám tedy speciální knihovnu PWM od Bretta Hagmana. Toto musí být nainstalováno ve vašem Arduino IDE.

wildfire.ino je hlavní soubor projektu, obsahuje funkce setup () a loop () a některé další běžné funkce pro všechna schémata.

wildfire.h je běžný soubor záhlaví.

Různé soubory schémat lze vložit do projektu jako samostatné karty.

Krok 6: V akci

Image
Image

Krok 7: Další vývoj

  • Vyměňte rozhraní s jedním tlačítkem za ESP8266, aby bylo možné bezdrátový kontakt s telefonem Android, kde je uživatelským rozhraním webová stránka pro ovládání schémat.
  • V pásku ještě zbývá použít asi 70 LED RGB SMD. To je 24 proužků s 3 v každém. 24 dalších kanálů potřebuje nový přístup. Chtělo by to Arduino Mega 2560 a několik dalších čipů ULN2803AP, alternativně dvě 16kanálové servo desky, které se často používají pro LED diody.
  • Nevyužité jsou také dálkové ovladače pro originální LED pásek, stejně jako jeho přijímač. Přijímač jsem ještě neotevřel, ale možná by se dal nějak znovu použít. Dalo by se nechat Arduino unést jeho logiku a nechat jej doručit číselná data do Arduina, aby ovládal světelnou show.

Doporučuje: