Sadržaj:
- Korak 1: Dizajn u Illustratoru
- Korak 2: Lasersko rezanje
- Korak 3: Slikanje
- Korak 4: Akrilni komadi i akrilna pozadinska svjetla
- Korak 5: Ostatak elektronike
- Korak 6: Pregled programiranja
- Korak 7: Savjeti za programiranje
- Korak 8: Finalni proizvod
Video: Iron Man sa niskim polipropilenom sa LED trakama koje kontroliraju WiFi: 8 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:08
Ovo interaktivno zidno umjetničko djelo približno je 39 "visoko i 24" široko. Lasersko sam rezao drvo u Studentskom prostoru za izradu univerziteta Clemson, zatim sam ručno oslikao sve trokute i postavio svjetla na njegovu stražnju stranu. Ovo uputstvo će proći kroz način na koji sam napravio upravo ovo djelo, nadamo se da će njegov koncept inspirirati nekoga drugog da napravi svoje jedinstveno umjetničko djelo. Koristi mikrokontroler ESP8266 sa adresabilnim LED svjetlima sa trakom WS2812B i običnim svjetlima sa LED trakama RGB.
Dijelovi i materijali
- 1/4 "drvo - 40" sa 28 "(Maksimalne dimenzije za naš laserski rezač)
- 1/8 "neprozirni akril - TAPPlastics (koristim Lighting White, 69%)
- Baterija - TalentCell 12V/5V baterija (koristio sam 12V/6000mAh)
- RGB LED traka - 6 stopa (standardna 4 žice, verzija 5050 gdje je RGB svjetlo sve u jednom modulu)
- TIP122 tranzistor za PWM kontrolu mnogih svjetala
- WS2812B LED traka - 2 ft ish (koristio sam verziju sa 144 LED diode po metru)
- ESP8266 NodeMCU mikrokontroler
- Puna žica konektora žice 22 mjerača (veza1 - veza2 - veza3 - veza4)
- Otprilike 300Ω otpornika
- Kistovi
- Boja - Uglavnom sam koristila Craft Premium boju. Detalji u koraku slikanja
Alati
- Pristup laserskom rezaču (koristio sam ga u Clemsonu)
- Lemilica
- Pištolj za vruće ljepilo (ovo je bitno)
- Rezači/skidači žice
- Adobe Illustrator
- Strpljenje
Korak 1: Dizajn u Illustratoru
Izvorna slika je ilustracija Williama Teala, molimo da pogledate njegov portfelj i pogledate njegova druga sjajna djela: https://www.behance.net/tealeo93 (mislim da je njegovo - pratio sam zečju rupu GoogleImages, Pinterest, GraphicDesignJunction, Behance)
Izvornu sliku pronašao sam s google pretraživanja za "Low-Poly Iron Man" ili "Geometric Iron Man Wallpaper". Preuzeo sam sliku i otvorio je u Adobe Illustratoru.
Zatim sam upotrijebio alat za olovku u Illustratoru za ručno iscrtavanje svake crte na slici. Učinio sam to kako bi laserski rezač mogao urezati sve unutrašnje linije kao vektorski rez postavljen na malu snagu umjesto da mora rasterirati cijelu sliku. Trebalo je nekoliko sati da se to uradi (tzv. Oko 3 časa u školi)
Kad je slika bila u potpunosti ocrtana, grupirao sam sve te linije, a zatim nacrtao oblike za ruke, prsa i oči. Sve sam ovo stavio u grupu i namjestio boju ispune na plavu kako bih ih lako razlikovao. Kopirala sam ih u zasebnu datoteku za akrilni rez.
Što se tiče akrilnog dijela, želio sam maksimizirati efikasnost svog akrilnog komada pa sam ga postavio na ovu web stranicu https://svgnest.com/ i otpremio datoteku sa samo izrezanim komadima akrila i pustio ga da "ugnijezdi" dijelove. Ovo koristi neke iteracije i cool algoritme za određivanje najefikasnijeg rasporeda vaših dijelova na listu radi smanjenja otpada. Ispisuje konfiguraciju koja se nalazi u datoteci IronManAcrylic.ai.
Korak 2: Lasersko rezanje
Prije rezanja drveta prskam ga premazom, a zatim ga lagano brušim kako bi počeo glatko. Učinio sam to kako bi boja kasnije ravnomjernije izlazila.
Kad sam presjekao obris cijelim putem kroz drvo, koristio sam 100% snage i 6% brzine (mislim) na našem 60W Epilog Fusion M2 40 u Clemson Makerspaceu. Ovo je uspjelo većini, ali drvo je bilo jako iskrivljeno u kutu pa sam zapravo morao ponovno fokusirati laser za taj ugao i ponovo pokrenuti taj dio reza.
Budući da sam također nacrtao linije za sve unutrašnje trokute, također sam mogao koristiti vektorski rez za brzo urezivanje svih tih linija kao što je prikazano u gornjem videu. Ovo je bilo znatno brže nego što bi bilo rastersko graviranje datoteke. Mislim da sam koristio 70% brzine i 50% snage - ipak ćete morati eksperimentirati.
Akril od 1/8 prvo sam izrezao sa 100% snage i 8% brzine, što je bilo malo previše moćno i ostavilo je neke opekotine na nezaštićenom akrilu, pa sam to učinio brzinom od 14% i djelovao je kao šarm.
Korak 3: Slikanje
Dakle. Mnogo. Painting. Procenio sam da je slikanje trajalo oko 20 sati.
Ako razmišljate o projektu s toliko trokuta kao što je ovaj, nemojte ga sami slikati. Samo platite da slika bude odštampana na metalu ili drvetu, a zatim je izrežite ili odštampate na nečem drugom i zalijepite taj komad na nešto čvrsto. Samo je nemojte slikati osim ako ne volite slikati.
Koristio sam traku slikara FrogTape za ocrtavanje svakog trokuta na komadu dok sam ovo slikao. To mi je dalo mnogo dosljednije rezultate od mojih ranih pokušaja da ručno ispunim svaki trokut bez ikakvih rubova trake.
FrogTape daje linije koje su mnogo oštrije od bijele ili plave trake slikara. Vaše vrijeme i razum potpuno vrijede dodatnih 2 USD po roli trake. Ako želite da bude mršaviji, možete pomoću egzaktnog noža izrezati nekoliko gornjih slojeva trake na još manje trake, tako da kad ocrtate jedan trokut ne pokrije toliko susjednih trokuta.
Jeftin sam i nemam mnogo iskustva sa slikanjem pa sam upotrijebio boce boje od 2 oz iz Michael's ili Hobby Lobby -a. Otkrio sam da je linija Craft Smart Premium prilično dobro prekrivena i na kraju sam koristio CraftSmart Premium metalik svečanu crvenu boju pomiješanu s bijelom ili crnom kako bih napravio 95% mojih crvenih nijansi. Žuta je bila samo Craft Smart premijum žuta, sa malo ubačenog zlata kao pokušaj da postane malo svjetlucava.
Ako znate za jeftinu boju koja bolje prekriva - javite mi u komentarima !! Često sam morao nanositi dva sloja boje kako nijedna bijela donja boja ne bi provirila, i volio bih imati ljepšu boju koja bi to izbjegla.
Nakon što je sve obojeno (ali prije lijepljenja akrilnih komada), upotrijebila sam sjajni bistri sprej za zaštitu kako bih zaštitila boju i učinila je sjajnom.
Korak 4: Akrilni komadi i akrilna pozadinska svjetla
Pričvršćivanje akrilnih komada bio je mali izazov jer su mi radni sto/stol i komad drveta blago iskrivljeni, pa nikako nisam mogao garantirati da će sve ostati dovoljno dugo da se moj epoksid stegne. Kao zaobilazno rješenje, pritisnuo sam drvo do stola u blizini akrilnog komada u koje sam lijepio i prvo sam koristio vruće ljepilo da držim svaki akrilni komad na mjestu. Vruće ljepilo je vidljivo s prednje strane akrila, pa sam tada upotrijebio Gorilla Glue ljepilo iz dva dijela naneseno čačkalicom da trajno držim akrilne komade na mjestu. Vratio sam se s malim kliještima i izvadio originalne komade vrućeg ljepila.
Napravio sam zasebni svjetlosni modul za svaki akrilni komad. Prvo sam izrezao komad 1/4 crne pjenaste ploče na veličinu nešto veću od potrebne i nacrtao obris akrilnog komada na njemu. Zatim sam izrezao i zalijepio LED trake za taj komad na način koji je uglavnom prekrivao akril području.
Ovaj korak bi bilo bolje izvesti s prototipnom pločom i nekim vijčanim terminalima, ali nisam ih imao pri ruci kad sam bio spreman započeti ožičenje. Kao zaobilazno rješenje, izrezao sam nekoliko ženskih pin zaglavlja na 4 ulaza - uzemljenje, 5 V, ulaz podataka, izlaz podataka. Vruće sam zalijepila žensku traku za zaglavlje na pjenastu ploču i počela lemiti sva svjetla zajedno.
Lemljenje je zapravo bilo zaista izazovno zbog toga koliko su ti jastučići za lemljenje bili mali. Srećom, imao sam dvije šanse za sve jastučiće za napajanje i uzemljenje jer se svaka traka može opskrbiti strujom na oba kraja. Rasporedio sam trake tako da je žica za podatke tekla u obliku serpentine. Koristim lemilicu s podesivom temperaturom i otkrio sam da volim da je temperatura na gornjem kraju raspona obojena zelenom bojom - vjerojatno mi se sviđa vruća jer je lemilica koju sam godinama koristio bila jeftina i nije imala kontrole temperature i vruće.
Nakon što je sve zalemljeno, upotrijebio sam egzaktni nož (sa svježim sječivom) da izrežem trake pjenaste ploče kako bih zatvorio svjetla i smanjio prozračivanje. Koristio sam bijelu umjesto crnu jer sam imao duže trake i to je zapravo bilo dobro jer mi je omogućilo da sa stražnje strane lako vidim je li taj dio LED traka uključen tijekom koraka testiranja ožičenja.
Korak 5: Ostatak elektronike
Uvijek pokušavam ožičiti svoje projekte tako da prvo ubacim ulaze za napajanje, zatim kontroler, zatim ostale elemente ploče i periferne uređaje. Vruće sam zalijepio bateriju na mjestu, a zatim provukao kabel s podijeljenom DC utičnicom tako da je ulaz za punjenje bio lako dostupan s ruba projekta radi lakšeg punjenja. Baterija je dolazila s podijeljenim kabelom, a upute kažu da je u redu puniti bateriju dok je u upotrebi.
Kanibalizirao sam jeftini mikro-USB kabel i zamijenio mikro USB kraj sa DC bačvastom utičnicom kako bih mogao koristiti samo 5V ulaz. Stavio sam 5V na jednu naponsku vodilicu matične ploče i u Vin pin ESP8266, zatim uzemljio u uzemljenu šinu i pin za uzemljenje ESP8266 (sve uzemljenje treba spojiti interno u kontroleru, tako da nije važno koji))
Standardnim RGB LED trakama upravlja PWM signal iz kontrolera. Međutim, mikrokontroleri mogu isporučiti samo 20mA-50mA struje po pinu, ovisno o kontroleru. Svaka LED dioda u traci zahtijeva otprilike toliku snagu, pa moramo koristiti neku vrstu tranzistora za upravljanje trakama. Nekoliko mjesta koja su se pojavila na Google pretraživanjima predložila su tranzistor TIP122 koji može prebaciti 5 ampera ili 40W snage - više nego dovoljno za našu aplikaciju. Nisu dizajnirani za postavljanje u matičnu ploču, ali ako svaku žicu okrenete bočno za 90 °, uklopit će se u utore za matičnu ploču. Prvo sam planirao na svaki pričvrstiti mali hladnjak, ali nakon nekog testiranja utvrdio sam da se ne zagrijavaju dovoljno da bi to bilo potrebno. Ožičio sam svaki tranzistorski ulaz na pin na ESP8266 namijenjen za PWM izlaz
RGB LED trake koje sam imao slučajno su imale "vodootpornu" gumenu prevlaku i zbog toga ne bi ostale zalijepljene na drvo onako kako bih želio. Kao zaobilazno rješenje, izrezao sam male komade pjenaste ploče i zalijepio komad pjene na drvo, a zatim na njih zalijepio LED traku.
Korak 6: Pregled programiranja
Ovaj projekt koristi različite biblioteke tako da se njime može upravljati iz telefonske aplikacije pod nazivom Blynk, uključivati/isključivati iz Amazon Echo -a, a kôd se može ažurirati putem WiFi -ja. U nastavku su navedene neke od korištenih biblioteka
Blynk -
Blynk je usluga koja omogućava jednostavnu kontrolu između mikrokontrolera ESP8266 i prilagodljive aplikacije za telefon. Aplikacija za telefon omogućuje vam izradu aplikacije s gumbima, klizačima, RGB biračima boja i još mnogo toga. Svaki "widget" mijenja vrijednost koja se može povući iz aplikacije Blynk kad god pokrenete određenu funkciju.
OTA (Over the Air) ažuriranje- zadana biblioteka uključena u ESP8266
Alexa Wemo emulator-https://github.com/witnessmenow/esp8266-alexa-wemo…
Zavara Amazon Echo da pomisli da je vaš projekt prekidač Wemo svjetla. Kôd vam omogućuje da definirate funkciju koja će se pokrenuti kada Alexa šalje signal "uključivanja" i zasebnu funkciju za signal isključenja. Možete oponašati više uređaja (do 10) s jednim kontrolerom što omogućuje još veću fleksibilnost. Moj kôd je postavljen tako da Echo pronađe dva uređaja pod nazivom "Iron Man" i "Night Light". Oni su i ovaj projekt i ovaj kontroler, ali ako uključim "Night Light", pokrenut će funkciju s prigušenim bijelim svjetlima, pri uključivanju "Iron Man" vanjske LED trake postaju crvene, a akrilni komadi bijeli.
Uređivanje Arduina u Visual Studiju pomoću vMicro
Već nekoliko mjeseci koristim Visual Studio na poslu i volim sve alate za automatsko dovršavanje koje je ugrađen, pa sam nakon nekog pretraživanja otkrio da bih zapravo mogao koristiti Visual Studio umjesto uobičajenog Arduino IDE -a. Jedna računarska vMicro licenca košta 15 dolara za studente, što se po mom mišljenju potpuno isplati ako ćete potrošiti više od nekoliko sati na programiranje Arduino koda.
FastLED vs Neopixel
Koristim FastLED u svojim projektima jednostavno zato što sam našao više funkcija za koje je na internetu već napravljeno, a u ovom trenutku napravio sam mnogo projekata koristeći ga pa imam mnogo koda za ponovnu upotrebu. Siguran sam da bi Neopixel biblioteka radila jednako dobro ako na njoj radite dovoljno. Planiram staviti sve svoje prilagođene funkcije na GitHub kako bi ih koristili i drugi ljudi, samo još nisam došao do toga.
Korak 7: Savjeti za programiranje
Ukupna struktura
Ja sam inženjer kontrole na svom poslu i često koristimo stil programiranja koji se zove PLC programiranje. Ovaj tip je sličan Arduinu po tome što ima petlju koja se neprestano pokreće svakih nekoliko milisekundi i bavi se ulazima/izlazima, preskačući između različitih "stanja" koda. Na primjer, kôd bi mogao pogoditi korak koji se odnosi na transporter gdje će, ako postoji ladica na transporteru, preći u stanje 45, ali ako nema ladice preći će u stanje 100. Ovaj stil programiranja inspirirao je moj kôd Napravio sam neke izmjene tako da mogu samo pročitati niz umjesto broja države.
Koristim globalnu varijablu (commandString) da pratim u kojem je svjetlosnom stanju projekt. Dodatno, koristim i logičko ime "animiraj" da odredim hoće li izbiti iz funkcije ili ne. Dakle, kada pritisnete tipku "Classic mode" na Blynku, moj kôd će postaviti animate na false (tako da izbije iz trenutne funkcije) i postaviti commandString na "RunClassic". Svaka funkcija stalno provjerava unos iz Blynk, Alexa i OTAUpdate pokretanjem funkcije "CheckInput".
Globalne varijable
Koristim globalne varijable da pratim neke postavke u svom projektu. Ove varijable se inicijaliziraju prije mog koda za postavljanje, što ih čini dostupnim bilo kojoj funkciji u mom kodu.
- globalna svjetlina (0-255)
- globalSpeed - brzina animacije bilo koje animirane funkcije. Ovaj projekat ima samo blede duge
- globalDelayTime - FastLED -u je potrebno oko 30 mikrosekundi za upisivanje informacija u svaki LED, pa sam ovu varijablu postavio na NUM_LEDS * 30 /1000 + 1; zatim dodaj delay (globalDelayTime) nakon što većinu puta radim FastLED.show () tako da se naredba ne prekida.
- _r, _g, _b - globalne RGB vrijednosti. Na taj način različiti gumbi sheme boja mogu samo promijeniti globalne vrijednosti r/g/b i svi na kraju pozivaju istu funkciju
Imenovanje Arduino OTA kontrolera ažuriranja
Trebalo mi je dosadne količine pretraživanja dok nisam shvatio kako imenovati kontroler pomoću funkcije za bežično ažuriranje. Doslovno samo uključite ovu liniju u odjeljak za postavljanje vašeg koda prije "ArduinoOTA.onStart (" -
ArduinoOTA.setHostname ("IronMan");
vMicro sa savjetima za Visual Studio
Ponekad će vizualni studio otkriti neke probleme sa dubokim datotekama poput standardnih C ++ datoteka i izbaciti neke greške. Pokušajte uključiti/isključiti različite vrste poruka o greškama sve dok jednostavno ne dođe do grešaka u otvorenom projektu, a ne uz pomoćne datoteke. Kôd možete otvoriti i u Arduino IDE -u i vidjeti hoće li se tamo kompajlirati ili će dati korisniji kod greške.
FastLED
Pošaljite mi poruku ako je ovaj Instructable aktivan više od nekoliko tjedana, a još uvijek nisam shvatio kako svoje prilagođene funkcije staviti na GitHub.
FastLED je naveden kao kompatibilan s ESP8266, ali definicije pinova možda nisu točne. U dokumentaciji za FastLED stoji da možete pokušati uključiti jedan od sljedećih redova prije #include
- //#definiraj FASTLED_ESP8266_RAW_PIN_ORDER
- //#definiraj FASTLED_ESP8266_NODEMCU_PIN_ORDER
- //#definiraj FASTLED_ESP8266_D1_PIN_ORDER
Međutim, pokušao sam sve tri i nikad mi nisu sve igle bile podudarne. Trenutno koristim posljednju liniju i prihvatio sam da kada kažem FastLED -u da koristi pin D2 on zapravo koristi pin D4 na mom kontroleru.
Iako su moja svjetla samo jeftino kinesko mnoštvo neopiksela, i dalje kažem FastLED -u da ih tretira kao neopiksele u postavljanju
- FastLED.addLeds (LED diode, NUM_LEDS);
- FastLED.setCorrection (TypicalLEDStrip);
- //FastLED.setMaxPowerInVoltsAndMilliamps(5, maxMilliamps); // Korisno za projekte na baterije
- FastLED.setBrightness (globalBright);
Korak 8: Finalni proizvod
Ta-da!
Slobodno komentirajte ili mi pošaljite pitanja putem e -pošte - volim ove stvari i volio bih pomoći drugim ljudima u stvaranju sjajnih projekata. Na mojoj web stranici potražite neke druge projekte koje sam radio i neke svoje fotografije: www.jacobathompson.com
Preporučuje se:
Svjetlo matričnog zaslona sa LED trakama, kontrolirano WiFi -om: 3 koraka (sa slikama)
WiFi matrica matričnog svjetla sata sa LED kontrolom putem WiFi -a: programabilne LED trake, npr. zasnovane na WS2812, fascinantne su. Aplikacije su mnogobrojne i brzo možete postići impresivne rezultate. I nekako mi se čini da su izgradnja satova još jedna domena o kojoj mnogo razmišljam. Počevši s nekim iskustvom u
RGB Bluetooth kontroler sa LED trakama V3 + Sinhronizacija muzike + Kontrola ambijentalnog svjetla: 6 koraka (sa slikama)
RGB LED kontroler Bluetooth kontroler V3 + muzička sinhronizacija + kontrola ambijentalnog osvjetljenja: Ovaj projekt koristi arduino za kontrolu RGB LED trake s vašim telefonom putem Bluetootha. Možete promijeniti boju, sinkronizirati svjetla s muzikom ili ih automatski prilagoditi ambijentalnom osvjetljenju
LED lampa za raspoloženje sa niskim polipropilenom: 9 koraka (sa slikama)
Low Poly LED svjetiljka za raspoloženje: Odličan dodatak svakom stolu, polici ili stolu! Diskretno dugme koje se nalazi na bazi omogućava vam da se krećete kroz različite obrasce LED osvetljenja. Nije važno želite li koristiti svjetiljku za učenje, opuštanje ili čak zabavu … postoji nekoliko
Koristite Cortanu i Arduino za upravljanje RGB LED ili LED trakama svojim glasom!: 4 koraka (sa slikama)
Koristite Cortanu i Arduino za upravljanje RGB LED ili LED trakama svojim glasom !: U ovom uputstvu ću vam pokazati kako možete upravljati svojim RGB LED ili LED trakama svojim glasom. To radi aplikacija CoRGB koja je besplatno dostupna u trgovini Windows aplikacija. Ova je aplikacija dio mog projekta CortanaRoom. Kad završite s pameću
Noćno svjetlo koje osjeća svjetlo koje se može prebaciti: 8 koraka (sa slikama)
Noćno svjetlo sa osjetljivim svjetlom koje se može prebaciti: Ovo uputstvo pokazuje kako sam hakirao senzor noćnog svjetla tako da se može ručno isključiti. Pažljivo pročitajte, imajte na umu sve otvorene krugove i po potrebi isključite područje prije testiranja jedinice