Reklama
Pár mesiacov späť, $3 000 hromov a blesky lampa nálady sa stala vírusovou v komunite výrobcov. Bolo to neuveriteľne krásne svetlo, ale cenovka ho nechala mimo dosahu kohokoľvek, kto má zdravý rozum. To, čo dnes vytvoríme, nie je úplne to isté - namiesto umeleckého diela robíme niečo praktickejšie, ale bude to oveľa chladnejšie a prispôsobiteľnejšie.
Rozhodol som sa vynechať reproduktory za predpokladu, že pravdepodobne už máte vo svojej izbe dobrý pár reproduktorov, ktoré by ste radšej používali, a úprimne povedané, uvedenie reproduktora do svietidla je trochu divné. Namiesto toho pridám mikrofón, ktorý umožní blesku automaticky reagovať na hlasné zvuky - buď zo skutočnej búrky, alebo zo zvukového doprovodu prehrávaného z počítača alebo stereofónneho systému.
Použijeme tiež prameň plných RGB neopixelových LED (WS2812B), aby sme mohli reprodukovať farby iné ako biele a mať kontrolu nad každým pixelom.
Výstraha: napájací zdroj, ktorý som použil v tomto projekte, má skrutkové svorky, ktoré sa pripájajú k živému striedavému vodiču. Ak nemáte istotu, že zapojíte zástrčku, uistite sa, že ste si kúpili úplne uzavretý zdroj napájania. Prinajmenšom je potrebné priložiť jednotku PSU do zabezpečenej projektovej skrinky.
Krok 0: Úvod
Tu je ukážkové video z dokončeného projektu. Doposiaľ som implementoval niekoľko rôznych režimov, od štandardného blesku až po trikyselý oblak kyseliny a farebné kontrolné svetlo vyblednutia, ktoré je možné zvoliť z diaľkového ovládača.
Celý potrebný kód a knižnice sú k dispozícii na stiahnutie na toto úložisko Github.
Krok 1: Budete potrebovať
- Vlákno WS2812B, zvyčajne za cenu približne 50 dolárov za 5 metrov. Nerobte si starosti, ak máte iný druh prameňa Neopixel, je to takmer určite podporované FastLED rozhranie, ale vaše zapojenie sa môže líšiť (okrem signálu môžete vyžadovať aj synchronizačnú linku príklad).
- Napájanie 5 V, 10 A + - Kúpil som asi 15A jednotiek za 11 dolárov. Berú vstup 120 - 240 V str. A produkujú statný výstup 5 V, ktorý bude stačiť na napájanie všetkých našich pixelov pri plnom jasu a Arduino.
- Elektrická kabeláž, zástrčka a inline spínač
- Príloha projektu
- Dvaja Arduíni. Klony Funduino vo výške 10 dolárov sú v poriadku. Druhý je potrebný pre diaľkové ovládanie, zatiaľ čo prvý ovláda hlavnú logiku a LED.
- Dva 2,2k (alebo iné) ohmové rezistory - na presnej hodnote nezáleží, mali by fungovať približne 1,5 až 47 k.
- lopárik
- TSOP4838 IR prijímač
- Infračervené diaľkové ovládanie - zakúpil som hromadne približne za 2 USD, ale akékoľvek diaľkové ovládanie by malo fungovať s úpravami kódu.
- Veľký modul mikrofónu
- Šrot z MDF dreva vyrežte základňu a skladačky.
- Baliaci materiál z polystyrénu / vložky do krabičiek.
- Výplň z vankúša z polypropylénovej bavlny. Vytiahol som viac ako dosť z niekoľkých strašných starých vankúšov. Ak to nie je možné, mali by ste mať možnosť kúpiť nejaké nové za približne 10 dolárov alebo použiť dokonca lacnejšiu bavlnu. Snažil som sa s oboma - bavlnená vlna potrebovala viac práce, keď ju musela škádliť a nebola taká našuchorená, ale v štipku to bude fungovať.
- Reťaz a háčiky na zavesenie cloudu by mali vydržať viac ako 5 kg.
- Lepiaca pištoľ s nastavením nízkej teploty
- Nastriekajte lepidlo - týmto spôsobom je možné lepšiu výplň nalepiť na cloud, ale môže tiež fungovať lepiaca pištoľ.
Celkové náklady sa pohybujú okolo 100 dolárov bez nástrojov, ale väčšinu z toho som obkrížil z domu. Všetky elektronické komponenty sú bežne dostupné; mikrofón je možné nájsť v súprave snímačov alebo zakúpiť samostatne.
Krok 2: Odrežte základňu
Vystrihnite hrubú základňu zo šrotu z MDF pomocou skladačky - presný tvar je samozrejme na vás, ale z nejakého dôvodu je v mojej mysli tvar obliciek. K tomu zavesíme niekoľko háčikov na zavesenie, ale v opačnom prípade to len poskytuje pevný základ, na ktorom je možné stavať. Centrálna oblasť bude vyhradená pre elektroniku, PSU a na odovzdanie reťaze, takže sa uistite, že máte dostatok priestoru na umiestnenie aspoň krytu vášho projektu s niektorými háčikmi, ktoré ju obklopujú.
Krok 3: Vrstva na polystyréne
Toto je najťažší a najkreatívnejší krok, ale skutočne vytvárame iba niečo solídne a trochu-sorta v tvare mraku, na ktorý sa nalepí pás LED. Prilepte veľké kusy polystyrénu na základňu (a pod ňu) pomocou nízkej teploty na lepiacu pištoľ. Ak nemáte nízke nastavenie, vypnite tepelnú pištoľ a nechajte ju trochu vychladnúť, skôr ako sa pokúsite prilepiť. Ak je teplota príliš vysoká, jednoducho sa roztavíte cez baliaci materiál.
Pred prilepením ďalšieho kusu sa uistite, že je každý kus pevný, a je lepšie naň nalepiť viac, ako málo.
Nezabudnite v mraku ponechať dostatočne veľkú dutinu, aby sa zmestili na elektroniku, reťaz a háčiky.
Krok 4: Vyrezajte 3D oblak
Obráťte rohy a vyrezajte zbytočný materiál pomocou rezacieho noža, aby ste vyčistili oblak, až kým nedosiahnete hrubý 3D tvar mraku. Naozaj nezáleží na tom, aké je to drsné, pretože všetko budeme plniť neskôr. Môžete ľahko skryť chyby.
Krok 5: Opravte háčiky, upravte ich
Nakoniec pripevnite tri alebo štyri háčiky k základni MDF zvnútra každého rohu dutiny mraku. Budete musieť vyvŕtať malý pilotný otvor, pretože do MDF je ťažké zaskrutkovať priamo.
Tiež som dal všetko jednoduchý náter z bieleho sprejového náteru, aby som zaistil jednotný farebný základ, ale nie som si istý, či to bolo skutočne potrebné.
Krok 6: Lepenie pásikov LED
Predtým, ako začnete nanášať lepidlo na kontrolky LED, buď začnite od nového pruhu, alebo si spočítajte, koľko kontroliek LED celkovo máte - budete musieť zistiť, koľko ste už použili neskôr v kroku programovania. Vyrežte malú dieru v bočnej časti mraku a prebodnite si drôty, ktoré tvoria začiatok vášho pásika LED do dutiny mraku. Dávajte pozor, aby ste začínali od správneho konca - prúžky LED sú citlivé na smer, takže zabezpečte, aby šípky smerovali ďalej od dutiny.
Ak pracujete pomaly, prilepte pixely LED k polystyrénovej základni v kruhovom vzore a potom prúžok pritiahnite k základni, aby zakryl spodnú stranu. Opäť - tu nemusíte byť dokonalí, pretože akonáhle sme všetko rozptýlili a dusili ho nádivkou, vyzerá to rovnako ohromujúce.
Použil som celkom 85 diód LED alebo niečo viac ako 2,5 m, dvakrát som obkolesoval hlavné telo a na spodnú stranu som použil jediný reťazec diód LED.
Krok 7: Schéma zapojenia
Zapojenie je komplexné, ale ľahko rozdeliteľné na časti.
Najskôr zapojte a zaistite napájací zdroj, najlepšie v samostatnom prípade projektu. Nebudem vás prednášať o bezpečnosti živých striedavých vodičov, takže predpokladám, že zvládnete túto časť, a máte od nej 5V a GND linku.
dôležité: pri programovaní a testovaní Arduina by 5 V z vášho zdroja energie malo zostať izolované od Arduina ( GND sú všetky prepojené) - napájať by sa malo len LED pásik, zatiaľ čo Arduino používa 5V dodávané cez USB. Po dokončení programovania by malo byť USB odpojené a Arduino už nebude poskytovať 5V - v tomto bode by ste mali zapojiť 5V z vášho zdroja do 5V koľajnice na ľavej strane doštička.
Začnite pripojením kolíkov zem a 5 V od každého Arduina k ľavým bočným koľajniciam doštičky. Budú zdieľať rovnaký zdroj energie, či už ide o externú jednotku PSU alebo USB, ktoré je zapojené do jedného z nich.
Ďalej vyplňte časť elektroinštalácie I2C - to je to, čo umožňuje komunikovať našim dvom Arduinom. Vezmite kolíky A4 z obidvoch Arduinos do jedného radu na doštičke a potom pripojte rezistor 2,2 k z tohto radu na 5 V koľajnicu. Zopakujte postup pre A5 a spojte ich v samostatnom riadku s ďalším rezistorom 2,2 k na 5 V.
Ďalej pripojte IR prijímač - skontrolujte konfiguráciu pinov, ak máte iný model, ale v zásade by signálny pin mal smerovať k D11 na jednom Arduino. Nahrajte thundercloud_ir_receiver.ino načrtnúť túto Arduino (všetky kódy tu), odpojte zariadenie USB, pretože ho už nepotrebujeme.
Na druhej strane Arduino pripojte Dáta v signálny pin od začiatku LED pásika do D6. GND od vašich LED by malo byť spoločné so všetkými Arduinos, ale v tomto bode 5V pochádza priamo z PSU.
Aj na tomto Arduino zapojte mikrofónny modul do A0. Nahrajte ďalšie thundercloud.ino náčrt a ponechajte USB pripojené, zatiaľ čo vy ladíte. Začnite zmenou NUM_LEDS primerane variabilný.
Krok 8: Lepidlo na výplň
Posledným krokom je nalepenie náplne. Neexistuje žiadna konkrétna technika - stačí nastriekať oblak vrstvou lepidla a chytiť hrsť vycpávky. S výplňou je však jednoduchšie pracovať, ak ste ju už už mali radi, aby ste zväčšili povrchovú plochu.
Ak ste použili rovnaké diaľkové ovládanie ako ja, tlačidlo STROBE ho uvedie do zvukového reaktívneho cloudového režimu; FLASH je režim Trippy Color a FADE je lampa s pomalým vyblednutím.
Krok 9: Vysvetlenie kódu
Prečo dva Arduinos? Programovanie infračerveného prijímača a knižnica ovládačov pixelov WS2818B sú veľmi citlivé na načasovanie - ak je načasovanie oneskorené, infračervený signál je poškodený. Tým, že každému okruhu poskytnete vlastný mikroprocesor a necháte ich hovoriť cez protokol I2C, môžeme zaistiť, že načasovanie je na každom perfektné. Môžete tiež nájsť samostatné IR moduly so zabudovaným vlastným mikroprocesorom, ale môj výskum zistil, že tieto náklady sú skutočne drahšie ako jednoduchý Arduino klon a IR LED. Thundercloud_ir_receiever by nemal vyžadovať vysvetlenie, aj keď najskôr si budete chcieť prečítať základy I2C.
Na hlavnom ovládači blesku definujeme rôzne prevádzkové režimy, napríklad ZAP (bleskové efekty nie sú zvukové aktivovaný), CLOUD (blesk je aktivovaný len zvukom), ACID (cloud zobrazuje trojité farby) alebo jednoduchú jednu farbu režimy. Ak chcete definovať nový režim, pridajte ho do enum Najskôr otvorte konzolu a nájdite tlačidlo na diaľkovom ovládaní, na ktoré sa má mapa zmapovať - pri každom stlačení tlačidla by sa mala vytlačiť linka ladenia. V receiveEvent () metódu, zmapujeme tieto stlačenia klávesov do režimu, takže tam pridajte ďalší príkaz na prepnutie. Nakoniec, hlavne slučka () metóda nasmeruje tieto výbery režimu na rôzne funkcie displeja.
Kód vyhladenia mikrofónu je pôvodne od spoločnosti Adafruit - Zjednodušil som to pre naše potreby a pridal spúšť, keď je počuť hlasnejší než priemerný hluk.
Krok 10: Režimy blesku
Displeje blesku kombinujú tri rôzne „typy“ blesku, aby sa dosiahlo niečo dostatočne realistického alebo aspoň príjemného pre oko. Prvý typ je trhlín (), kde sa každá LED dióda krátko zapne na 10 až 100 ms. Druhým typom je valcovanie () - v prípade, že každá LED má 10% šancu na aktiváciu a celá slučka sa opakuje 2 až 10 krát s oneskorením 5 až 100 ms medzi každým cyklom. Tretí typ je thunderburst (), ktorý vyberie dve rôzne časti pásu, každú medzi 10 - 20 LED, tieto krátko 3 až 6-krát blikne. Preskúmajte tieto metódy podrobne, aby ste videli, ako sú jednotlivé LED aktivované - farebné koliesko HSV sa používa po celú dobu (takže biela je H = 0, S = 0, V = 255). Odporúčame vám vylepšiť alebo napísať nové displeje blesku a potom ich zdieľať v komentároch, ak sa vám páči.
Pri každom spustení blesku alebo spustení slučky sa cloud náhodne vyberie medzi tromi typmi bleskov. Nakoniec a reset () metóda vypne všetky svetlá, inak si „zapamätajú“ svoj predchádzajúci stav.
Otázky alebo problémy - skontaktujte sa s komentármi a vynasnažím sa pomôcť. Ak máte účet v službe Github, môžete na internet posielať chyby alebo problémy Sledovanie problémov miesto. Ak ste vykonali nejaké zmeny alebo napísali nejaké nové funkcie osvetlenia, zdieľajte odkaz na svoj kód podstata alebo Pastebin.
James má bakalárske štúdium v oblasti umelej inteligencie a je držiteľom certifikátu CompTIA A + a Network +. Je popredným vývojárom MakeUseOf a trávi svoj voľný čas hraním VR paintballu a spoločenských hier. Staval počítače od malička.