Sisällysluettelo:

Wildfire: 7 vaihetta
Wildfire: 7 vaihetta

Video: Wildfire: 7 vaihetta

Video: Wildfire: 7 vaihetta
Video: DIE ANTWOORD - BABY'S ON FIRE (OFFICIAL) 2024, Marraskuu
Anonim
Image
Image

Tämä projekti sai inspiraationsa Game of Thronesin mystisestä maastopalosta, vihertävästä nesteestä, joka palaessaan räjähti vihreissä liekkeissä. Projekti keskittyy RGB SMD5050 LED -nauhojen käyttöön räätälöityjen väritehosteiden saamiseksi. Kolmessa lasiesineessä on kuusi RGB -LEDiä. Arduino Uno luo tulipalon kaltaisen valon. RGB -LED -valoja tarvitaan luomaan liukuvärikuvio tummanvihreästä kirkkaan vihreään aina kirkkaimpaan valkoiseen. Pelkkä vihreä LED ei riitä, se tarvitsee punaisia ja sinisiä osia kirkkaan valkoisen luomiseksi. Bonuksena tämä laitteisto voi tuottaa muita värejä. Lasiesineitä tarvitaan valon taittamiseen ja varsinaisen valonlähteen naamioimiseen, toisin sanoen pieniin, erittäin teknisen näköisiin RGB SMD5050 LED -nauhoihin.

Ideaa voidaan laajentaa koskemaan niin monta kohdetta kuin haluat ja mitä tahansa dynaamisia värejä. Tässä ohjeessa kuvataan, kuinka toteutin asennuksen kolmella lasiesineellä seuraavilla värimalleilla. Palokaavio näkyy esittelyvideossa. Loput mallit näkyvät tämän ohjeen vaiheen 6 sivulla olevassa videossa.

  • Wildfire. Game of Thrones inspiroi tulta kuin spektaakkeli.
  • Yksisarvinen houkutin. Näytelmä, joka haalistuu sateenkaaren väreissä.
  • Räpäytys. Satunnainen värinvaihto kahdella eri nopeudella.
  • Haalistu. Tasainen satunnaisten värien vaihtaminen kahdella eri nopeudella.
  • Elävät värit. Väritä esineesi kevyesti heiluvalla värillä yhden tietyn värin ympärillä.
  • Kynttilät. Anna LEDien jäljitellä luonnollista kynttilän liekkiä.

Asetukset

Perusasetuksissa pääset kuuden värimallin läpi yhdellä painikkeen napsautuksella. Kaksoisnapsautus siirtyy yhden värimallin sisällä asetuksesta toiseen, jos mahdollista. Väriasetuksia voidaan lisätä muokkaamalla Arduino -ohjelmaa.

Tulevassa laajennetussa versiossa painike korvataan ESP8266 -kortilla, joka liitetään verkkosivulle, joka ohjaa värimalleja. Verkkosivua voidaan puolestaan ohjata mobiililaitteen selaimella. Tämä antaa paljon enemmän vaihtelua asioiden säätämisessä:

  • aseta muutoksen nopeus ja suunta
  • aseta välkkyvien kynttilöiden väri
  • aseta värien kirkkaus ja kylläisyys

Tässä ohjeessa keskitytään perusasetuksiin, jotka sisältävät käyttöpainikkeena vain painikkeen.

Vaihe 1: Mitä tarvitset

Mitä tarvitset
Mitä tarvitset
Mitä tarvitset
Mitä tarvitset
  • Halpa RGB LED -nauha, jonka voit leikata lyhyemmiksi nauhoiksi
  • Virtalähde, mieluiten 12 V 1,5 A: n esine, joka tuli RGB -LED -nauhan mukana
  • Arduino UNO tai vastaava
  • Kaksi ULN2803AP IC: tä
  • Yksinkertainen painikkeen painaminen
  • Perma-Proto-leipälauta
  • Johto
  • Laatikko elektroniikkaa varten
  • Joitakin lasiesineitä valaistaan RGB -LED -nauhoilla
  • Työkalut (langanpoistaja, juotin, juote …)

LED -nauha

Ostin halvan led -nauhan, joka koostuu noin 90 RGB -SMD -LEDistä. Pieni yksikkö ajaa ledejä ja muuttaa niiden väriä. Laite on kauko -ohjattava ja nauha voi vaihtaa värejä eri tavoin. Mutta koko nauha on samanvärinen. Hauska asia on, että voit leikata nauhan pieniksi nauhoiksi, jotka sisältävät vain kolme rgb -lediä kussakin nauhassa. Jokainen nauha, riippumatta siitä, kuinka pitkä se on, saa virtaa 12 V. Sinun tarvitsee vain syöttää 12 V ja tarpeeksi ampeereja, hyvin, milliampeereja. Tässä projektissa käytän kolmea nauhaa LED -nauhasta, joita on 6 yksikköä kussakin, ja 12 V: n 1,0 A: n virtalähdettä. Ohjausyksikköä ja kauko -ohjainta ei tarvita.

ULN2803AP

Yksi ledi tarvitsee vain vähän virtaa. Yleensä voit sytyttää ledin suoraan Arduinon datatapista, kunhan sinulla on vastus, joka pudottaa datanastan 5 V noin 3 V: iin lediä varten. Mutta yksi RGB SMD5050 LED koostuu kolmesta ledistä, punaisesta, vihreästä ja sinisestä. Ja tässä projektissa käytän kuuden RGB SMD5050 -LED -valon nauhoja. Yksi Arduino Unon datanasta ohjaa 6 LEDiä. Vain se paahtoi datanastan, jos valot ledien sytyttämiseen tulevat datanapista. Mutta tällaisia datanappeja on vain yhdeksän ja se on varmasti liian paljon virtaa Arduinolle. Siksi ULN2803AP käynnistyy. ULN2803AP on integroitu siru, jossa on 8 darlington -transistoria. Tarvitsen 9, joten käytän vain kahta ULN2803AP -sirua. Minulla on jäljellä 7 vara -transistoria, jos haluan laajentaa projektia koskemaan viittä kohdetta.

Yksi LED -valo RGB SMD5050 LED: n sisällä kuluttaa 20 mA. Kuusi niistä tarkoittaisi 120 mA. Yksi nasta (yksi darlington -transistori) ULN2803: ssa voi upottaa 500 mA. Mutta koko siru kestää enintään 1,44 W virran tuottamaa lämpöä. 120 mA tuottaa 0,144 W. Panen viisi riviä toiselle ULN2803 -sirulle ja neljä riviä toiselle. Se on 0,72 W toisella sirulla ja 0,58 W toisella sirulla. Joten minun pitäisi olla kunnossa. Käyttämällä ULN2803: n kaikkia 8 riviä, joissa molemmissa on 120 mA, siru lämpenee 1,2 W: lla. Se kuumenee, mutta kestää silti.

Yksinkertaisesti selitetty, RGB SMD LED -nauha saa 12 V virtalähteestä. LED -nauhasta kullakin kolmella värillisellä LED -valolla kulkeva virta kulkee omalle nastalleen ULN2803AP: ssa ja edelleen GND: hen. Piiri on suljettu ja LED palaa. Mutta ULN2803AP kytketään päälle/pois Arduinon 5 V: n datasignaaleilla. Nämä signaalit vetävät vain muutaman milliampeerin Arduinosta.

Lasiesineet ja LED -nauhat

Minulla oli näitä outoja lasiesineitä, jotka on tarkoitettu teevaloihin. Leikkasin koivupalkeista levyjä, jotta ne pysyisivät päällä ja että niissä olisi jotain liimaa LED -nauhoja. Tein nauhoihin joitain taitoksia, jotta niistä muodostui renkaita, joissa yksittäiset LED -yksiköt olivat ylöspäin. Ole varovainen taitosten kanssa, jotta et leikkaa viivoja.

Vaihe 2: Käyttöohjeet

Laitteessa on yksinkertainen käyttöliittymä. Se kytkeytyy päälle kytkemällä virtalähde pistorasiaan ja alkaa ensimmäisellä värimallilla, joka on Wildfire. Se sammuu irrottamalla pistoke. Napin painallus siirtyy seuraavaan värimaailmaan. Kaksoisnapsautus siirtyy kunkin värimallin alimalleihin. Aion toteuttaa seuraavat värimaailmat:

  1. Wildfire. Game of Thrones inspiroi tulta kuin spektaakkeli, jossa vihreät liekit kulkevat lasiesineestä toiseen. Tämä vaikutus näyttää upeimmalta, kun lasiesineet asetetaan pystysuoraan toisiinsa nähden. Kolme eri alijärjestelmää toteutetaan vaihtelevalla liekkien tahdilla.
  2. Yksisarvinen houkutin. Näytelmä, joka haalistuu sateenkaaren väreissä. Haalistuminen tapahtuu pyörivällä tavalla, kuten jokainen väri siirtyy yhdestä lasiesineestä seuraavaan. Osajärjestelmillä on vaihteleva häipymisnopeus.
  3. Räpäytys. Satunnainen värinvaihto kahdella eri nopeudella. Alimalleilla on erilaisia paletteja (vain täysin tyydyttyneet värit, puoliksi tyydytetyt värit, värit vain puolet väripiiristä)
  4. Haalistu. Tasainen satunnaisten värien vaihtaminen kahdella eri nopeudella. Samanlaisia alalajeja kuin kohdassa 3.
  5. Elävät värit. Väritä esineesi kevyesti heiluvalla värillä yhden tietyn värin ympärillä. Aliohjelmat asettavat väreiksi punaisen, oranssin, keltaisen, vihreän, sinisen, indigon tai violetin. Värähtely tapahtuu 10 asteen sektorin sisällä valitun värin ympärillä. Näillä kolmella lasiesineellä on sama valittu väri, mutta jokaisella esineellä on oma satunnaisesti muuttuva värähtelytaajuutensa, jotta koko sarja saa elävän värin.
  6. Kynttilät. Anna LEDien jäljitellä luonnollista kynttilän liekkiä. Kolme alajärjestelmää:

    1. "mahdollisimman rauhallinen"
    2. "avoin ikkuna jossain"
    3. "oli pimeä ja myrskyinen yö"

Vaihe 3: Muutama sana RGB -väreistä

Tässä osiossa keskustelen näkemyksestäni RGB -väriavaruudesta. Voit ohittaa tämän osion melko hyvin. Annan vain taustan sille, miksi kohtelen RGB -LEDien värejä kuten minä.

RGB -LEDissä on siis vain punainen, vihreä ja sininen valo. Näiden sekoittaminen luo kaikki värit, jotka ihmissilmä voi tunnistaa (melkein). Kunkin osan - punaisen, vihreän tai sinisen - määrä määritellään digitaalisessa maailmassa yleensä numerolla 0–255. Täysin kylläinen väri vaatii, että yksi värikomponenteista on nolla ja yksi värikomponentti on 255. Tässä tunnemme, että digitaalisessa maailmassa on vain 1530 erilaista täysin kylläistä väriä.

Yksi tapa mallintaa RGB -tilaa on kuutio. Kuution yksi kärki on musta. Tästä kärjestä voimme kulkea punaista, sinistä tai vihreää reunaa pitkin. Mikä tahansa piste kuutiossa on väri, joka määritetään sen punaisella, vihreällä ja sinisellä koordinaatilla. Matkalla kauimpaan pisteeseen mustasta kärjestä, tulemme valkoiseen kärkeen. Keskittymällä kuuteen pisteeseen, lukuun ottamatta mustaa ja valkoista, voimme muodostaa polun, joka kulkee kaikkien kuuden kärjen läpi seuraamalla reunoja. Jokaisessa reunassa on 256 pistettä tai väriä. Jokainen kärki on jaettu kahdella reunalla, joten pisteiden kokonaismäärä on 6 * 255 = 1530. Tämän polun jälkeen kulkee kaikki 1530 täysin kyllästettyä väriä värispektrissä. Tai sateenkaari. Pisteet edustavat värejä punainen, keltainen, vihreä, syaani, sininen ja magenta.

Mikä tahansa muu kuution piste edustaa väriä, joka ei ole täysin tyydyttynyt.

  • Joko piste on kuution sisällä, eli punaiset, vihreät ja siniset koordinaatit eroavat nollasta. Ajattele lävistäjää mustasta pisteestä valkoiseen kärkeen kaikkien harmaiden sävyjen viivana. Ja kaikki "ei täysin tyydyttyneet värit" kuution sisällä häipyvät täydestä kylläisyydestä reunalla kohti tätä "nollasaturaation" lävistäjää.
  • Tai piste sijaitsee kuution kolmella tasopinnalla, jotka koskettavat mustaa kärkeä. Tällaista väriä voidaan pitää täysin kylläisenä, mutta tummennettu. Mitä enemmän sitä tummentaa, sitä enemmän se menettää havaitun värikylläisyyden.

Sen sijaan, että kuution ympärillä olisi kuusi reunareittiä, jotka kuvaisivat kaikki täysin tyydyttyneet värit, voimme sijoittaa nämä 1530 väriä ympyrään, jossa meillä on 255 eri väriä 60 asteen sektorilla - kuten häivyttäessä punaisesta keltaiseksi lisäämällä siihen vihreää. Kaikkien väripiirin värien läpi ajaminen on kuin kolmen värinohjaimen liukumista, yksi vuorollaan, kun taas kaksi muuta ovat vastakkain useimmissa paikoissa. Koska aion käyttää värirengasta tai sateenkaarispektriä joissakin värimalleissa, aion määritellä värin (sävyn) ympyrän pisteeksi käyttäen omaa 1530 -asteikkoani:

1530 asteikon vakio 360 asteikolla

========== ================== punainen 0 0 oranssi 128 30 keltainen 256 60 vihreä 512120 turkoosi 768180 sininen 1024240 indigo 1152270 violetti 1280300 vaaleanpunainen 1408330

Tämä 1530 -asteikko yksinkertaistaa sateenkaaren värien muuttamista arvoiksi RGB -LEDeille.

Miksi 255 väriä jokaisessa osassa? Miksei 256? No, yhden sektorin 256. väri on seuraavan sektorin 1. väri. Et voi laskea sitä väriä kahdesti.

Vielä muutama sana PWM: stä

Tyypillinen LED on suunniteltu loistamaan kirkkaasti tietyllä jännitteellä. Jännitteen alentaminen saattaa heikentää kirkkautta, mutta itse LEDiä ei ole suunniteltu himmennettäväksi vain pudottamalla jännitettä. Puolet jännitteestä se ei ehkä edes käynnisty lainkaan. Sen sijaan himmennys saavutetaan vaihtamalla täys- ja nollajännitteen välillä. Mitä nopeampi kytkentä on, sitä vähemmän ihmissilmä voi välkkyä. Jos LED -valo on puolet ajasta ja puolet pois päältä, ihmissilmä havaitsee valon ikään kuin se loistaisi puolet täydestä kirkkaasta LED -valosta. LED -valon himmentämisessä on kyse täyden vaikutuksen ja nollan vaikutuksen ajan välisen suhteen säätämisestä. Tämä on PWM tai pulssileveysmodulaatio.

Halpa RGB SMD LED -nauha, jonka ostin tähän projektiin, sisältää laitteen, joka huolehtii PWM: stä. Tässä projektissa luon PWM: n Arduino UNO: n sijaan. RGB -väriavaruus, kuten tyypillisesti toteutetaan tietokoneen näytöllä, on teoreettinen rakenne, jossa kuvitellaan, että jokaisella värikanavalla on arvo 0–255 ja kanavan kirkkaus seuraa lineaarisesti arvoa. Tietokoneen näytönohjain saattaa kompensoida mitä tahansa lyhennettä tästä lineaarisesta odotuksesta, joka todellisilla ledeillä saattaa olla. Seuraavatko projektissa käytetyt SMD -LEDit lineaarisesti käytettyjä PWM -arvoja, eivät kuulu tämän hankkeen piiriin. PWM -arvo 255 luo kirkkaimman valon. Mutta arvo 128 ei ehkä ole kirkkaus, joka havaitaan puoleksi kirkkaudesta 255. Ja 192 ei ehkä havaita kirkkaudeksi tarkalleen 255: n ja 128: n puolivälissä.

Vaihe 4: Kaaviot

Kaaviot
Kaaviot

Tässä esitän elektroniikan kaaviot. Valokuva näyttää miltä yhteys näyttää. Olen juottanut sirut, johdot ja painikkeen perma -proto -levylle. Toistaiseksi komponentit on kytketty vain johtoihin, mutta jätän sinun tehtäväksesi suunnitella, kuinka ne voidaan sovittaa mukavaan laatikkoon ja miten johdot vedetään LED -nauhoihin. Jos löydät 4 -johtimisen litteän kaapelin, käytä sitä, koska yksi LED -nauha tarvitsee 4 johtoa. Minulla oli vain 3 -johtiminen litteä kaapeli, joten tarvitsin ylimääräisen johdon, mikä sai sen näyttämään hieman rumalta.

Vaihe 5: Koodi

Koodi on kirjoitettu Arduino Unolle. Unossa on vain 6 PWM -yhteensopivaa nastaa, mutta tarvitsen niitä 9. Joten käytän erityistä PWM -kirjastoa, jonka on kirjoittanut Brett Hagman. Tämä on asennettava Arduino IDE -laitteeseesi.

wildfire.ino on tärkein projektitiedosto, joka sisältää setup () - ja loop () - toiminnot sekä joitain muita yhteisiä toimintoja kaikille kaavoille.

wildfire.h on yleinen otsikkotiedosto.

Erilaiset mallitiedostot voidaan liittää erillisiin välilehtiin projektissa.

Vaihe 6: Toiminnassa

Image
Image

Vaihe 7: Jatkokehitys

  • Vaihda yhden painikkeen käyttöliittymä ESP8266: een, jotta voit ottaa langattoman yhteyden Android -puhelimeen, jossa käyttöliittymä on verkkosivu järjestelmien hallitsemiseksi.
  • Nauhassa on vielä jäljellä noin 70 RGB SMD -LEDiä. Se on 24 nauhaa, joissa 3 kpl. 24 muuta kanavaa tarvitsee uuden lähestymistavan. Se tarvitsisi Arduino Mega 2560: n ja joitain muita ULN2803AP -siruja tai vaihtoehtoisesti kaksi 16 -kanavaista servolevyä, joita käytetään usein LED -valoissa.
  • Käyttämättömiä ovat myös alkuperäisen LED -nauhan kauko -ohjain ja sen vastaanotin. En ole vielä avannut vastaanotinta, mutta se voitaisiin ehkä käyttää uudelleen jotenkin. Voitaisiin antaa Arduinon kaapata logiikkansa ja saada se toimittamaan numeerista tietoa Arduinolle valoshow'n hallitsemiseksi.

Suositeltava: