Satura rādītājs:

Ar tālvadību vadāmas LED acis un kostīmu pārsegs: 7 soļi (ar attēliem)
Ar tālvadību vadāmas LED acis un kostīmu pārsegs: 7 soļi (ar attēliem)

Video: Ar tālvadību vadāmas LED acis un kostīmu pārsegs: 7 soļi (ar attēliem)

Video: Ar tālvadību vadāmas LED acis un kostīmu pārsegs: 7 soļi (ar attēliem)
Video: Их дочь сошла с ума! ~ Заброшенный особняк во французской деревне 2024, Jūlijs
Anonim

Becky SternSekot vairāk autora:

Tīmekļa kameras privātuma draugs
Tīmekļa kameras privātuma draugs
Tīmekļa kameras privātuma draugs
Tīmekļa kameras privātuma draugs
Mērlentes Yagi antena ar 3D drukātajiem savienotājiem
Mērlentes Yagi antena ar 3D drukātajiem savienotājiem
Mērlente Yagi antenai ar 3D drukātajiem savienotājiem
Mērlente Yagi antenai ar 3D drukātajiem savienotājiem
Zodiaka izšuvumi
Zodiaka izšuvumi
Zodiaka izšuvumi
Zodiaka izšuvumi

Par: Izveidot un dalīties ir manas divas lielākās kaislības! Kopumā esmu publicējis simtiem pamācību par visu, sākot no mikrokontrolleriem un beidzot ar adīšanu. Es esmu Ņujorkas motociklists un nenožēlojoša suņu mamma. Mana bēda … Vairāk par bekatviju »

Dvīnis Jawas! Dubultā Orko! Divi spoku burvji no Bubble-Bobble! Šis kostīmu pārsegs var būt jebkura radība ar LED acīm, kuru izvēlaties, vienkārši mainot krāsas. Es pirmo reizi izveidoju šo projektu 2015. gadā ar ļoti vienkāršu shēmu un kodu, bet šogad es gribēju izveidot modernizētu versiju ar vienlaicīgu animācijas vadību divos tērpos. Šī shēma izmanto vienu vienkāršu, tuvu darbības attāluma RF tālvadības pulti, lai kontrolētu divus uztvērējus vienā frekvencē, un Arduino kodu, kas izmanto pārtraukumus, lai panāktu atsaucīgas animācijas izmaiņas, pamatojoties uz Bila Ērla apmācības kodu.

Šim projektam jums būs nepieciešams:

  • Divi NeoPixel dārgakmeņi
  • GEMMA M0 mikrokontrolleris
  • 315MHz bezvadu uztvērējs, fiksēšanas veids
  • 315 MHz bezvadu RF tālvadības pults četru, divu vai vienas pogas konfigurācijā
  • Stiepļu vads ar silikonu pārklātu (ieteicams 30 wg)
  • Lodāmurs un lodēt
  • Stiepļu noņēmēji
  • Skalošanas griezēji
  • Pincetes
  • Palīdzības trešās rokas instruments (pēc izvēles)
  • Šūšanas tapas
  • Drēbnieka krīts (pēc izvēles)
  • 19awg cinkota tērauda stieple
  • Biezs audums pārsegam/apmetnim (šai versijai es izmantoju divus baltas tabakas auduma slāņus un vienu baltas siera lupatiņas kārtu, pēc tam pārsega iekšpusi izklāju ar melnu krāsu, lai bloķētu gaismu)
  • Caurspīdīgs melns audums sejas panelim
  • Šujmašīna
  • Šķēres
  • Adata un diegs
  • 3D printeris ar elastīgu pavedienu (pēc izvēles)

Lai neatpaliktu no tā, pie kā strādāju, sekojiet man pakalpojumā YouTube, Instagram, Twitter, Pinterest un abonējiet manu biļetenu. Kā Amazon asociētais darbinieks es nopelnu no kvalificētiem pirkumiem, ko veicat, izmantojot manas saistītās saites.

Pirms sākat, iespējams, vēlēsities iepazīties ar šādiem priekšnoteikumiem:

  • Iepazīstinām ar Gemma M0
  • NeoPixel Uberguide
  • Pirmā pārsega projekta versija (uzbūvēta 2015. gadā ar klasisko Gemma un bez bezvadu vadības)
  • Arduino pt 3 daudzuzdevumu veikšana

1. darbība: shēmas shēma un kods

Ķēdes shēma un kods
Ķēdes shēma un kods

Ķēdes savienojumi ir šādi:

  • Gemma D2 uz bezvadu uztvērēju D0
  • Gemma D0 uz bezvadu uztvērēju D1
  • Gemma 3V uz bezvadu uztvērēju +5V
  • Gemma GND uz bezvadu uztvērēju GND un NeoPixel dārgakmeņi GND
  • Gemma D1 līdz NeoPixel dārgakmeņu dati IN
  • Gemma Vout uz NeoPixel dārgakmeņiem PWR
  • NeoPixel dārgakmeņu dati OUT uz citiem NeoPixel Jewel datiem IN

Montāžas piezīmes skatiet nākamajā solī.

Kods ir balstīts uz Bila Ērla Arduino skices vairāku uzdevumu veikšanu un ir modificēts, lai kontrolētu divus NeoPixel dārgakmeņus ar divām digitālām ieejām. Tātad jums nav jāizmanto bezvadu uztvērējs- tā vietā varat izmantot pašas ķēdes pogas. Lejupielādējiet šo Arduino koda failu no šīs darbības pielikumiem vai nokopējiet un ielīmējiet no šejienes tukšā Arduino skicē:

#include "Adafruit_NeoPixel.h"

// Atbalstītie modeļu veidi: enum modelis {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Patern virzieni atbalstīti: enum direction {FORWARD, REVERSE}; // NeoPattern klase - iegūta no klases Adafruit_NeoPixel NeoPatterns: public Adafruit_NeoPixel {public: // Dalībnieka mainīgie: modelis ActivePattern; // kurš modelis skrien Virziens; // virziens, lai izpildītu parakstu neparakstīts garš Intervāls; // milisekundes starp atjauninājumiem neparakstīti ilgi lastUpdate; // pēdējais pozīcijas atjauninājums uint32_t Krāsa1, Krāsa2; // Kādas krāsas tiek izmantotas uint16_t TotalSteps; // kopējais soļu skaits modelī uint16_t Index; // pašreizējais solis modeļa ietvaros void (*OnComplete) (); // Atzvanīšana pēc raksta pabeigšanas // Konstruktors - aicina bāzes klases konstruktoru inicializēt sloksni NeoPatterns (uint16_t pikseļi, uint8_t pin, uint8_t tips, void (*atzvanīšana) ()): Adafruit_NeoPixel (pikseļi, pin, tips) {OnComplete = atzvani; } // Atjaunināt modeli void Update () {if ((millis () - lastUpdate)> Intervāls) // atjaunināšanas laiks {lastUpdate = millis (); switch (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); pārtraukums; gadījums THEATER_CHASE: TheaterChaseUpdate (); pārtraukums; gadījums COLOR_WIPE: ColorWipeUpdate (); pārtraukums; gadījums SKENERIS: ScannerUpdate (); pārtraukums; gadījums FADE: FadeUpdate (); pārtraukums; noklusējums: pārtraukums; }}} // Palieliniet indeksu un atiestatiet beigās void Palielinājums () {if (Direction == FORWARD) {Index ++; ja (indekss> = kopējie soļi) {indekss = 0; ja (OnComplete! = NULL) {OnComplete (); // piezvanīt sazvērestības atzvanīšanai}}} else // Virziens == REVERSE {--Indekss; ja (indekss <= 0) {indekss = TotalSteps-1; ja (OnComplete! = NULL) {OnComplete (); // izsaukt sazināšanās atcelšanu}}}}} // Atgriezeniskā raksta virziens void Reverse () {if (Direction == FORWARD) {Direction = REVERSE; Indekss = TotalSteps-1; } cits {Virziens = uz priekšu; Indekss = 0; }} // Inicializēt RainbowCycle void RainbowCycle (intervāls uint8_t, virziens dir = FORWARD) {ActivePattern = RAINBOW_CYCLE; Intervāls = intervāls; Kopējie soļi = 255; Indekss = 0; Virziens = dir; } // Atjaunināt Rainbow Cycle Pattern void RainbowCycleUpdate () {for (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel ((((i * 256 / numPixels ())))+Index) & 255))); } rādīt (); Palielinājums (); } // Initialize for the Chase Theater void TheaterChase (uint32_t color1, uint32_t color2, uint8_t interval, direction dir = FORWARD) {ActivePattern = THEATER_CHASE; Intervāls = intervāls; TotalSteps = numPixels (); Krāsa1 = krāsa1; Krāsa2 = krāsa2; Indekss = 0; Virziens = dir; } // Atjauniniet Theatre Chase Pattern void TheaterChaseUpdate () {for (int i = 0; i <numPixels (); i ++) {if ((i+Index) % 3 == 0) {setPixelColor (i, Color1); } cits {setPixelColor (i, Color2); }} rādīt (); Palielinājums (); } // Inicializēt ColorWipe void ColorWipe (uint32_t color, uint8_t interval, direction dir = FORWARD) {ActivePattern = COLOR_WIPE; Intervāls = intervāls; TotalSteps = numPixels (); Krāsa1 = krāsa; Indekss = 0; Virziens = dir; } // Atjauniniet Krāsu noslaucīšanas modeļa void ColorWipeUpdate () {setPixelColor (rādītājs, krāsa1); parādīt (); Palielinājums (); } // Initialize for SCANNNER void Scanner (uint32_t color1, uint8_t interval) {ActivePattern = SKENERIS; Intervāls = intervāls; Kopējie soļi = (numPixels () - 1) * 2; Krāsa1 = krāsa1; Indekss = 0; } // Atjauniniet skenera raksta void ScannerUpdate () {for (int i = 0; i > 1, zaļa (krāsa) >> 1, zila (krāsa) >> 1); atgriezt dimColor; } // Iestatiet visiem pikseļiem krāsu (sinhroni) void ColorSet (uint32_t color) {for (int i = 0; i> 16) & 0xFF; } // Atgriež 32 bitu krāsas zaļo komponentu uint8_t Green (uint32_t color) {return (krāsa >> 8) & 0xFF; } // Atgriež 32 bitu krāsas zilo komponentu uint8_t Blue (uint32_t color) {return color & 0xFF; } // Ievadiet vērtību no 0 līdz 255, lai iegūtu krāsas vērtību. // Krāsas ir pāreja r - g - b - atpakaļ uz r. uint32_t Ritenis (baits WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return Color (255 - WheelPos * 3, 0, WheelPos * 3); } cits ja (WheelPos <170) {WheelPos -= 85; atgriezt krāsu (0, WheelPos * 3, 255 - WheelPos * 3); } cits {WheelPos -= 170; atgriezt krāsu (WheelPos * 3, 255 - WheelPos * 3, 0); }}}; void JewelsComplete (); // Definējiet dažus NeoPatterns abiem gredzeniem un kociņam // kā arī dažas pabeigšanas procedūras NeoPatterns Jewels (14, 1, NEO_GRBW + NEO_KHZ800 un & JewelsComplete); const int BRIGHTNESS = 50; // Visu inicializēt un sagatavoties, lai sāktu void setup () {Serial.begin (115200); pinMode (2, INPUT); pinMode (0, INPUT); // Inicializēt visus pikseļus Jewels.setBrightness (BRIGHTNESS); Dārgakmeņi.sākt (); // Kick off a pattern Jewels. TheaterChase (Jewels. Color (255, 50, 0), Jewels. Color (0, 0, 0, 50), 100); } // Galvenās cilpas void loop () {// Atjauniniet dārgakmeņus. Dārgakmeņi. Atjaunināt (); // Pārslēgt modeļus, nospiežot pogu: if (digitalRead (2) == HIGH) // Poga #1 nospiesta {Jewels. Color1 = Jewels. Color (255, 50, 0); Dārgakmeņi. ActivePattern = FADE; Dārgakmeņi. TotalSteps = 100; Dārgakmeņi. Intervāls = 1; } else if (digitalRead (0) == HIGH) // Poga #2 nospiesta {Jewels. Color1 = Jewels. Color (255, 0, 0); Jewels. ActivePattern = SKENERIS; Jewels. TotalSteps = Jewels.numPixels (); Dārgakmeņi. Intervāls = 100; } else // Atpakaļ pie normālas darbības {// Atjaunojiet visus modeļa parametrus normālajās vērtībās Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = THEATER_CHASE; Jewels. TotalSteps = Jewels.numPixels (); Dārgakmeņi. Intervāls = 100; }} // ---------------------------------------------- -------------- // Pabeigšanas rutīnas-tiek izsaukts pēc modeļa pabeigšanas // ---------------------- -------------------------------------- // Jewels Completetion Callback void JewelsComplete () {// Nejauša krāsu maiņa nākamajai skenēšanai //Jewels. Color1 = Jewels. Wheel (nejaušs (255)); Dārgakmeņi. Reverss (); }

2. darbība: samontējiet ķēdi

Salieciet ķēdi
Salieciet ķēdi
Salieciet ķēdi
Salieciet ķēdi

Trešo roku satvērēju komplekts var padarīt vadu lodēšanas procesu pie detaļām ļoti vienkāršu un jautru. Bet neuztraucieties, ja jums nav komplekta; jūs vienmēr varat izmantot kādu lenti vai plakātu špakteli, lai jūsu dēlis būtu stabils, kamēr jūs lodējat.

Savienojumiem starp diviem NeoPixel dārgakmeņiem izmantojiet plānus dzīslas stieples gabalus (apmēram 6 collas/15 min garas) (diagramma iepriekšējā solī). Ja izmantojat pārāk īsus vadus, jūs nevarēsiet novietot savas LED acis pietiekami tālu viena no otras, un, ja izmantosiet pārāk daudz stieples, tērpa valkāšanas laikā jūsu vaigā nokļūs vaļīgums.

Galvenā ķēde atradīsies atloka zonā (kur jūsu krūtis saskaras ar plecu), tāpēc savienojumiem starp pirmo NeoPixel dārgakmeni ķēdē un Gemma vadi būs daudz garāki. Jūs varat turēt vadu līdz acu zonai un izvilkt to, lai izmērītu stieples attālumu, pēc tam pievienojiet nedaudz vairāk, lai nodrošinātu atslābumu un apdrošināšanu.

Lai izveidotu savienojumu starp Gemma un bezvadu uztvērēju, es izvēlējos izmantot vadu prototipus ar sieviešu galvenēm, jo bezvadu uztvērējam jau ir pievienotas galvenes tapas.

3. darbība: akumulatora enerģija

Akumulatora jauda
Akumulatora jauda
Akumulatora jauda
Akumulatora jauda

Lai barotu ķēdi, es izmantoju 500mAh lipolijas akumulatoru. Ja izmantojat lipolu akumulatoru, ir prātīgi to pasargāt no skrāpējumiem, caurduršanas, nobrāzumiem, saliekšanās un cita veida ļaunprātīgas izmantošanas. Jūs to varat ietīt kādā izturīgā auduma lentē vai izgatavot tam 3D drukātu turētāju.

Tā vietā jūs varētu viegli izmantot 3xAAA turētāju (nēsājiet to kabatā, nevis atloka iekšpusē).

4. solis: modeļa šūšana un auduma griešana

Šūšanas raksts un griešanas audums
Šūšanas raksts un griešanas audums

Es izmantoju to pašu modeli, ko izveidoju šī tērpa pirmajai versijai, kas ir vairāku lappušu PDF, kas saliek kopā, lai izveidotu raksta gabalus.

Salokiet audumu, izlīdzinot malu malas, lai izlīdzinātu auduma graudus, un novietojiet/saspraudiet raksta gabalus gar locījumu, kā norādīts. Izmantojot marķēšanas krītu vai zīmuli, izsekojiet šuvju pielaidi ārpus raksta gabaliem (izņemot kroku) apmēram 5/8 collas/3 cm. Tā kā mans audums bija plāns, es gribēju to dubultot, un, tā kā es izgatavoju divas kapuces, es galu galā sagriezu četrus no katra raksta gabala galvenajā audumā, pēc tam vēl vienu slāni gauzīgā marlī, lai pievienotu tekstūru ārpusei, un galu galā melna auduma kā slānis, lai aizkavētu gaismas ieplūšanu. Es domāju, ka, ja es būtu to iepriekš plānojis, es būtu varējis nomest vienu no sākotnējiem baltajiem slāņiem, un pārsegi būtu sastāvējuši tikai no trim slāņiem, nevis četriem.

5. solis: salieciet auduma gabalus

Salieciet auduma gabalus
Salieciet auduma gabalus
Salieciet auduma gabalus
Salieciet auduma gabalus
Salieciet auduma gabalus
Salieciet auduma gabalus
Salieciet auduma gabalus
Salieciet auduma gabalus

Piespraudiet un šujiet šautriņas/plecu vīles uz katra raksta gabala, pēc tam izlīdziniet kapuci un apmetņa gabalus gar kakla šuvi ar labajām pusēm kopā. Šujiet šuvi, kā arī šuvi taisni pāri pārsega augšdaļai.

Izmēģiniet uz pārsega. Salieciet un piespraudiet pārsega neapstrādāto priekšējo malu un sašujiet to uz leju, lai izveidotu glītu malu, kā arī kanālu vadam.

Pēc tam nogrieziet apaļu, melnu auduma gabalu, lai pārklātu pārsega priekšpusi. Tas būs tas, kas atbalstīs ķēdi un paslēps jūsu seju. Piestipriniet to vietā, kamēr valkājat pārsegu, lai tas būtu vislabāk piemērots, un pēc tam šujiet to ar rokām vai mašīnu pie pārsega atveres.

6. darbība: uzstādiet ķēdi pārsegā

Instalējiet ķēdi pārsegā
Instalējiet ķēdi pārsegā

Es uzliku pārsegu, ieslēdzu ķēdi un izmantoju spoguli, lai noskaidrotu labāko gaismas diožu atrašanās vietu. Pēc tam es izmantoju tapas, lai atzīmētu atrašanās vietas, un rūpīgi sašuvu, izmantojot melnu diegu, piestiprinot NeoPixel dārgakmeņu stiprinājuma caurumus pie melnā priekšējā paneļa. Manējie sēž tieši zem manām īstām acīm, kas ļauj viegli saskatīt tās.

Noskalojiet un atkārtojiet, ja gatavojat otru kapuci.

7. solis: nēsājiet to

Nēsā to!
Nēsā to!
Nēsā to!
Nēsā to!
Nēsā to!
Nēsā to!
Nēsā to!
Nēsā to!

Šos ir tik jautri valkāt. Tas ir viegli pamanāms, un citiem nav viegli redzēt jūsu seju. Visa lieta ir arī diezgan ērta, pateicoties negabarīta pārsegam un stiepļu rāmim, kas neļauj priekšējam audumam pārklāties uz sejas.

Šogad mēs ar savu draugu tos nēsājām, lai dīdžeja manā hakerpēdas Halovīni ballītē, un, lai gan es redzēju lāzera projektora programmatūras saskarni, viņš nevarēja pilnībā izdomāt sīko tekstu abeltonā, tāpēc mums bija jāpielāgo viņa teksts. labāks skats. Noņēmu melno auduma paneli no pārsega augšējās daļas un saliku pār lieko. Tumšā telpā jūs nevarējāt īsti atšķirt abus, lai gan jūs to varat redzēt mūsu fotoattēlā, kas redzams iepriekš.

Paldies, ka izlasījāt! Ja jums patīk šis projekts, jūs varētu interesēt daži mani citi:

  • 13 idejas gaismas diožu izkliedēšanai
  • Izkliedēta LED sloksnes zīme ar Arduino/Bluetooth
  • YouTube abonentu skaitītājs ar ESP8266
  • Vienkāršs bezgalības spogulis
  • 3 Arduino iesācēju kļūdas

Lai neatpaliktu no tā, pie kā strādāju, sekojiet man pakalpojumā YouTube, Instagram, Twitter un Pinterest.

Ieteicams: