Talaan ng mga Nilalaman:

Wildfire: 7 Hakbang
Wildfire: 7 Hakbang

Video: Wildfire: 7 Hakbang

Video: Wildfire: 7 Hakbang
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Nobyembre
Anonim
Image
Image

Ang proyektong ito ay inspirasyon ng mystic wildfire sa Game of Thrones, isang maberde na likido, kung saan, kapag naiilawan, sumabog sa berdeng apoy. Ang proyekto ay nakatuon sa paggamit ng RGB SMD5050 LED strips para sa ipinasadyang mga epekto ng kulay. Tatlong basong mga bagay ang nilagyan ng isang strip ng anim na RGB LEDs bawat isa. Ang isang Arduino Uno ay lumilikha ng apoy tulad ng pagkutitap na pattern para sa mga ilaw. Ang mga RGB LEDs ay kinakailangan upang lumikha ng isang gradient pattern ng kulay mula sa madilim na berde hanggang sa maliwanag na berde hanggang sa pinakamaliwanag na puti. Ang isang simpleng berdeng LED ay hindi sapat, kailangan nito ang pula at asul na mga sangkap upang lumikha ng maliliwanag na puti. Bilang isang bonus, ang hardware na ito ay maaaring gumawa ng anumang iba pang mga kulay. Ang mga bagay sa salamin ay kinakailangan upang ibalik ang ilaw at magkaila ang tunay na mapagkukunan ng ilaw, ibig sabihin, ang maliit, napaka-teknikal na pagtingin sa mga RGB SMD5050 LED strips.

Ang ideya ay maaaring mapalawak sa maraming mga bagay na nais mo at kung ano ang nais mong mga dynamic na scemes ng kulay. Inilalarawan ng itinuturo na ito kung paano ako nagpatupad ng isang pag-set up na may tatlong mga bagay na salamin na may mga sumusunod na mga scheme ng kulay. Ang wildfire scheme ay nakikita sa panimulang video. Ang natitirang mga iskema ay makikita sa isang video sa pahina ng Hakbang 6 ng itinuturo na ito.

  • Wildfire. Isang Game of Thrones ang nagbigay inspirasyon sa apoy tulad ng palabas.
  • Mang-akit ng Unicorn. Ang isang palabas, na kung saan fades sa pamamagitan ng mga kulay ng bahaghari.
  • Kumurap Random na pagbabago ng kulay sa dalawang magkakaibang bilis.
  • Kumupas Makinis na pagbabago ng mga random na kulay sa dalawang magkakaibang bilis.
  • Mga buhay na kulay. Kulayan ang iyong mga bagay ng isang ilaw na marahang oscillating sa paligid ng isang kulay ng particuar.
  • Kandila. Gayahin ang iyong mga LED isang natural na apoy ng kandila.

Ang set up

Sa pangunahing pag-setup ay isusulong mo ang anim na mga scheme ng kulay sa pamamagitan ng isang solong pag-click sa pindutan. Ang isang dobleng pag-click ay isulong sa loob ng isang scheme ng kulay mula sa isang setting patungo sa isa pa, kung naaangkop. Ang mga pag-setup ng kulay ay maaaring idagdag sa pamamagitan ng pag-edit ng programa ng Arduino.

Sa isang hinaharap na pinalawak na bersyon, ang pindutan ay pinalitan ng isang board na ESP8266, na kung saan ay interface sa isang web page, na makokontrol ang mga scheme ng kulay. Ang web page naman ay makokontrol sa isang browser ng mobile device. Nagbibigay ito ng higit na pagkakaiba-iba sa pagsasaayos ng mga bagay:

  • itakda ang bilis at direksyon ng pagbabago
  • itakda ang kulay para sa mga kumikislap na kandila
  • itakda ang ningning at saturation ng mga kulay

Ang itinuturo na ito ay nakatuon sa pangunahing pag-set up, na nagsasama lamang ng isang pindutan ng push bilang interface ng gumagamit.

Hakbang 1: Ano ang Kailangan Mo

Ang iyong kailangan
Ang iyong kailangan
Ang iyong kailangan
Ang iyong kailangan
  • Ang isang murang RGB LED strip, na maaari mong i-cut sa mas maikling mga piraso
  • Isang yunit ng kuryente, mas mabuti ang 12 V 1.5 Isang bagay na kasama ng RGB LED strip
  • Isang Arduino UNO o katulad
  • Dalawang ULN2803AP IC: s
  • Isang simpleng pindutang pindutin
  • Isang Perma-Proto breadboard
  • Kawad
  • Isang kahon para sa electronics
  • Ang ilang mga salamin na bagay na naiilawan ng mga RGB LED strip
  • Mga tool (wire stripper, soldering iron, solder…)

Ang led strip

Bumili ako ng isang murang led strip, na binubuo ng ilang 90 RGB SMD LEDs. Ang isang maliit na yunit ay nagtutulak ng mga leds, binabago ang kanilang kulay. Ang yunit ay remote control at ang strip ay maaaring baguhin ang mga kulay sa iba't ibang mga paraan. Ngunit ang buong strip ay may parehong kulay. Ang nakakatuwang bagay ay maaari mong i-cut ang strip sa maliliit na piraso na naglalaman lamang ng tatlong rgb leds sa bawat strip. Ang bawat strip, gaano man katagal ito, ay dapat palakasin ng 12 V. Ang bawat seksyon ng tatlong rgb leds ay may sariling hanay ng mga resistors na nangangalaga sa drop ng boltahe para sa mga leds. Kailangan mo lamang ibigay ang 12 V at sapat na mga amperes, well, milliamperes. Para sa proyektong ito, gumagamit ako ng tatlong mga piraso ng led strip, kung saan 6 na mga unit sa bawat isa, at ang 12 V 1.0 Isang power unit. Ang control unit at ang remote control ay hindi kinakailangan.

ULN2803AP

Ang solong pinangungunahan ay nangangailangan lamang ng kaunting kasalukuyang. Kadalasan maaari mong magaan ang isang humantong nang direkta mula sa isang pin ng data ng Arduino, hangga't mayroon kang isang risistor na bumababa ng data pin na 5 V sa ilang 3 V para sa led. Ngunit ang isang solong RGB SMD5050 LED ay binubuo ng tatlong mga leds, isang pula, isang gren at isang asul. At para sa proyektong ito, gumagamit ako ng mga piraso ng 6 RGB SMD5050 LEDs. Ang isang data pin ng Arduino Uno ay kumokontrol sa 6 na LED. Iyon lamang ang i-toast ang data pin, kung ang lakas upang magaan ang mga leds ay magmula sa data pin. Ngunit magkakaroon sa mga alles na siyam na mga pin ng data at siguradong magiging sobrang kasalukuyang para sa Arduino. Iyon ang dahilan kung bakit sumisipa ang ULN2803AP. Ang ULN2803AP ay isang integrated chip na may 8 darlington transistors. Kailangan ko ng 9, kaya gumagamit lang ako ng dalawang chips na ULN2803AP. Iiwan ako ng 7 ekstrang transistors, kung nais kong pahabain ang proyekto upang sabihin ang limang mga bagay.

Ang isang solong pinangunahan sa loob ng RGB SMD5050 LED ay kumukuha ng 20 mA. Anim sa kanila ay nangangahulugang 120 mA. Ang isang pin (isang darlington transistor) sa ULN2803 ay maaaring lumubog 500 mA. Ngunit ang buong chip ay maaaring hawakan ang max 1.44 W ng init na ginawa ng kasalukuyang. Ang 120 mA ay gumagawa ng 0.144 W. Naglalagay ako ng limang linya sa isa sa mga ULN2803 chips at apat na linya sa isa pa. Iyon ay magiging 0.72 W sa isang maliit na tilad at 0.58 W sa kabilang chip. Kaya dapat ayos lang ako. Gamit ang lahat ng 8 mga linya ng isang ULN2803 na may 120 mA sa bawat isa ay magpapainit ng maliit na tilad na may 1.2 W. Magiging mainit, ngunit tiisin pa rin ito.

Ipinaliwanag lamang, ang RGB SMD LED strip ay nakakakuha ng 12 V mula sa pinagmulan ng kuryente. Mula sa LED strip, ang kasalukuyang mula sa bawat isa sa tatlong kulay na LEDS ay papunta sa sarili nitong pin sa ULN2803AP at higit pa sa GND. Ang circuit ay sarado at ang LED ay ilaw. Ngunit ang ULN2803AP ay nakabukas / naka-on ng mga signal ng 5 V data mula sa Arduino. Ang mga signal na ito ay iguhit lamang ng ilang milliamps mula sa Arduino.

Ang mga bagay sa salamin at ang mga LED strip

Nagkaroon ako ng mga kakaibang bagay na ito sa salamin, na para sa mga ilaw ng tsaa. Pinutol ko ang mga plato mula sa mga birch log upang sila ay tumayo at magkaroon ng isang bagay upang ipako ang mga LED strip. Gumawa ako ng ilang mga tiklop sa mga piraso upang gawin itong mga singsing, kung saan ang mga indibidwal na yunit ng LED ay nakaharap pataas. Mag-ingat sa mga kulungan, upang hindi mo gupitin ang mga linya.

Hakbang 2: Mga Tagubilin sa Gumagamit

Ang aparato ay magkakaroon ng isang simpleng interface ng gumagamit. Nagbubukas ito sa pamamagitan ng pag-plug ng pinagmulan ng kuryente sa socket ng dingding at nagsisimula sa unang scheme ng kulay, na kung saan ay ang Wildfire. Patay ito sa pamamagitan ng pag-unplug. Ang isang pag-click sa pindutan ay isusulong sa susunod na scheme ng kulay. Ang isang dobleng pag-click ay isulong sa pamamagitan ng mga sub scheme ng bawat scheme ng kulay. Ipapatupad ko ang mga sumusunod na mga scheme ng kulay:

  1. Wildfire. Ang isang Game of Thrones ay nagbigay inspirasyon sa apoy tulad ng palabas, kung saan ang mga berdeng apoy ay naglalakbay mula sa isang basong bagay patungo sa iba pa. Ang epektong ito ay magiging hitsura ng kamangha-manghang, kapag ang mga bagay na salamin ay inilalagay nang patayo sa bawat isa. Tatlong magkakaibang mga subskema ay ipinatupad na may iba't ibang bilis ng apoy.
  2. Mang-akit ng Unicorn. Ang isang palabas, na kung saan fades sa pamamagitan ng mga kulay ng bahaghari. Ang pagkupas ay nangyayari sa isang umiikot na paraan, tulad ng bawat kulay na gumagalaw mula sa isang basong bagay patungo sa susunod. Ang mga subscheme ay magkakaiba-iba ng bilis ng pagkupas.
  3. Kumurap Random na pagbabago ng kulay sa dalawang magkakaibang bilis. Ang mga subschemes ay magkakaiba-iba ng mga palette (ganap na puspos na mga kulay, kalahating puspos na mga kulay, mga kulay mula sa kalahati lamang ng bilog ng kulay)
  4. Kumupas Makinis na pagbabago ng mga random na kulay sa dalawang magkakaibang bilis. Mga katulad na subscem tulad ng sa # 3.
  5. Mga buhay na kulay. Kulayan ang iyong mga bagay ng isang ilaw na marahang oscillating sa paligid ng isang kulay ng particuar. Itatakda ng mga subscheme ang mga kulay sa pula, kahel, dilaw, berde, asul, indigo o lila. Ang oscillating ay nangyayari sa loob ng isang 10 degree na sektor sa paligid ng napiling kulay. Ang tatlong bagay na baso ay may parehong piniling kulay, ngunit ang bawat bagay ay may kanya-kanyang random na pagbabago ng dalas ng oscillating, upang mabigyan ang buong set ng isang buhay na kulay na buhay.
  6. Kandila. Gayahin ang iyong mga LED isang natural na apoy ng kandila. Tatlong subschemes:

    1. "kalmado hangga't maaari"
    2. "isang bukas na bintana sa kung saan"
    3. "ito ay isang madilim at mabagbag na gabi"

Hakbang 3: Ilang mga Salita Tungkol sa Mga Kulay ng RGB

Sa seksyong ito tinatalakay ko ang aking pagtingin sa puwang ng kulay ng RGB. Maaari mong laktawan nang maayos ang seksyong ito. Nagbibigay lamang ako ng ilang background kung bakit tinatrato ko ang mga kulay ng mga RGB LED na tulad ko.

Kaya't ang RGB LED ay mayroon lamang pula, berde at asul na ilaw. Ang paghahalo ng mga ito ay lilikha ng lahat ng mga kulay na makikilala ng mata ng tao (halos). Ang halaga ng bawat bahagi - pula, berde o asul - ay nasa digital na mundo na karaniwang tinukoy ng isang numero mula 0 hanggang 255. Ang isang buong puspos na kulay ay nangangailangan ng isa sa mga sangkap ng kulay na maging zero at isang sangkap ng kulay na 255. Sa ito pakiramdam mayroon lamang kaming 1530 magkakaibang mga puspos na puspos na kulay sa aming digital na mundo.

Ang isang paraan ng pagmomodelo ng RGB space ay isang cube. Ang isang tuktok ng kubo ay itim. Mula sa tuktok na iyon maaari kaming maglakbay kasama ang pula, asul o berde na gilid. Ang anumang punto sa kubo ay isang kulay na tinukoy ng kanyang pula, berde at asul na mga coordinate. Ang paglalakbay sa pinaka-tuktok mula sa itim na tuktok, nakarating kami sa puting tuktok. Nakatuon sa anim na vertex na hindi kasama ang itim at ang puti, makakabuo kami ng isang landas na daanan ang lahat ng anim na vertex sa pamamagitan ng pagsunod sa mga gilid. Ang bawat gilid ay may 256 puntos o kulay. Ang bawat vertex ay ibinabahagi ng dalawang gilid, kaya ang kabuuang bilang ng mga puntos ay 6 * 255 = 1530. Ang pagsunod sa landas na ito ay dumadaan sa lahat ng 1530 ganap na puspos na mga kulay sa spectrum ng kulay. O ang bahaghari. Ang mga vertex ay kumakatawan sa mga kulay pula, dilaw, berde, cyan, asul at magenta.

Anumang iba pang mga point sa cube ay kumakatawan sa isang kulay, na kung saan ay hindi ganap na puspos.

  • Alinman sa punto ay nasa loob ng kubo, nangangahulugang ang pula, berde at asul na mga coordinate lahat ay naiiba mula sa zero. Isipin ang dayagonal mula sa itim na vertex hanggang sa puting taluktok bilang linya ng lahat ng mga kulay-abong shade. At lahat ng "hindi ganap na puspos na mga kulay" sa loob ng kubo ay kumukupas mula sa buong saturation sa gilid patungo sa dayagonal ng "zero saturation".
  • O ang punto ay nakasalalay sa isa sa tatlong mga ibabaw ng eroplano ng kubo na hawakan ang itim na tuktok. Ang nasabing kulay ay maaaring isaalang-alang na ganap na puspos, ngunit dumilim. Kung mas madidilim mo ito, mas nawawala ang napansin na saturation ng kulay nito.

Sa halip na magkaroon ng anim na gilid ng landas sa paligid ng kubo na naglalarawan sa lahat ng mga puspos na puspos na kulay, maaari nating ilagay ang mga 1530 na kulay sa isang bilog, kung saan mayroon kaming 255 iba't ibang mga kulay sa isang 60 degree na sektor - tulad ng pagkupas mula sa pula hanggang dilaw sa pamamagitan ng pagdaragdag ng berde dito. Ang pagpapatakbo sa lahat ng mga kulay sa bilog ng kulay ay tulad ng pag-slide ng tatlong mga tagakontrol ng kulay, isa sa isang pagliko, habang ang dalawa ay nasa kabaligtaran ng karamihan sa mga posisyon. Dahil gagamitin ko ang bilog ng kulay, o ang rainbow spectrum, sa ilan sa mga scheme ng kulay, tutukuyin ko ang isang kulay (ang kulay) bilang isang punto sa bilog, gamit ang aking sariling sukat na 1530:

1530 sukatan na pamantayan ng 360 na sukat

========== ==== pula 0 0 kahel 128 30 dilaw 256 60 berde 512 120 turkesa 768 180 asul 1024 240 indigo 1152 270 lila 1280 300 pink 1408 330

Pinapasimple ng scale na 1530 na ito ang pag-convert ng mga kulay ng bahaghari sa mga halaga para sa RGB LEDs.

Bakit 255 ang mga kulay sa bawat seksyon? Bakit hindi 256? Sa gayon, ang ika-256 na kulay ng isang sektor ay ang unang kulay ng susunod na sektor. Hindi mo mabibilang ang kulay na dalawang beses.

Ngunit ilang salita tungkol sa PWM

Ang isang tipikal na LED ay dinisenyo upang lumiwanag nang maliwanag sa isang naibigay na boltahe. Ang pagbaba ng boltahe ay maaaring mahulog ang ningning, ngunit ang LED mismo ay hindi idinisenyo upang ma-dimmable sa pamamagitan lamang ng pagbagsak ng boltahe. Sa kalahati ng boltahe maaari itong hindi kahit na i-on ang lahat. Sa halip, ang dimming ay nakakamit sa pamamagitan ng paglipat sa pagitan ng buong boltahe at zero boltahe. Kung mas mabilis ang paglipat, mas hindi makikilala ang mata ng tao. Kung ang LED ay kalahati ng oras sa at kalahati ng oras na wala, nakikita ng mata ng tao ang ilaw na parang kumikinang na may kalahati ang epekto ng isang buong maliwanag na LED. Ang pag-aayos ng ratio sa pagitan ng oras ng buong epekto at ng oras ng zero na epekto ay tungkol sa pagpapalabo ng isang LED. Ito ang PWM, o modulate ng lapad ng pulso.

Ang murang RGB SMD LED strip na binili ko para sa proyektong ito ay may kasamang isang aparato na nangangalaga sa PWM. Sa proyektong ito lilikha ako ng PWM sa Arduino UNO sa halip. Ang puwang ng kulay ng RGB, tulad ng karaniwang ipinatutupad sa isang computer screen, ay isang teoretikal na istruktura, kung saan naisip ng isang tao ang bawat channel ng kulay na may hawak na isang halaga mula 0 hanggang 255 at ang ningning ng channel ay linear na susundan ang halaga. Ang graphic card ng computer ay maaaring magbayad para sa anumang pagpapaikli mula sa linyang pag-asa na maaaring mayroon ang mga tunay na leds. Kung ang mga SMD LED na ginamit sa proyektong ito ay sundin nang linear na ang mga halagang PWM na ginamit ay wala sa saklaw ng proyektong ito. Ang halagang PWM na 255 ay lumilikha ng pinakamaliwanag na ilaw. Ngunit ang halagang 128 ay maaaring hindi isang maliwanag na napansin bilang kalahati ng ningning ng 255. At ang 192 ay maaaring hindi mapansin bilang isang ilaw na eksaktong nasa kalagitnaan ng 255 at 128.

Hakbang 4: Ang Mga Skema

Ang Mga Iskolar
Ang Mga Iskolar

Narito ipinakita ko ang mga iskema ng electronics. Ipinapakita ng larawan ang hitsura ng aking koneksyon. Inhinang ko ang mga chips, ang mga wire at ang pindutan papunta sa isang perma proto board. Sa ngayon ang mga sangkap ay konektado lamang sa mga wires, ngunit iniiwan ko sa iyo upang magdisenyo kung paano magkasya ang mga ito sa isang magandang kahon at kung paano iguhit ang mga wire sa mga LED strip. Kung makakita ka ng isang 4 wire flat cable, gamitin ito, dahil ang isang LED strip ay nangangailangan ng 4 na mga wire. Mayroon lamang akong 3 wire flat cable, kaya kailangan ko ng isang labis na kawad, na ginawang medyo pangit.

Hakbang 5: Ang Code

Ang code ay nakasulat para sa isang Arduino Uno. Ang Uno ay may 6 na PWM na may kakayahang mga pin lamang, ngunit kailangan ko ng 9 sa kanila. Kaya gumagamit ako ng isang espesyal na PWM library na isinulat ni Brett Hagman. Kailangan itong mai-install sa iyong Arduino IDE.

Ang wildfire.ino ay ang pangunahing file ng proyekto, kasama dito ang pag-andar ng setup () at loop (), pati na rin ang ilang iba pang mga karaniwang pag-andar para sa lahat ng mga scheme.

wildfire.h ang karaniwang header file.

Ang iba't ibang mga file ng scheme ay maaaring mai-paste bilang magkakahiwalay na mga tab sa proyekto.

Hakbang 6: Sa Pagkilos

Image
Image

Hakbang 7: Karagdagang Pag-unlad

  • Palitan ang interface ng solong pindutan ng isang ESP8266 upang paganahin ang wireless contact sa isang Android phone, kung saan ang interface ng gumagamit ay isang web page para sa pagkontrol sa mga scheme.
  • Mayroon pa ring mga 70 RGB SMD LED na natitira sa strip na gagamitin. Iyon ay 24 na piraso na may 3 sa bawat isa. 24 pang mga channel ang nangangailangan ng isang bagong diskarte. Kakailanganin nito ang isang Arduino Mega 2560 at ilan pang mga ULN2803AP chips, bilang kahalili ng dalawang 16 na servo board, na kadalasang ginagamit para sa mga LED.
  • Hindi nagamit din ang remote control para sa orihinal na LED strip, pati na rin ang tatanggap nito. Hindi ko pa nabubuksan ang tatanggap, ngunit maaaring marahil ay muling magamit ito kahit papaano. Maaaring pahintulutan ng isang tao ang isang Arduino na hijack ang mga lohika nito at maihatid nito ang bilang ng data sa Arduino upang makontrol ang light show.

Inirerekumendang: