Sadržaj:

Napa za oči i kostim sa LED daljinskim upravljanjem: 7 koraka (sa slikama)
Napa za oči i kostim sa LED daljinskim upravljanjem: 7 koraka (sa slikama)

Video: Napa za oči i kostim sa LED daljinskim upravljanjem: 7 koraka (sa slikama)

Video: Napa za oči i kostim sa LED daljinskim upravljanjem: 7 koraka (sa slikama)
Video: Jovana Jeremić i džinovski jastuk! Boli je dupe od tucanja #balkan #srbija #hrvatska #shorts #bosna 2024, Novembar
Anonim

Autor bekathwiaBecky SternFollow Više od autora:

Webcam Privacy Friend
Webcam Privacy Friend
Webcam Privacy Friend
Webcam Privacy Friend
Mjerna traka Yagi antena s 3D ispisanim spojnicama
Mjerna traka Yagi antena s 3D ispisanim spojnicama
Merite traku Yagi antenu sa 3D štampanim spojnicama
Merite traku Yagi antenu sa 3D štampanim spojnicama
Zodijački vez
Zodijački vez
Zodijački vez
Zodijački vez

O: Izrada i dijeljenje su moje dvije najveće strasti! Ukupno sam objavio stotine vodiča o svemu, od mikrokontrolera do pletenja. Ja sam motoristkinja iz New Yorka i mama koja se ne kaje. My wo… Više o bekathwia »

Blizanac Jawas! Double Orko! Dva čarobnjaka duhova iz Bubble-Bobble-a! Ova kapuljača može biti bilo koje stvorenje sa LED očima koje odaberete samo promjenom boja. Prvi put sam napravio ovaj projekt 2015. godine s vrlo jednostavnim sklopom i kodom, ali ove godine sam htio stvoriti nadograđenu verziju sa istovremenom kontrolom animacije u dva kostima. Ovo kolo koristi jedan jednostavan RF daljinski upravljač bliskog dometa za upravljanje s dva prijemnika na istoj frekvenciji, a Arduino kod koji koristi prekide za postizanje odzivnih promjena animacije, zasnovan na tutorial kodu Billa Earla.

Za ovaj projekat trebat će vam:

  • Dva NeoPixel dragulja
  • GEMMA M0 mikrokontroler
  • Bežični prijemnik 315MHz, tip zasuna
  • Bežični RF daljinski upravljač na 315 MHz u konfiguraciji sa četiri, dva ili jednim dugmetom
  • Navojena žica obložena silikonom (preporučuje se 30 awg)
  • Lemilica i lemljenje
  • Strojevi za skidanje žice
  • Sekači za ispiranje
  • Pinceta
  • Pomoćni alat iz treće ruke (opcionalno)
  • Igle za šivanje
  • Krojačka kreda (nije obavezno)
  • 19awg pocinčana čelična žica
  • Debela tkanina za haubu/ogrtač (za ovu verziju koristio sam dva sloja bijele duhanske tkanine i jedan sloj bijele gaze, a zatim obložio unutrašnjost nape čvrstom crnom bojom da blokiram svjetlo)
  • Prozirna crna tkanina za prednju ploču
  • Mašina za šivanje
  • Makaze
  • Igla i konac
  • 3D štampač sa fleksibilnom niti (opcionalno)

Da biste bili u toku sa onim na čemu radim, pratite me na YouTube -u, Instagramu, Twitteru, Pinterestu i pretplatite se na moj bilten. Kao Amazon saradnik zarađujem od kvalifikovanih kupovina koje obavite pomoću mojih partnerskih veza.

Prije nego počnete, možda ćete htjeti pročitati sljedeće preduvjete:

  • Predstavljamo Gemmu M0
  • NeoPixel Uberguide
  • Prva verzija haube (izgrađena 2015. s klasičnom Gemmom i bez bežične kontrole)
  • Više zadataka za Arduino pt 3

Korak 1: Dijagram i kod

Dijagram i kod
Dijagram i kod

Spojevi kruga su sljedeći:

  • Gemma D2 na bežični prijemnik D0
  • Gemma D0 na bežični prijemnik D1
  • Gemma 3V na bežični prijemnik +5V
  • Gemma GND na bežični prijemnik GND i NeoPixel dragulji GND
  • Podaci o draguljima Gemme D1 u NeoPixel IN
  • Gemma Vout to NeoPixel jewels PWR
  • NeoPixel jewel podaci OUT drugim neoPixel Jewel podacima IN

Napomene o montaži pogledajte u sljedećem koraku.

Kôd je zasnovan na višenamjenskoj Arduino skici Bill Earla, a modificiran je za kontrolu dva dragulja NeoPixel s dva digitalna ulaza. Dakle, ne morate koristiti bežični prijemnik- umjesto toga možete koristiti dugmad na samom krugu. Preuzmite ovu Arduino kodnu datoteku iz priloga ovog koraka ili kopirajte i zalijepite odavde u praznu Arduino skicu:

#include "Adafruit_NeoPixel.h"

// Podržani tipovi uzoraka: enum pattern {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Podržani smjerovi šablona: smjer nabrajanja {FORWARD, REVERSE}; // NeoPattern Class - izvedeno iz klase klase Adafruit_NeoPixel NeoPatterns: javno Adafruit_NeoPixel {public: // Varijable člana: pattern ActivePattern; // koji uzorak vodi smjer Direction; // smjer za pokretanje uzorka unsigned long Interval; // milisekunde između ažuriranja unsigned long lastUpdate; // posljednje ažuriranje pozicije uint32_t Color1, Color2; // Koje se boje koriste uint16_t TotalSteps; // ukupan broj koraka u uzorku uint16_t Index; // trenutni korak unutar uzorka void (*OnComplete) (); // Povratni poziv po dovršetku uzorka // Konstruktor - poziva konstruktor osnovne klase za inicijalizaciju tračnih NeoPatterns (uint16_t piksela, uint8_t pin, uint8_t tip, void (*povratni poziv) ()): Adafruit_NeoPixel (pikseli, pin, tip) {OnComplete = povratni poziv; } // Ažuriraj obrazac void Update () {if ((millis () - lastUpdate)> Interval) // vrijeme za ažuriranje {lastUpdate = millis (); switch (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); break; slučaj THEATER_CHASE: TheaterChaseUpdate (); break; kućište COLOR_WIPE: ColorWipeUpdate (); break; kućište SCANNER: ScannerUpdate (); break; slučaj FADE: FadeUpdate (); break; default: break; }}} // Povećajte Indeks i resetirajte na kraju void Increment () {if (Direction == FORWARD) {Index ++; if (Indeks> = TotalSteps) {Indeks = 0; if (OnComplete! = NULL) {OnComplete (); // pozivanje povratnog poziva komlpecije}}} else // Smjer == REVERSE {--Index; if (Indeks <= 0) {Indeks = TotalSteps-1; if (OnComplete! = NULL) {OnComplete (); // pozivanje povratnog poziva komlpecije}}}} // Obrnuti smjer uzorka void Reverse () {if (Direction == FORWARD) {Direction = REVERSE; Indeks = TotalSteps-1; } else {Direction = FORWARD; Indeks = 0; }} // Inicijalizacija za RainbowCycle void RainbowCycle (interval uint8_t, smjer dir = NAPRIJED) {ActivePattern = RAINBOW_CYCLE; Interval = interval; Ukupni koraci = 255; Indeks = 0; Smjer = dir; } // Ažuriraj Rainbow Cycle Pattern void RainbowCycleUpdate () {for (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel (((i * 256 / numPixels ())+Index) & 255)); } show (); Increment (); } // Inicijalizacija za Theatre Chase void TheaterChase (uint32_t color1, uint32_t color2, uint8_t interval, smjer dir = NAPRIJED) {ActivePattern = THEATER_CHASE; Interval = interval; TotalSteps = numPixels (); Boja1 = boja1; Boja2 = boja2; Indeks = 0; Smjer = dir; } // Ažuriraj Theatre Chase Pattern void TheaterChaseUpdate () {for (int i = 0; i <numPixels (); i ++) {if ((i+Index) % 3 == 0) {setPixelColor (i, Color1); } else {setPixelColor (i, Color2); }} show (); Increment (); } // Inicijalizacija za ColorWipe void ColorWipe (boja uint32_t, interval uint8_t, smjer dir = NAPRIJED) {ActivePattern = COLOR_WIPE; Interval = interval; TotalSteps = numPixels (); Boja1 = boja; Indeks = 0; Smjer = dir; } // Ažuriraj uzorak brisanja boja void ColorWipeUpdate () {setPixelColor (Index, Color1); show (); Increment (); } // Inicijalizacija za SCANNNER void Scanner (uint32_t color1, uint8_t interval) {ActivePattern = SCANNER; Interval = interval; Ukupni koraci = (numPixels () - 1) * 2; Boja1 = boja1; Indeks = 0; } // Ažuriraj uzorak skenera void ScannerUpdate () {for (int i = 0; i > 1, zelena (boja) >> 1, plava (boja) >> 1); return dimColor; } // Postavi sve piksele u boju (sinhrono) void ColorSet (uint32_t color) {for (int i = 0; i> 16) & 0xFF; } // Vraća komponentu zelene boje 32-bitne boje uint8_t Zelena (uint32_t boja) {return (boja >> 8) & 0xFF; } // Vraća Plavu komponentu 32-bitne boje uint8_t Plava (uint32_t boja) {return boja & 0xFF; } // Unesite vrijednost od 0 do 255 da biste dobili vrijednost boje. // Boje su prijelaz r - g - b - natrag u r. uint32_t Točak (bajt WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return Color (255 - WheelPos * 3, 0, WheelPos * 3); } else if (WheelPos <170) {WheelPos -= 85; return Color (0, WheelPos * 3, 255 - WheelPos * 3); } else {WheelPos -= 170; return Color (WheelPos * 3, 255 - WheelPos * 3, 0); }}}; void JewelsComplete (); // Definirajte neke NeoPatterns za dva prstena i štap // kao i neke rutine dovršavanja NeoPatterns Jewels (14, 1, NEO_GRBW + NEO_KHZ800, & JewelsComplete); const int SVJETLOST = 50; // Pokrećemo sve i pripremamo se za pokretanje void setup () {Serial.begin (115200); pinMode (2, INPUT); pinMode (0, INPUT); // Pokrećemo sve piksele Jewels.setBrightness (BRIGHTNESS); Jewels.begin (); // Pokretanje uzorka Jewels. TheaterChase (Jewels. Color (255, 50, 0), Jewels. Color (0, 0, 0, 50), 100); } // Glavna petlja void loop () {// Ažuriranje dragulja. Jewels. Update (); // Uključivanje uzoraka pritiskom na dugme: if (digitalRead (2) == HIGH) // Pritisnite dugme #1 {Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = FADE; Jewels. TotalSteps = 100; Jewels. Interval = 1; } else if (digitalRead (0) == HIGH) // Pritisnuto dugme #2 {Jewels. Color1 = Jewels. Color (255, 0, 0); Jewels. ActivePattern = SCANNER; Jewels. TotalSteps = Jewels.numPixels (); Jewels. Interval = 100; } else // Povratak na normalan rad {// Vraćanje svih parametara uzorka na normalne vrijednosti Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = THEATER_CHASE; Jewels. TotalSteps = Jewels.numPixels (); Jewels. Interval = 100; }} // ---------------------------------------------- -------------- // Rutine dovršavanja-pozvati vas nakon dovršetka uzorka // ---------------------- -------------------------------------- // Završetak dragulja Povratni poziv void JewelsComplete () {// Slučajna promjena boje za sljedeće skeniranje //Jewels. Color1 = Jewels. Wheel (nasumično (255)); Jewels. Reverse (); }

Korak 2: Sastavite krug

Sastavite kolo
Sastavite kolo
Sastavite kolo
Sastavite kolo

Skup pomoćnih hvataljki iz trećih ruku može učiniti proces lemljenja žica na komponente vrlo jednostavnim i zabavnim. Ali ne brinite ako nemate komplet; uvijek možete koristiti neku traku ili kit za postere kako biste održali ploču stabilnom dok lemite.

Za spajanje dva dragulja NeoPixel (dijagram u prethodnom koraku) upotrijebite tanke komade nasukane žice (duljine oko 6 inča/15 centimetara). Ako koristite prekratke žice, nećete moći postaviti LED oči dovoljno udaljene jedna od druge, a ako koristite previše žice, opuštanje će vam ući u lice dok nosite kostim.

Glavni krug živjet će u području revera (gdje vam se prsa susreću s ramenom), pa će za veze između prvog NeoPixel dragulja u lancu i Gemme žice biti mnogo duže. Možete držati žicu do područja oko očiju i izvući je kako biste izmjerili udaljenost koju bi žica trebala preći, a zatim dodati još malo za opuštanje i osiguranje.

Za povezivanje između Gemme i bežičnog prijemnika, odlučio sam koristiti prototipiranje žica sa ženskim zaglavljima, budući da bežični prijemnik već ima priključene pinove zaglavlja.

Korak 3: Napajanje baterije

Napajanje baterije
Napajanje baterije
Napajanje baterije
Napajanje baterije

Za napajanje kruga koristio sam lipolnu bateriju od 500mAh. Ako koristite bateriju od lipola, pametno je zaštititi je od ogrebotina, uboda, ogrebotina, savijanja i drugih zloupotreba. Možete ga umotati u neku čvrstu traku od tkanine ili za njega napraviti 3D štampani držač.

Umjesto toga možete jednostavno koristiti držač 3xAAA (nositi ga u džepu umjesto u reveru).

Korak 4: Uzorak za šivanje i rezanje tkanine

Uzorci za šivanje i tkanina za rezanje
Uzorci za šivanje i tkanina za rezanje

Koristio sam isti uzorak koji sam stvorio za prvu verziju ovog kostima, a to je PDF sa više stranica koji spaja pločice kako bi stvorio komade uzoraka.

Presavijte tkaninu, poravnavajući rubove rubova kako biste poravnali zrna tkanine, i postavite/pričvrstite komade uzorka duž preklopa kako je označeno. Nacrtajte dodatak šava izvan komada uzorka (osim preklopa) od oko 5/8in/3 cm pomoću krede za označavanje ili olovke. Budući da mi je tkanina bila tanka, htio sam je udvostručiti, a budući da sam napravio dvije kapuljače, na kraju sam izrezao po četiri komada svakog uzorka u glavnoj tkanini, zatim još jedan sloj u prozirnoj gazi za dodavanje teksture izvana, i na kraju sloj crne tkanine kao košuljica za blokiranje ulaska svjetlosti. Mislim da sam unaprijed to planirao, mogao sam ispustiti jedan od početnih bijelih slojeva, a kapuljače bi se sastojale od samo tri sloja umjesto četiri.

Korak 5: Sastavite komade tkanine

Sastavite komade tkanine
Sastavite komade tkanine
Sastavite komade tkanine
Sastavite komade tkanine
Sastavite komade tkanine
Sastavite komade tkanine
Sastavite komade tkanine
Sastavite komade tkanine

Zakačite i sašite pikado/šavove ramena na svakom uzorku, a zatim poravnajte dijelove kapuljače i ogrtača duž šava vrata s desnim stranama zajedno. Prošijte šav, kao i šav ravno preko vrha kapuljače.

Isprobajte haubu. Presavijte i pričvrstite sirovi prednji rub nape i zašijte je prema dolje kako biste stvorili urednu ivicu, kao i kanal za prolazak žice.

Zatim izrežite okrugli komad prozirne crne tkanine kako biste prekrili prednji dio nape. Ovo će podržati kolo i sakriti vaše lice. Pričvrstite ga dok nosite kapuljaču za najbolje prianjanje, a zatim ga ručno ili mašinski zašijte do otvora napa.

Korak 6: Instalirajte krug u haubi

Instalirajte krug u haubi
Instalirajte krug u haubi

Stavio sam haubu, uključio krug i pomoću ogledala procijenio najbolje mjesto za LED diode. Zatim sam upotrijebio igle za označavanje lokacija i pažljivo ih prošio crnim koncem, pričvršćujući rupe za pričvršćivanje na NeoPixel draguljima na prozirnu crnu prednju ploču. Moje stoje tik ispod mojih pravih očiju, pa mi je lako vidjeti ih mimo njih.

Isperite i ponovite ako pravite drugu kapuljaču.

Korak 7: Nosite ga

Nosi to!
Nosi to!
Nosi to!
Nosi to!
Nosi to!
Nosi to!
Nosi to!
Nosi to!

Ovo je tako zabavno nositi. Lako je vidjeti, a drugima nije lako vidjeti vaše lice. Cijela stvar je također prilično udobna, zahvaljujući prevelikoj kapuljači i žičanom okviru, koji spriječava da vam se prednja tkanina navlači na lice.

Moj dečko i ja smo ih nosili ove godine za DJ Noć vještica u hackerspaceu, a ja sam mogao vidjeti sučelje za softver laserskog projektora, ali nije mogao razaznati mali tekst u abeltonu, pa smo morali prilagoditi njegov bolji pogled. Uklonio sam ploču od crne tkanine s gornjeg dijela kapuljače i presavio je višak. U mračnoj prostoriji niste mogli razlikovati ovo dvoje, iako to možete vidjeti na gornjoj fotografiji.

Hvala na čitanju! Ako vam se sviđa ovaj projekt, možda će vas zanimati neki od mojih drugih:

  • 13 ideja za difuzne LED diode
  • Difuzni LED trakasti znak s Arduinom/Bluetooth -om
  • Brojač pretplatnika YouTube s ESP8266
  • Lako beskonačno ogledalo
  • 3 Arduino greške za početnike

Da biste bili u toku sa onim na čemu radim, pratite me na YouTubeu, Instagramu, Twitteru i Pinterestu.

Preporučuje se: