Reklāma
Dažus mēnešus atpakaļ, USD3000 pērkons un zibens garastāvokļa lampa veidojās vīrusu izraisītāju sabiedrībā. Tā bija satriecoši skaista gaisma, bet cenu zīme atstāja to ikvienam nepieejamā vietā ar viņu veselo saprātu. Tas, ko mēs šodien izgatavosim, nav gluži tas pats - mēs mākslas darba vietā padarām kaut ko praktiskāku, bet tas būs daudz foršāks un pielāgojamāks.
Es izvēlējos izlaist skaļruņus, pieņemot, ka, iespējams, jūsu istabā jau ir labs skaļruņu pāris, kuru jūs drīzāk lietotu, un, atklāti sakot, ievietot skaļruni lampā ir savādi. Tā vietā es pievienošu mikrofonu, kas ļaus zibens automātiski reaģēt uz skaļiem trokšņiem - vai nu no faktiska pērkona negaisa, vai no datora atskaņota skaņas celiņa vai stereo.
Mēs izmantosim arī pilnu RGB Neopixel gaismas diožu (WS2812B) virkni, lai mēs varētu reproducēt krāsas, kas nav baltas, un kontrolēt katru pikseļu.
Brīdinājums: barošanas avotam, kuru esmu izmantojis šajā projektā, ir skrūvju spailes, kas savieno ar dzīvu maiņstrāvas vadu. Ja nejūtat pārliecību par elektrības pievienošanu, lūdzu, iegādājieties pilnībā slēgtu barošanas avotu. Vismaz jums PSU būs jāievieto drošā projekta lodziņā.
0 solis: ievads
Šis ir pabeigtā projekta demonstrācijas video. Līdz šim esmu ieviesis dažus dažādus režīmus, sākot no standarta zibens līdz trippy skābes mākonim un krāsu izbalējošai garastāvokļa lampai, ko var izvēlēties no tālvadības pults.
Pilns kods un nepieciešamās bibliotēkas ir lejupielādējamas no šo Github krātuvi.
1. solis: jums būs nepieciešams

- WS2812B šķipsna, kuru cena parasti ir aptuveni 50 USD par 5 metriem. Neuztraucieties, ja jums ir cita veida Neopixel virkne, to gandrīz noteikti atbalsta FastLED interfeiss, taču jūsu vadi var būt atšķirīgi (jums papildus signālam var būt nepieciešama sinhronizācijas līnija arī piemērs).
- 5V, 10A + barošanas avots - Es nopirku apmēram 15A vienības par katru USD 11. Viņi uzņem 120–240 V maiņstrāvas ieeju un rada dūšīgu 5 V izvadi, kas būs pietiekama, lai darbinātu visus mūsu pikseļus ar pilnu spilgtumu un Arduino.
- Elektriskais kabelis, kontaktdakša un iebūvētais slēdzis
- Projekta norāde
- Divi Arduinos. 10 dolāri ar Funduino kloniem ir lieliski. Otrais ir nepieciešams tālvadībai, savukārt pirmais kontrolē galveno loģiku un gaismas diodes.
- Divi 2,2k (vai apmēram tā) omu rezistori - precīzajai vērtībai nav tik liela nozīme, vajadzētu darboties aptuveni 1,5k līdz 47k.
- Maizes dēlis
- IR uztvērējs TSOP4838
- IR tālvadības pults - es iegādājos vairumā par apmēram 2 ASV dolāriem, bet jebkuram tālvadības pultam vajadzētu strādāt ar koda modifikācijām.
- Liels mikrofona modulis
- Nogrieziet MDF koksni, lai no tās izgrieztu pamatni, un finierzāģi.
- Polistirola iepakojuma materiāls / kastes ieliktņi.
- Polipropilēna kokvilnas spilvenu pildījums. Es izvilku vairāk nekā pietiekami no dažiem briesmīgiem veciem spilveniem. Ja tas nav risinājums, jums vajadzētu būt iespējai iegādāties jaunu par aptuveni 10 USD vai izmantot vēl lētāku vati. Es mēģināju ar abiem - vatei bija nepieciešams vairāk darba, lai to nomierinātu, un tā nebija tik pūkaina, bet šķipsniņā darbosies.
- Ķēde un āķi, lai pakārtu mākoni - vajadzētu noturēt vairāk nekā 5 kg.
- Līmes pistole ar zemas temperatūras iestatījumu
- Smidzināšanas līme - ar to ir vieglāk uzlīmēt pildījumu uz mākoņa, taču varētu darboties arī līmes pistole.
Kopējās izmaksas ir aptuveni 100 USD, neskaitot instrumentus, bet lielāko daļu no tā es izkrāpu no mājas. Visi elektronikas komponenti ir parasti pieejami; mikrofonu var atrast sensoru komplektā vai iegādāties individuāli.
2. solis: nogrieziet pamatni

Ar finierzāģi izgrieziet aptuvenu pamatni no MDF atgriezumiem - precīza forma acīmredzami ir jūsu ziņā, taču kāda iemesla dēļ manā izpratnē mākonis ir nieru pupiņu forma. Šim nolūkam mēs pievienosim dažus āķus, lai piekārtu, bet citādi tas tikai nodrošina stabilu pamatu, uz kura balstīties. Centrālā zona tiks rezervēta elektronikai, PSU un ķēdes nodošanai, tāpēc pārliecinieties, ka jums ir pietiekami daudz vietas, lai vismaz projekta korpuss būtu novietots ar dažiem āķiem, kas to ieskauj.
3. solis: polistirola slānis

Šis ir visgrūtākais un radošākais solis, bet mēs patiešām izveidojam kaut ko pamatīgu un kinda-sorta mākoņa formas, lai uzlīmētu LED sloksni. Līmējiet lielus polistirola gabalus, kas iesaiņojas uz pamatnes (un zem tā), izmantojot līmes pistoli ar zemu karstumu. Ja jums nav zemu iestatījumu, izslēdziet karstuma pistoli un ļaujiet tam nedaudz atdzist, pirms mēģināt pielīmēt. Ja temperatūra ir pārāk augsta, jūs vienkārši izkausēsit cauri iepakojuma materiālam.
Pirms nākamā līmēšanas pārliecinieties, ka katrs gabals ir ciets, un labāk ir pielīmēt vairāk nekā nepietiekami.
Atkal neaizmirstiet mākoņa iekšpusē atstāt pietiekami lielu dobumu, lai tas būtu piemērots elektronikai, ķēdei un āķiem.
4. darbība: izveidojiet 3D mākoņa formu

Izmantojiet griešanas nazi, lai tuvinātu savu mākoni, noapaļojot stūrus un nogriežot nevajadzīgos materiālus, līdz esat sasniedzis aptuvenu 3D mākoņa formu. Nav īsti svarīgi, cik tas ir rupjš, jo vēlāk visu aizpildīsim ar pildījumu - jūs varat viegli slēpt kļūdas.
5. solis: salabojiet āķus, sakopiet

Visbeidzot, piestipriniet trīs vai četrus āķus pie MDF pamatnes no katra mākoņa dobuma stūra. Jums būs jāizurbj neliels pilots caurums, jo MDF ir grūti ieskrūvēt taisni.
Es arī devu visam vienkāršu baltas krāsas aerosola krāsas kārtu, lai nodrošinātu vienmērīgu krāsas pamatni, bet es neesmu pārliecināts, ka tas tiešām bija nepieciešams.
6. solis: Līmējiet LED sloksnes

Pirms sākat uzlīmēt gaismas diodes, vai nu sāciet no jaunas sloksnes, vai arī saskaitiet, cik daudz gaismas diožu jums ir - jums vēlāk būs jānoskaidro, cik daudz esat izmantojis programmēšanas posmā. Izgrieziet nelielu caurumu mākoņa sānos un ieduriet mākoņa dobumā caur vadiem, kas veido jūsu LED sloksnes sākumu. Esiet ļoti uzmanīgs, ka sākat no pareizā gala - LED sloksnes ir jutīgas pret virzienu, tāpēc pārliecinieties, vai signāla bultiņas ir vērstas no dobuma.
Lēnām strādājot, apļveida zīmējumā pielīmējiet LED pikseļus uz polistirola pamatnes, pirms sloksni velciet līdz pamatnei, lai pārklātu apakšpusi. Atkal - jums nav jābūt ideālam šeit, jo, tiklīdz mēs visu esam izkliedējuši un noslāpējuši ar pildījumu, tas tik un tā izskatās satriecoši.
Es kopā izmantoju 85 gaismas diodes jeb nedaudz vairāk par 2,5 metriem, divreiz apņemot galveno korpusu un apakšā lietojot vienu gaismas diožu virkni.
7. solis: elektroinstalācijas shēma

Elektroinstalācija ir sarežģīta, bet viegli sadalāma sekcijās.
Pirmkārt, ievietojiet un nostipriniet barošanas avotu, vēlams, atsevišķā projekta gadījumā. Es negrasīšos jūs lekciju par aktīvo maiņstrāvas vadu drošību, tāpēc es pieņemšu, ka jūs varat rīkoties ar šo daļu, un jums no tā ir 5 V un GND līnija.
SVARĪGS: programmējot un testējot Arduino, 5 V no jūsu barošanas avota jāpaliek izolētam no Arduino ( GND visi tomēr ir savienoti) - tam vajadzētu darbināt tikai LED sloksni, kamēr Arduino izmanto 5 V piegādāto strāvu USB. Kad esat pabeidzis programmēšanu, USB vajadzētu būt atvienotam un Arduino vairs nenodrošinās 5 V - šajā brīdī jums vajadzētu savienot 5 V no jūsu barošanas ar 5 V sliedi kreisajā pusē maizes dēlis.
Sāciet, savienojot zemi un 5 V tapas no katra Arduino pie maizes dēļa kreisās puses sliedēm. Viņiem būs vienāds enerģijas avots neatkarīgi no tā, vai tas ir ārējais PSU, kas mums ir, vai USB ir pievienots vienam no tiem.
Pēc tam aizpildiet I2C vadu sadaļu - tas ļauj mūsu diviem Arduinos sazināties. Paņemiet A4 tapas no abiem Arduinos uz vienas maizes dēļa rindas, pēc tam pievienojiet 2,2k pretestību no šīs rindas pie 5V sliedes. Atkārtojiet A5, savienojot tos atsevišķā rindā, ar vēl vienu 2,2k pretestību atkal pie 5V.
Nākamo reizi pievienojiet infrasarkano staru uztvērēju - pārbaudiet tapu konfigurāciju, ja jums ir cits modelis, bet principā signāla piespraudei jāiet uz D11 vienā Arduino. Augšupielādējiet thundercloud_ir_receiver.ino skice šim Arduino (viss kods šeit), pēc tam atvienojiet USB spraudni, jo tas mums vairs nav vajadzīgs.
No otras puses, Arduino, pievienojiet Dati signāla piespraude no jūsu LED sloksnes sākuma līdz D6. GND no jūsu gaismas diodēm vajadzētu būt kopīgai ar visiem Arduinos, taču šajā brīdī 5 V nāk tieši no PSU.
Arī šajā Arduino pievienojiet mikrofona moduli A0. Augšupielādējiet otru thundercloud.ino skicējiet un pagaidām atkļūdojiet USB, kamēr tas ir pievienots. Sāciet, mainot NUM_LEDS mainīgi atbilstoši.
8. solis: Līmējiet uz pildījuma

Kā pēdējais solis pielīmējiet savu pildījumu. Šeit nav īpašu paņēmienu - vienkārši izsmidziniet mākoni ar līmes slāni un satveriet sauju ar pildījumu. Ar pildījumu ir vieglāk strādāt, ja jūs to jau esat nomierinājis, lai palielinātu virsmas laukumu.
Ja esat izmantojis to pašu tālvadības pulti kā es, STROBE poga to ieslēdz skaņas reaktīvā mākoņa režīmā; FLASH ir trippy krāsu režīms, un FADE ir lēni izbalējoša krāsu noskaņojuma lampa.
9. darbība: koda skaidrojums

Kāpēc divi Arduinos? Gan infrasarkanā uztvērēja programmēšana, gan WS2818B pikseļu draivera bibliotēka ir ļoti jutīga pret laika noteikšanu - ja laika aizkavēšanās, IR signāls tiek bojāts. Piešķirot katrai shēmai savu mikrokontrolleri un ļaujot viņiem sarunāties, izmantojot I2C protokolu, mēs varam nodrošināt, ka laika grafiks ir perfekts. Iespējams, ka atradīsit arī atsevišķus IR moduļus ar iebūvētu mikrokontrolleri, taču mans pētījums atklāja, ka tie faktiski maksā vairāk nekā vienkāršs Arduino klons un IR LED. Thundercloud_ir_receiever nav jāpieprasa skaidrojums, lai gan, iespējams, vispirms vēlēsities izlasīt I2C pamatus.
Galvenajā pērkona negaisa kontrollerī mēs definējam dažādus darbības režīmus, piemēram, ON (zibens efekti nav skaņas aktivizēts), CLOUD (zibens tiek aktivizēts tikai ar skaņu), ACID (mākonis rāda treknas krāsas) vai vienkārša vienkrāsaina režīmi. Lai definētu jaunu režīmu, pievienojiet enum vispirms atveriet konsoli un atrodiet tālvadības pults, lai to kartētu - katram tālvadības nospiešanai vajadzētu izdrukāt atkļūdošanas līniju. Iekš saņemt notikumu () metodi, mēs šos taustiņu nospiedumus sakārtojam režīmā, tāpēc pievienojiet tur papildu pārslēgšanas paziņojumu. Visbeidzot, galvenajā cilpa () metodi, mēs šo režīmu izvēli novirzām uz dažādām displeja funkcijām.
Mikrofona izlīdzināšanas kods sākotnēji ir no Adafruit - Es to vienkāršojām mūsu vajadzībām un pievienoju sprūdu, kad ir dzirdams skaļāks par vidējo troksni.
10. solis: zibens režīmi

Zibens displejos ir apvienoti trīs dažādi zibens “veidi”, lai sasniegtu kaut ko pietiekami reālistisku vai vismaz acij tīkamu. Pirmais tips ir plaisa (), kur katrs LED ir īslaicīgi ieslēgts uz laiku no 10 līdz 100 ms. Otrais tips ir ripo() - kur katrai gaismas diodei ir 10% ieslēgšanās iespējas, un visa cilpa tiek atkārtota 2-10 reizes ar 5-100ms kavēšanos starp katru ciklu. Trešais tips ir pērkona negaiss (), kas izvēlas divas dažādas sloksnes sadaļas, katrā no 10 līdz 20 gaismas diodēm, šīs sadaļas īsi mirgo no 3-6 reizes. Detalizēti izpētiet šīs metodes, lai redzētu, kā tiek aktivizētas atsevišķas gaismas diodes - visā pasaulē tiek izmantots HSV krāsu ritenis (tātad balts ir H = 0, S = 0, V = 255). Es aicinu jūs iekniebt vai rakstīt jaunus zibensnovedumus, pēc tam dalīties ar tiem komentāros, ja izveidojat kādu, kas jums patīk.
Katru reizi, kad tiek iedarbināts zibens vai tiek palaista cilpa, mākonis nejauši izvēlas vienu no trim zibens veidiem. Visbeidzot, a atiestatīt () metode izslēdz visas gaismas, pretējā gadījumā tās “atcerēsies” savu iepriekšējo stāvokli.
Jautājumi vai problēmas - lūdzu, sazinieties ar komentāriem, un es darīšu visu iespējamo, lai palīdzētu. Ja jums ir Github konts, droši sūtīt kļūdas vai problēmas izdod izsekotāju tā vietā. Ja esat veicis izmaiņas vai uzrakstījis dažas jaunas apgaismojuma funkcijas, lūdzu, kopīgojiet saiti uz savu kodu Gist vai Pastebins.
Džeimsam ir mākslīgā intelekta bakalaura grāds, un viņš ir sertificēts CompTIA A + un Network +. Viņš ir galvenais MakeUseOf izstrādātājs un brīvo laiku pavada, spēlējot VR peintbolu un galda spēles. Kopš mazotnes viņš būvēja datorus.