INHOUDSOPGAWE:

Veldbrand: 7 stappe
Veldbrand: 7 stappe

Video: Veldbrand: 7 stappe

Video: Veldbrand: 7 stappe
Video: Узнав этот секрет ты НИКОГДА не выбросишь старый БУР от перфоратора! Такого ты еще не видел! 2024, Julie
Anonim
Image
Image

Hierdie projek is geïnspireer deur die mistieke veldbrand in Game of Thrones, 'n groenerige vloeistof, wat, wanneer dit brand, in groen vlamme ontplof. Die projek konsentreer op die gebruik van RGB SMD5050 LED -stroke vir pasgemaakte kleureffekte. Drie glasvoorwerpe is toegerus met 'n strook van ses RGB -LED's elk. 'N Arduino Uno skep 'n vuuragtige flikkerende patroon vir die ligte. Die RGB -LED's is nodig om 'n kleurverlooppatroon van donkergroen tot heldergroen tot helderste wit te skep. 'N Eenvoudige groen LED is nie genoeg nie; dit benodig die rooi en blou komponente om helder wit te maak. As 'n bonus kan hierdie hardeware enige ander kleure produseer. Die glasvoorwerpe is nodig om die lig te breek en die werklike ligbron te verdoesel, dit wil sê die klein, baie tegnies uitstaande RGB SMD5050 LED -stroke.

Die idee kan uitgebrei word tot soveel voorwerpe as wat u wil en watter dinamiese kleurskemas u ook al wil hê. Hierdie instruksies beskryf hoe ek 'n opstelling met drie glasvoorwerpe geïmplementeer het met die volgende kleurskemas. Die veldbrandskema word in die inleidingsvideo gesien. Die res van die skemas word in 'n video op die stap 6 -bladsy van hierdie instruksies gesien.

  • Veldbrand. 'N Game of Thrones het vuur soos 'n skouspel geïnspireer.
  • Unicorn aantrekker. 'N Skouspel wat deur die reënboogkleure vervaag.
  • Knipper. Willekeurige kleurverandering in twee verskillende snelhede.
  • Vervaag. Gladde verandering van willekeurige kleure in twee verskillende snelhede.
  • Lewende kleure. Kleur u voorwerpe in met 'n lig, wat saggies ossilleer rondom 'n spesifieke kleur.
  • Kerse. Laat u LED's 'n natuurlike kersvlam naboots.

Die opset

In die basiese opset gaan u deur die ses kleurskemas met 'n enkele klik. 'N Dubbelklik sal, indien van toepassing, binne een kleurskema van een instelling na 'n ander oorgaan. Kleuropstellings kan bygevoeg word deur die Arduino -program te wysig.

In 'n toekomstige uitgebreide weergawe word die knoppie vervang deur 'n ESP8266 -bord wat na 'n webbladsy koppel wat die kleurskemas beheer. Die webbladsy kan weer beheer word met 'n blaaier vir mobiele toestelle. Dit gee baie meer verskeidenheid in die aanpassing van dinge:

  • stel die snelheid en rigting van verandering in
  • stel die kleur vir flikkerende kerse in
  • stel die helderheid en versadiging van die kleure in

Hierdie instruksies fokus op die basiese opstelling, wat slegs 'n drukknop as die gebruikerskoppelvlak bevat.

Stap 1: wat u benodig

Wat jy nodig het
Wat jy nodig het
Wat jy nodig het
Wat jy nodig het
  • 'N Goedkoop RGB LED -strook wat u in korter stroke kan sny
  • 'N Krag -eenheid, verkieslik die 12 V 1.5 A -ding wat by die RGB LED -strook kom
  • 'N Arduino UNO of soortgelyke
  • Twee ULN2803AP IC: s
  • 'N Eenvoudige drukknoppie
  • 'N Perma-Proto-broodbord
  • Draad
  • 'N Boks vir elektronika
  • Sommige glasvoorwerpe moet deur die RGB LED -stroke verlig word
  • Gereedskap (draadstropper, soldeerbout, soldeer …)

Die led strook

Ek het 'n goedkoop led strip gekoop, wat bestaan uit ongeveer 90 RGB SMD LED's. 'N Klein eenheid dryf die LED's en verander hul kleur. Die eenheid word op afstand beheer en die strook kan op verskillende maniere van kleur verander. Maar die hele strook het dieselfde kleur. Die prettige ding is dat u die strook in klein repies kan sny met slegs drie rgb -leds in elke strook. Elke strook, maak nie saak hoe lank dit is nie, moet aangedryf word met 12 V. Elke afdeling van drie rgb -LED's het sy eie stel weerstande wat sorg vir die spanningsval vir die LED's. U hoef slegs die 12 V te verskaf en genoeg ampère, wel, milliamperes. Vir hierdie projek gebruik ek drie stroke van die LED -strook, met 6 eenhede in elk, en die 12 V 1.0 A -krageenheid. Die beheereenheid en die afstandsbediening is nie nodig nie.

ULN2803AP

'N Enkele led benodig net min stroom. Gewoonlik kan u 'n LED direk vanaf 'n Arduino -datapen aansteek, solank u 'n weerstand het wat die datapen 5 V tot ongeveer 3 V vir die LED laat sak. Maar 'n enkele RGB SMD5050 LED bestaan uit drie LED's, 'n rooi, 'n gren en 'n blou. En vir hierdie projek gebruik ek stroke van 6 RGB SMD5050 LED's. Een gegewenspen van die Arduino Uno beheer 6 LED's. Slegs dit sou die datapennetjie rooster, as die krag om die LED's aan te steek uit die datapennetjie kom. Maar daar sal in alles nege sulke data -penne wees, en dit sal beslis te veel stroom vir die Arduino wees. Daarom skop die ULN2803AP in. Die ULN2803AP is 'n geïntegreerde chip met 8 darlington -transistors. Ek benodig 9, so ek gebruik net twee ULN2803AP -skyfies. Dit laat my met 7 ekstra transistors, as ek die projek wil uitbrei tot vyf voorwerpe.

Een enkele led in die RGB SMD5050 LED trek 20 mA. Ses van hulle sou 120 mA beteken. Een pen (een darlington -transistor) in die ULN2803 kan 500 mA sink. Maar die hele chip kan maksimum 1,44 W warmte wat deur die stroom geproduseer word, hanteer. 120 mA lewer 0.144 W. Ek sit vyf lyne op een van die ULN2803 -skyfies en vier lyne aan die ander kant. Dit is 0,72 W op die een chip en 0,58 W op die ander chip. So ek moet in orde wees. Deur al 8 lyne van 'n ULN2803 met 120 mA op elk te gebruik, word die chip met 1,2 W. opgewarm. Dit word warm, maar dit sal dit steeds verdra.

Eenvoudig verduidelik, die RGB SMD LED -strook kry 12 V van die kragbron. Vanaf die LED -strook gaan die stroom van elk van die drie kleur LED's na sy eie pen in die ULN2803AP en verder na GND. Die kring is gesluit en die LED brand. Maar die ULN2803AP word aangeskakel/afgeskakel deur die 5 V -dataseine van die Arduino. Hierdie seine trek slegs 'n paar milliamps van die Arduino af.

Die glasvoorwerpe en die LED -stroke

Ek het hierdie vreemde glasvoorwerpe gehad wat bedoel is vir teeligte. Ek sny borde uit berkblokke sodat hulle kan staan en iets om die LED -stroke op te plak. Ek het 'n paar voue in die stroke gemaak om ringe te maak, waar die individuele LED -eenhede na bo wys. Wees versigtig met die voue, sodat u nie die lyne sny nie.

Stap 2: Gebruikersinstruksies

Die toestel het 'n eenvoudige gebruikerskoppelvlak. Dit word aangeskakel deur die kragbron in die muurprop te steek en begin met die eerste kleurskema, wat die Wildfire is. Dit word afgeskakel deur die stekker uit te skakel. 'N Knoppie -klik sal na die volgende kleurskema oorgaan. 'N Dubbelklik gaan deur die subskemas van elke kleurskema. Ek gaan die volgende kleurskemas implementeer:

  1. Veldbrand. 'N Game of Thrones het vuur soos 'n skouspel geïnspireer, waar groen vlamme van een glasvoorwerp na die ander beweeg. Hierdie effek sal die skouspelagtigste lyk as die glasvoorwerpe vertikaal teenoor mekaar geplaas word. Drie verskillende subskemas word geïmplementeer met verskillende vlamme.
  2. Unicorn aantrekker. 'N Skouspel wat deur die reënboogkleure vervaag. Vervaging vind plaas op 'n roterende manier, soos elke kleur van een glasvoorwerp na die volgende een beweeg. Die subskemas sal wisselende snelhede hê.
  3. Knipper. Willekeurige kleurverandering in twee verskillende snelhede. Subskemas sal verskillende palette hê (slegs volversadigde kleure, halfversadigde kleure, kleure uit slegs die helfte van die kleursirkel)
  4. Vervaag. Gladde verandering van willekeurige kleure in twee verskillende snelhede. Soortgelyke subskemas as in #3.
  5. Lewende kleure. Kleur u voorwerpe in met 'n lig, wat saggies ossilleer rondom 'n spesifieke kleur. Die subskemas stel die kleure in op rooi, oranje, geel, groen, blou, indigo of pers. Die ossillerende gebeur binne 'n 10 grade sektor rondom die gekose kleur. Die drie glasvoorwerpe het dieselfde gekose kleur, maar elke voorwerp het sy eie ewekansige wisselende frekwensie van ossilleer om die hele stel 'n lewendige lewenskleur te gee.
  6. Kerse. Laat u LED's 'n natuurlike kersvlam naboots. Drie subskemas:

    1. "so kalm as moontlik"
    2. "'n oop venster iewers"
    3. "Dit was 'n donker en stormagtige nag"

Stap 3: 'n Paar woorde oor RGB -kleure

In hierdie afdeling bespreek ek my siening oor die RGB -kleurruimte. U kan hierdie afdeling redelik oorslaan. Ek gee net 'n agtergrond waarom ek die kleure van die RGB LED's behandel soos ek.

Die RGB -LED het dus slegs rooi, groen en blou lig. Deur dit te meng, word al die kleure geskep wat die menslike oog (byna) kan herken. Die hoeveelheid van elke deel - rooi, groen of blou - word in die digitale wêreld gewoonlik gedefinieer deur 'n getal van 0 tot 255. 'n Volversadigde kleur benodig een van die kleurkomponente om nul te wees en een kleurkomponent om 255 te wees. ons het net 1530 verskillende volledig versadigde kleure in ons digitale wêreld.

Een manier om die RGB -ruimte te modelleer, is 'n kubus. Een hoekpunt van die kubus is swart. Vanuit die hoekpunt kan ons langs die rooi, die blou of die groen rand beweeg. Enige punt in die kubus is 'n kleur wat gedefinieer word deur sy rooi, groen en blou koördinate. Op reis na die verste hoekpunt van die swart hoekpunt, kom ons by die wit hoekpunt. As ons fokus op die ses hoekpunte, uitgesluit die swart en die wit, kan ons 'n pad vorm wat al ses hoekpunte deurkruis deur die rande te volg. Elke rand het 256 punte of kleure. Elke hoekpunt word deur twee rande gedeel, dus is die totale aantal punte 6 * 255 = 1530. Deur hierdie pad te loop, word alle 1530 volledig versadigde kleure in die kleurspektrum deurkruis. Of die reënboog. Die hoekpunte verteenwoordig die kleure rooi, geel, groen, siaan, blou en magenta.

Enige ander punt in die kubus verteenwoordig 'n kleur wat nie heeltemal versadig is nie.

  • Die punt is binne -in die kubus, wat beteken dat die rooi, groen en blou koördinate almal van nul verskil. Dink aan die diagonaal van die swart hoekpunt tot die wit hoekpunt as die lyn van alle grys skakerings. En al die "nie volledig versadigde kleure" in die kubus vervaag van volle versadiging aan die rand na hierdie diagonaal van "nulversadiging".
  • Of die punt lê op een van die drie vlak oppervlaktes van die kubus wat die swart hoekpunt raak. Sulke kleur kan as volversadig beskou word, maar verdonker. Hoe meer u dit donkerder maak, hoe meer verloor dit die waargenome kleurversadiging.

In plaas daarvan om die pad met ses rande om die kubus te hê wat alle volledig versadigde kleure beskryf, kan ons hierdie 1530 kleure in 'n sirkel plaas, waar ons 255 verskillende kleure in 'n sektor van 60 grade het - soos wanneer ons van rooi na geel vervaag deur groen daarby te voeg. Om deur alle kleure in die kleursirkel te loop, is soos om drie kleurbeheerders, een vir een, te skuif, terwyl die ander twee teenoor die meeste posisies is. Aangesien ek die kleursirkel, of die reënboogspektrum, in sommige van die kleurskemas gaan gebruik, gaan ek 'n kleur (die kleur) as 'n punt in die sirkel definieer, met behulp van my eie skaal van 1530:

1530 skaal standaard 360 skaal

================================ rooi 0 0 oranje 128 30 geel 256 60 groen 512 120 turkoois 768 180 blou 1024 240 indigo 1152 270 pers 1280 300 pienk 1408 330

Hierdie skaal van 1530 vergemaklik die omskakeling van reënboogkleure in waardes vir die RGB -LED's.

Waarom 255 kleure in elke afdeling? Waarom nie 256 nie? Die 256ste kleur van een sektor is die eerste kleur van die volgende sektor. U kan die kleur nie twee keer tel nie.

Tog 'n paar woorde oor PWM

'N Tipiese LED is ontwerp om op 'n gegewe spanning helder te skyn. Deur die spanning te verlaag, kan die helderheid daal, maar die LED self is nie ontwerp om dimbaar te wees deur net die spanning te verlaag nie. Met die helfte van die spanning kan dit glad nie eers aanskakel nie. In plaas daarvan word verduistering bereik deur te skakel tussen volspanning en nulspanning. Hoe vinniger die skakelaar is, hoe minder flikker die menslike oog. As die LED die helfte van die tyd aan en die helfte van die tyd af is, sien die menslike oog die lig asof dit skyn met die helfte van die effek van 'n volle helder LED. Die dimensie van 'n LED gaan oor die aanpassing van die verhouding tussen die tyd van volle effek en die tyd van nul effek. Dit is PWM, of polswydte modulasie.

Die goedkoop RGB SMD LED -strook wat ek vir hierdie projek gekoop het, bevat 'n toestel wat vir die PWM sorg. In hierdie projek skep ek eerder die PWM met die Arduino UNO. Die RGB -kleurruimte, soos gewoonlik geïmplementeer in 'n rekenaarskerm, is 'n teoretiese struktuur, waarin 'n mens kan dink dat elke kleurkanaal 'n waarde van 0 tot 255 het en die helderheid van die kanaal die waarde lineêr sou volg. Die grafiese kaart van die rekenaar kan vergoed vir enige afkorting van hierdie lineêre verwagting wat die werklike LED's kan hê. Of die SMD -LED's wat in hierdie projek gebruik word, lineêr volg, is nie die PWM -waardes wat in hierdie projek gebruik word nie. 'N PWM -waarde van 255 skep die helderste lig. Maar 'n waarde van 128 is miskien nie 'n helderheid wat as die helfte van die helderheid van 255 beskou word nie. En 192 word nie as 'n helderheid presies in die middel van 255 en 128 waargeneem nie.

Stap 4: Die skemas

Die skematika
Die skematika

Hier bied ek die diagramme van die elektronika aan. Die foto wys hoe my verbinding lyk. Ek het die skyfies, die drade en die knoppie op 'n perma -proto -bord gesoldeer. Tot dusver is die komponente net met die drade verbind, maar ek laat dit aan u om te ontwerp hoe om dit in 'n mooi boks te plaas en hoe om die drade na die LED -stroke te trek. As u 'n plat 4 -draads kabel kry, gebruik dit, want een LED -strook benodig 4 drade. Ek het net 'n 3 -draads plat kabel, so ek het 'n ekstra draad nodig gehad, wat dit 'n bietjie lelik laat lyk het.

Stap 5: Die kode

Die kode is geskryf vir 'n Arduino Uno. Die Uno het slegs 6 PWM -penne, maar ek benodig 9 daarvan. Ek gebruik dus 'n spesiale PWM -biblioteek wat deur Brett Hagman geskryf is. Dit moet in u Arduino IDE geïnstalleer word.

wildfire.ino is die hoofprojeklêer, dit bevat die opstel () en lus () funksies, asook 'n paar ander algemene funksies vir alle skemas.

wildfire.h is die algemene koplêer.

Die verskillende skemalêers kan as aparte oortjies in die projek geplak word.

Stap 6: In aksie

Image
Image

Stap 7: Verdere ontwikkeling

  • Vervang die enkele knoppie -koppelvlak met 'n ESP8266 om draadloos kontak met 'n Android -foon moontlik te maak, waar die gebruikerskoppelvlak 'n webblad is vir die beheer van die skemas.
  • Daar is nog ongeveer 70 RGB SMD LED's in die strook wat gebruik moet word. Dit is 24 stroke met 3 in elk. Nog 24 kanale benodig 'n nuwe benadering. Dit benodig 'n Arduino Mega 2560 en nog 'n paar ULN2803AP -skyfies, alternatiewelik twee 16 -kanaals servoborde, wat gereeld vir LED's gebruik word.
  • Ongebruik is ook die afstandsbediening vir die oorspronklike LED -strook, sowel as die ontvanger daarvan. Ek het nog nie die ontvanger oopgemaak nie, maar dit kan moontlik op een of ander manier hergebruik word. 'N Mens kan 'n Arduino sy logika laat kap en laat numeriese data aan die Arduino aflewer om die ligskou te beheer.

Aanbeveel: