Obsah:

Low-Poly Iron Man s LED pásmi ovládanými WiFi: 8 krokov (s obrázkami)
Low-Poly Iron Man s LED pásmi ovládanými WiFi: 8 krokov (s obrázkami)

Video: Low-Poly Iron Man s LED pásmi ovládanými WiFi: 8 krokov (s obrázkami)

Video: Low-Poly Iron Man s LED pásmi ovládanými WiFi: 8 krokov (s obrázkami)
Video: Верёвку, мыло и в горы ► 9 Прохождение The Legend of Zelda: Breath of the Wild (Wii U) 2024, November
Anonim
Low-Poly Iron Man s LED pásmi ovládanými WiFi
Low-Poly Iron Man s LED pásmi ovládanými WiFi
Low-Poly Iron Man s LED pásmi ovládanými WiFi
Low-Poly Iron Man s LED pásmi ovládanými WiFi
Low-Poly Iron Man s LED pásmi ovládanými WiFi
Low-Poly Iron Man s LED pásmi ovládanými WiFi
Low-Poly Iron Man s LED pásmi ovládanými WiFi
Low-Poly Iron Man s LED pásmi ovládanými WiFi

Toto interaktívne nástenné umelecké dielo je zhruba 39 palcov vysoké a 24 palcov široké. Drevo som rezal laserom v Student Makerspace Clemson University, potom som všetky trojuholníky ručne namaľoval a na jeho zadnú stranu nainštaloval svetlá. Tento návod vás prevedie tým, ako som vyrobil tento presný kus, a dúfajme, že jeho koncept bude inšpirovať niekoho iného, aby vytvoril svoje vlastné jedinečné umelecké dielo. Používa mikrokontrolér ESP8266 s adresovateľnými LED pásikovými svetlami WS2812B a bežnými RGB LED pásovými svetlami.

Diely a materiály

  • 1/4 "drevo - 40" x 28 "(maximálne rozmery pre našu laserovú rezačku)
  • 1/8 "nepriehľadný akryl - TAPPlastics (používam Lighting White, 69%)
  • Batéria - batéria TalentCell 12V/5V (použil som batériu 12V/6000mAh)
  • RGB LED pás - 6 stôp ish (štandardný 4 vodič, verzia 5050, kde je svetlo RGB v jednom module)
  • Tranzistor TIP122 na ovládanie PWM mnohých svetiel
  • LED pás WS2812B - 2 stopy (použil som verziu so 144 LED na meter)
  • Mikroprocesor ESP8266 NodeMCU
  • Drôt konektora s pevným jadrom 22 (link1 - link2 - link3 - link4)
  • Asi 300Ω ish odpory
  • Štetce
  • Farba - väčšinou som používal farbu Craft Premium. Podrobnosti v kroku maľovania

Nástroje

  • Prístup k laserovej rezačke (jednu som použil v Clemson)
  • Spájkovačka
  • Horúca lepiaca pištoľ (to je nevyhnutné)
  • Strihače/odizolovače drôtu
  • Adobe Illustrator
  • Trpezlivosť

Krok 1: Návrh v programe Illustrator

Návrh v programe Illustrator
Návrh v programe Illustrator
Návrh v programe Illustrator
Návrh v programe Illustrator

Zdrojový obrázok je ilustráciou Williama Teala, prosím, pozrite sa do jeho portfólia na ďalšie jeho skvelé diela: https://www.behance.net/tealeo93 (myslím, že je to jeho - nasledoval som králičiu dieru GoogleImages, Pinterest, GraphicDesignJunction, Behance)

Zdrojový obrázok som našiel pomocou vyhľadávania Google na „Low-Poly Iron Man“alebo „Geometric Iron Man Wallpaper“. Stiahol som si obrázok a otvoril ho v programe Adobe Illustrator.

Ďalej som použil nástroj pero v programe Illustrator na ručné nakreslenie každého riadku v obrázku. Urobil som to tak, aby laserová rezačka mohla vyleptať všetky vnútorné čiary ako vektorový rez nastavený na nízky výkon namiesto toho, aby musel rastrovať po celom obrázku. Trvalo to niekoľko hodín (v škole to boli asi tri vyučovacie hodiny)

Akonáhle bol obrázok úplne načrtnutý, zoskupil som všetky tieto čiary dohromady a potom som nakreslil tvary pre ruky, hruď a oči. Tieto všetky som dal do skupiny a nastavil ich farbu výplne na modrú, aby som ich mohol ľahko rozlíšiť. Skopíroval som ich do samostatného súboru pre akrylový strih.

Pokiaľ ide o akrylovú časť, chcel som maximalizovať účinnosť svojho akrylového kusu, a preto som ho odovzdal na túto webovú stránku https://svgnest.com/ a nahral súbor iba s akrylovými rezanými kusmi a nechal diely „vnoriť“. Toto používa niektoré iterácie a chladné algoritmy na určenie najefektívnejšieho rozloženia vašich dielov na liste, aby sa minimalizoval odpad. Výstupom je konfigurácia, ktorá je v súbore IronManAcryl.ai.

Krok 2: Laserové rezanie

Image
Image

Pred rezaním dreva som ho nastriekol základným náterom a potom jemne zbrúsil, aby bolo hladké. Urobil som to tak, aby farba neskôr vyšla rovnomernejšie.

Keď som obrys prerezal celú cestu cez drevo, použil som 100% výkon, 6% rýchlosť (myslím) na našom 60W Epilog Fusion M2 40 v Clemson Makerspace. Na väčšinu to fungovalo, ale drevo bolo v rohu veľmi zdeformované, takže som v skutočnosti musel laser zaostriť na daný roh a znova spustiť túto časť rezu.

Pretože som tiež nakreslil čiary pre všetky vnútorné trojuholníky, bol som tiež schopný použiť vektorový rez na rýchle leptanie všetkých týchto čiar, ako je to znázornené na videu vyššie. Bolo to oveľa rýchlejšie, ako by to bolo pri rastrovom leptaní súboru. Myslím, že som použil 70% rýchlosť a 50% výkon - budete však musieť experimentovať.

1/8 akryl som najskôr rezal pri 100% výkone a 8% rýchlosti, čo bolo príliš silné a na nechránenom akryle zanechalo stopy popálenia, potom som to urobil rýchlosťou 14% a fungovalo to ako kúzlo.

Krok 3: Maľovanie

Maľovanie
Maľovanie
Maľovanie
Maľovanie
Maľovanie
Maľovanie

Takže. Veľa. Maľovanie. Odhadoval by som, že to bolo asi 20 hodín maľovania.

Ak uvažujete o tom, že urobíte projekt s takým veľkým počtom trojuholníkov, nenamaľujte ho, prosím, sami. Stačí zaplatiť za to, že obrázok vytlačíte na kov alebo drevo, a potom ho vystrihnete, alebo ho vytlačíte na niečo iné a tento kus prilepíte na niečo pevné. Len si to nenamaľujte sami, pokiaľ nemilujete maľovanie.

Keď som to maľoval, použil som maliarsku pásku FrogTape na obrys každého trojuholníka na diele. To mi poskytlo oveľa konzistentnejšie výsledky ako moje prvé pokusy vyplniť každý trojuholník ručne bez okrajov pásky.

FrogTape poskytuje čiary, ktoré sú oveľa ostrejšie ako páska pre biely alebo modrý maliar. Váš čas a zdravý rozum úplne stoja za ďalšie 2 doláre/kotúč pásky. Ak chcete, aby bol tenší, môžete presný nôž nastrihať niekoľko horných vrstiev pásky na ešte menšie prúžky tak, aby pri obryse jedného trojuholníka nepokryl toľko susedných trojuholníkov.

Som lacný a nemám veľa skúseností s maľovaním, takže som použil 2 oz fľaše farby od Michaela alebo Hobby Lobby. Zistil som, že rada Craft Smart Premium kryje pomerne dobre, a nakoniec som použil farbu CraftSmart Premium Metallic Festive Red zmiešanú s bielou alebo čiernou, aby som vytvoril 95% mojich červených odtieňov. Žltá bola iba prémiová žltá Craft Smart, do ktorej bolo hodené trochu zlata ako pokus o jej mierne trblietanie.

Ak poznáte lacnú farbu, ktorá lepšie kryje - dajte mi prosím vedieť v komentároch !! Často som musel urobiť dve vrstvy farby, aby nikto z nižšie uvedených bielych nepresvital, a rád by som mal nejaký krajší lak, ktorý by tomu zabránil.

Keď bolo všetko namaľované (ale pred lepením akrylových kúskov), použil som lesklý číry lak na ochranu farby, aby bol celý lesklý.

Krok 4: Akrylové diely a akrylové podsvietenie

Akrylové diely a akrylové podsvietenie
Akrylové diely a akrylové podsvietenie
Akrylové diely a akrylové podsvietenie
Akrylové diely a akrylové podsvietenie
Akrylové diely a akrylové podsvietenie
Akrylové diely a akrylové podsvietenie
Akrylové diely a akrylové podsvietenie
Akrylové diely a akrylové podsvietenie

Pripojenie akrylových kúskov bolo trochu výzvou, pretože môj pracovný stôl/stôl a drevený kus sú mierne pokrivené, takže som nemohol zaručiť, že to všetko zostane dostatočne dlhé na to, aby sa môj epoxid mohol nastaviť. Ako alternatívne riešenie som zatlačil drevo na stôl v blízkosti akrylového kusu, do ktorého som lepil, a najskôr pomocou horúceho lepidla držal každý akrylový kus na svojom mieste. Horúce lepidlo je viditeľné z prednej strany akrylátu, takže som potom použil dvojzložkový epoxid Gorilla Glue nanesený špáradlom na trvalé uchytenie akrylových kúskov na svojom mieste. Prešiel som späť malými kliešťami a vypáčil pôvodné kúsky horúceho lepidla.

Pre každý akrylový kus som vyrobil samostatný svetelný modul. Najprv som narezal kus 1/4 čiernej penovej dosky na veľkosť o niečo väčšiu, ako bolo potrebné, a nakreslil som na ňu obrys akrylového kusu. Potom som odrezal a prilepil LED pásy k tomuto kusu spôsobom, ktorý väčšinou zakryl akrylát. oblasť.

Tento krok by bolo lepšie vykonať s prototypovou doskou a niektorými skrutkovými svorkami, ale tie som nemal po ruke, keď som bol pripravený začať s zapojením. Ako riešenie som rozrezal niektoré kolíkové lišty zásuvkových lišt na 4 vstupy - uzemnenie, vstup 5 V, vstup dát, výstup dát. Ženský pás hlavičky som za tepla prilepil na penovú dosku a začal spájkovať všetky svetlá k sebe.

Spájkovanie bolo skutočne náročné, pretože tie spájkovacie podložky boli malé. Našťastie som mal dve šance na všetky napájacie a zemné podložky, pretože každému prúžku môže byť dodávaná energia na obidva konce. Pásy som rozložil tak, aby dátový drôt tiekol hadovitým vzorom. Používam spájkovačku s nastaviteľnou teplotou a zistil som, že sa mi páči, keď je teplota na hornom konci rozsahu zafarbená na zeleno - pravdepodobne sa mi páči horúca, pretože spájkovačka, ktorú som používal roky, bola lacná a nemala žiadne ovládanie teploty. a bežal horúci.

Akonáhle bolo všetko spájkované, použil som exaktný nôž (s čerstvou čepeľou) na rezanie prúžkov penovej dosky na uzavretie svetiel a zníženie prekrvenia. Použil som bielu farbu namiesto čiernej, pretože som z nej mal dlhšie prúžky a v skutočnosti to bola dobrá vec, pretože mi to umožnilo ľahko vidieť zo zadnej strany, ak bola táto časť pásikov LED zapnutá počas testovacieho kroku zapojenia.

Krok 5: Zvyšok elektroniky

Zvyšok elektroniky
Zvyšok elektroniky
Zvyšok elektroniky
Zvyšok elektroniky
Zvyšok elektroniky
Zvyšok elektroniky

Vždy sa snažím prepojiť svoje projekty tak, že najskôr zapojím napájacie vstupy, potom ovládač, ďalšie prvky dosky a periférie. Za tepla som prilepil batériu na miesto a potom som viedol delený kábel DC jack tak, aby bol nabíjací vstup ľahko prístupný z okraja projektu na ľahké nabíjanie. Batéria sa dodáva s deleným káblom a podľa pokynov je dobré batériu nabíjať, keď sa používa.

Kanibalizoval som lacný mikrousb kábel a nahradil koniec micro USB konektorom DC, aby som mohol použiť iba vstup 5V. Dal som 5V na jednu napäťovú koľajnicu nepájivého poľa a do kolíka ESP8266 Vin, potom uzemnil do uzemňovacej lišty a uzemňovacieho kolíka ESP8266 (všetky uzemnenia by mali byť vnútorne prepojené v ovládači, takže nezáleží na tom, ktorý z nich)

Štandardné RGB LED pásy sú ovládané PWM signálom z ovládača. Mikrokontroléry však môžu dodávať prúd iba 20mA-50mA na pin v závislosti od ovládača. Každá LED dióda v páse vyžaduje zhruba toľko energie, takže na ovládanie pások musíme použiť nejaký tranzistor. Niekoľko miest, ktoré sa objavili vo vyhľadávaní Google, navrhlo tranzistor TIP122, ktorý dokáže prepnúť 5 ampérov alebo 40 W - čo je pre našu aplikáciu viac ako dosť. V skutočnosti nie sú navrhnuté tak, aby sa zmestili na dosku, ale ak otočíte každý drôt nabok o 90 °, potom sa zmestí do otvorov v škatuľke. Pôvodne som plánoval ku každému priskrutkovať malý chladič, ale po nejakom testovaní som zistil, že sa neohrievajú natoľko, aby to bolo nevyhnutné. Každý vstup tranzistora som zapojil na kolík na ESP8266 určený pre výstup PWM

RGB LED pásy, ktoré som mal náhodou, majú „vodeodolný“gumový povlak, a v dôsledku toho nezostanú prilepené k drevu tak, ako by som chcel. Ako alternatívne riešenie som narezal malé kúsky penovej dosky a prilepil penový kus na drevo a potom k nim prilepil LED pás.

Krok 6: Prehľad programovania

Tento projekt používa rôzne knižnice, takže ho je možné ovládať z telefónnej aplikácie s názvom Blynk, zapínať/vypínať pomocou Amazon Echo a kód je možné aktualizovať cez wifi. Niektoré z použitých knižníc sú uvedené nižšie

Blynk -

Blynk je služba, ktorá umožňuje jednoduché ovládanie medzi mikrokontrolérom ESP8266 a prispôsobiteľnou telefónnou aplikáciou. Aplikácia pre telefón vám umožňuje vytvoriť aplikáciu s tlačidlami, posúvačmi, výberom farieb RGB a mnohými ďalšími. Každý „widget“zmení hodnotu, ktorú je možné stiahnuť z aplikácie Blynk vždy, keď spustíte určitú funkciu.

Aktualizácia OTA (Over the Air)- predvolená knižnica zahrnutá v ESP8266

Emulátor Alexa Wemo-https://github.com/witnessmenow/esp8266-alexa-wemo…

Oklame Amazon Echo, aby si myslel, že váš projekt je vypínačom Wemo. Kód vám umožňuje definovať funkciu, ktorá sa má spustiť, keď Alexa odošle signál „zapnutia“a samostatnú funkciu pre signál vypnutia. S jedným ovládačom môžete emulovať viacero zariadení (až 10), čo umožňuje ešte väčšiu flexibilitu. Môj kód je nastavený tak, aby Echo našiel dve zariadenia s názvom „Iron Man“a „Night Light“. Sú to aj tento projekt, aj tento ovládač, ale ak zapnem „Night Light“, bude fungovať s tlmeným bielym svetlom, kde po zapnutí „Iron Man“nastaví vonkajšie LED pásy na červenú a akrylové časti na bielu..

Úpravy Arduina v programe Visual Studio pomocou vMicro

V práci používam Visual Studio už niekoľko mesiacov a milujem všetky nástroje automatického dopĺňania, ktoré má vstavané, takže po nejakom hľadaní som zistil, že namiesto normálneho IDE Arduino môžem skutočne použiť Visual Studio. Jedna licencia vMicro na jeden počítač stojí študentov 15 dolárov, čo podľa mňa úplne stojí za to, ak programovaním kódu Arduino strávite viac ako niekoľko hodín.

FastLED vs Neopixel

FastLED používam vo svojich projektoch jednoducho preto, že som našiel online viac funkcií, ktoré už boli na to vytvorené, a v tomto mieste som pomocou neho vytvoril mnoho projektov, takže mám veľa kódu na opätovné použitie. Som si istý, že knižnica Neopixel by fungovala rovnako dobre, keby ste na nej dostatočne pracovali. Plánujem dať na GitHub všetky svoje vlastné funkcie na používanie iným ľuďom, len som sa k tomu ešte nedostal.

Krok 7: Tipy na programovanie

Celková štruktúra

Vo svojej práci som inžinier ovládania a často používame štýl programovania nazývaný programovanie PLC. Tento typ je podobný Arduinu v tom, že má slučku, ktorá beží neustále každých niekoľko milisekúnd a zaoberá sa vstupmi/výstupmi a skáče medzi rôznymi „stavmi“v kóde. Kód môže napríklad zasiahnuť do kroku zaoberajúceho sa dopravníkom, kde ak je na dopravníku zásobník, prejde do stavu 45, ale ak zásobník neexistuje, prejde do stavu 100. Tento štýl programovania však inšpiroval môj kód Vykonal som niekoľko zmien, aby som namiesto čísla stavu mohol čítať iba reťazec.

Na sledovanie, v akom svetelnom stave sa projekt nachádza, používam globálnu premennú (commandString). Okrem toho používam aj booleovský program s názvom „animate“, ktorý určí, či sa z nejakej funkcie vyradí alebo nie. Keď teda na Blynku stlačíte tlačidlo „Klasický režim“, môj kód nastaví animáciu na hodnotu false (aby sa vymanil z aktuálnej funkcie) a príkaz commandString nastaví na „RunClassic“. Každá funkcia neustále kontroluje vstup od Blynka, Alexa a OTAUpdate spustením funkcie „CheckInput“.

Globálne premenné

Na sledovanie niektorých nastavení v mojom projekte používam globálne premenné. Tieto premenné sú inicializované pred mojím nastavovacím kódom, ktorý ich robí prístupnými pre akúkoľvek funkciu v mojom kóde.

  • globalBrightness (0-255)
  • globalSpeed - rýchlosť animácie všetkých animovaných funkcií. Tento projekt má len slabnúce dúhy
  • globalDelayTime - FastLED potrebuje na zápis informácií do každej LED asi 30 mikrosekúnd, preto som túto premennú nastavil na NUM_LEDS * 30 /1000 + 1; potom pridajte delay (globalDelayTime) po väčšine krát, čo robím FastLED.show (), aby príkaz nebol prerušený.
  • _r, _g, _b - globálne hodnoty RGB. Tak môžu rôzne tlačidlá farebnej schémy jednoducho meniť globálne hodnoty r/g/b a všetky na konci volať rovnakú funkciu

Pomenovanie radiča aktualizácie Arduino OTA

Trvalo mi otravné množstvo hľadania, kým som prišiel na to, ako pomenovať ovládač pomocou funkcie aktualizácie cez vzduch. Doslova zadajte tento riadok do sekcie nastavenia kódu pred „ArduinoOTA.onStart (“-

ArduinoOTA.setHostname ("IronMan");

vMicro s tipmi pre Visual Studio

Niekedy Visual Studio zistí nejaké problémy s hlbokými súbormi, ako sú štandardné súbory C ++, a vyhodí niektoré chyby. Skúste zapnúť/vypnúť rôzne typy chybových hlásení, kým sa pri otvorenom projekte nezobrazia chyby a nie žiadne podporné súbory. Môžete tiež otvoriť kód v Arduino IDE a zistiť, či sa tam skompiluje alebo poskytne užitočnejší chybový kód.

FastLED

Pošlite mi správu, ak je tento Instructable dostupný viac ako niekoľko týždňov a stále som neprišiel na to, ako dať svoje vlastné funkcie na GitHub.

FastLED je uvedený ako kompatibilný s ESP8266, ale definície pinov nemusia byť správne. V dokumentácii k FastLED sa píše, že pred #include môžete skúsiť zahrnúť jeden z nasledujúcich riadkov

  • //#definujte FASTLED_ESP8266_RAW_PIN_ORDER
  • //#define FASTLED_ESP8266_NODEMCU_PIN_ORDER
  • //#definujte FASTLED_ESP8266_D1_PIN_ORDER

Skúsil som však všetky tri a nikdy sa mi všetky piny nezhodovali. V súčasnej dobe používam posledný riadok a akceptoval som, že keď poviem FastLED, aby používal pin D2, v skutočnosti používa na mojom ovládači pin D4.

Aj keď sú moje svetlá len lacným čínskym knockoutom neopixelov, stále vravím FastLED, aby ich v nastavení považoval za neopixely.

  • FastLED.addLeds (LED diódy, NUM_LEDS);
  • FastLED.setCorrection (TypicalLEDStrip);
  • //FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); // Užitočné pre projekty napájané batériami
  • FastLED.setBrightness (globalBright);

Krok 8: Konečný produkt

Finálny produkt
Finálny produkt
Finálny produkt
Finálny produkt
Finálny produkt
Finálny produkt

Ta-da!

V prípade otázok mi môžete napísať komentár alebo napísať e -mail - tieto veci sa mi páčia a rád by som pomohol ďalším ľuďom pri vytváraní skvelých projektov. Na mojej webovej stránke nájdete ďalšie projekty, ktoré som robil, a niektoré z mojich fotografií: www.jacobathompson.com

Odporúča: