Obsah:

Diaľkovo ovládaná LED dióda pre oči a kostým: 7 krokov (s obrázkami)
Diaľkovo ovládaná LED dióda pre oči a kostým: 7 krokov (s obrázkami)

Video: Diaľkovo ovládaná LED dióda pre oči a kostým: 7 krokov (s obrázkami)

Video: Diaľkovo ovládaná LED dióda pre oči a kostým: 7 krokov (s obrázkami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim

Od bekathwiaBecky SternSledovať viac od autora:

Ochrana súkromia webovej kamery
Ochrana súkromia webovej kamery
Ochrana súkromia webovej kamery
Ochrana súkromia webovej kamery
Zvinovací meter Yagi anténa s 3D tlačenými spojkami
Zvinovací meter Yagi anténa s 3D tlačenými spojkami
Zvinovací meter Yagi anténa s 3D tlačenými spojkami
Zvinovací meter Yagi anténa s 3D tlačenými spojkami
Výšivka zverokruhu
Výšivka zverokruhu
Výšivka zverokruhu
Výšivka zverokruhu

O: Tvorba a zdieľanie sú moje dve najväčšie vášne! Celkovo som publikoval stovky návodov o všetkom, od mikrokontrolérov až po pletenie. Som motocyklista z New Yorku a nehanebná psia mama. Moje wo … Viac o bekathwii »

Dvojčatá Jawas! Dvojité Orko! Dvaja duchovní čarodejníci z Bubble-Bobble! Táto kostýmová kapucňa môže byť akékoľvek stvorenie s LED očami, ktoré si vyberiete iba zmenou farieb. Tento projekt som prvýkrát vyrobil v roku 2015 s veľmi jednoduchým obvodom a kódom, ale tento rok som chcel vytvoriť aktualizovanú verziu so súčasným ovládaním animácie cez dva kostýmy. Tento obvod používa jeden jednoduchý diaľkový RF diaľkový ovládač na ovládanie dvoch prijímačov na rovnakej frekvencii a kód Arduino využívajúci prerušenia na dosiahnutie responzívnych zmien animácie na základe kódu tutoriálu Billa Earla.

Na tento projekt budete potrebovať:

  • Dva klenoty NeoPixel
  • Mikrokontrolér GEMMA M0
  • Bezdrôtový prijímač 315 MHz, typ západky
  • Bezdrôtový diaľkový ovládač RF 315 MHz v konfigurácii so štyrmi, dvoma alebo jedným tlačidlom
  • Silikónový lankový drôt (odporúča sa 30awg)
  • Spájkovačka a spájkovačka
  • Odizolovače drôtov
  • Splachovacie kliešte
  • Pinzeta
  • Pomocný nástroj z tretej ruky (voliteľné)
  • Šijacie špendlíky
  • Krajčírska krieda (voliteľné)
  • 19awg pozinkovaný oceľový drôt
  • Hustá tkanina na kapucňu/plášť (pre túto verziu som použil dve vrstvy bieleho tabakového plátna a jednu vrstvu bieleho tenkého plátna, potom som vnútro kapucne lemoval plnou čiernou farbou, ktorá blokovala svetlo)
  • Priesvitná čierna tkanina na čelný panel
  • Šijací stroj
  • Nožnice
  • Ihla a niť
  • 3D tlačiareň s flexibilným vláknom (voliteľné)

Aby ste držali krok s tým, na čom pracujem, sledujte ma na stránkach YouTube, Instagram, Twitter, Pinterest a prihláste sa na odber môjho spravodajcu. Ako spolupracovník Amazonu zarábam na kvalifikovaných nákupoch, ktoré robíte pomocou mojich pridružených odkazov.

Skôr ako začnete, mali by ste si prečítať nasledujúce predpoklady:

  • Predstavujeme Gemma M0
  • NeoPixel Uberguide
  • Prvá verzia projektu kapucne (postavená v roku 2015 s klasickou Gemmou a bez bezdrôtového ovládania)
  • Multitasking Arduino pt 3

Krok 1: Schéma zapojenia a kód

Schéma zapojenia a kód
Schéma zapojenia a kód

Pripojenia obvodov sú nasledujúce:

  • Gemma D2 k bezdrôtovému prijímaču D0
  • Gemma D0 k bezdrôtovému prijímaču D1
  • Gemma 3V na bezdrôtový prijímač +5V
  • Klenoty Gemma GND na bezdrôtový prijímač GND a NeoPixel GND
  • Údaje klenotov Gemma D1 až NeoPixel IN
  • Klenoty Gemma Vout na šperky NeoPixel PWR
  • Údaje šperku NeoPixel VSTUP do ostatných dát INO šperku NeoPixel

Poznámky k montáži nájdete v nasledujúcom kroku.

Kód je založený na viacúlohovom náčrte Arduino od Billa Earla a je upravený tak, aby ovládal dva šperky NeoPixel s dvoma digitálnymi vstupmi. Nemusíte teda používať bezdrôtový prijímač- namiesto toho môžete použiť tlačidlá na samotnom obvode. Stiahnite si tento súbor kódu Arduino z príloh tohto kroku, alebo skopírujte a prilepte odtiaľto do prázdneho náčrtu Arduino:

#include "Adafruit_NeoPixel.h"

// Podporované typy vzorov: vzor výčtu {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Podporované smery Patern: enum direction {FORWARD, REVERSE}; // Trieda NeoPattern - odvodené z triedy triedy Adafruit_NeoPixel NeoPatterns: public Adafruit_NeoPixel {public: // Členské premenné: vzor ActivePattern; // ktorý vzor beží v smere Smer; // smer na spustenie vzoru bez znamienka dlhý interval; // milisekundy medzi aktualizáciami nepodpísané dlhé lastUpdate; // posledná aktualizácia polohy uint32_t Color1, Color2; // Aké farby sa používajú uint16_t TotalSteps; // celkový počet krokov vo vzore uint16_t Index; // aktuálny krok v rámci vzoru void (*OnComplete) (); // Spätné volanie po dokončení vzoru // Constructor - zavolá konštruktéra základnej triedy na inicializáciu pásu NeoPatterns (uint16_t pixelov, uint8_t pin, typ uint8_t, void (*callback) ()): Adafruit_NeoPixel (pixely, pin, typ) {OnComplete = zavolaj späť; } // Aktualizujte vzor neplatný Update () {if ((millis () - lastUpdate)> Interval) // čas na aktualizáciu {lastUpdate = millis (); switch (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); prestávka; prípad THEATER_CHASE: TheaterChaseUpdate (); prestávka; prípad COLOR_WIPE: ColorWipeUpdate (); prestávka; puzdro SKENER: ScannerUpdate (); prestávka; prípad FADE: FadeUpdate (); prestávka; predvolené: break; }}} // Zvýšenie indexu a resetovanie na konci neplatné Prírastok () {if (Smer == Vpred) {Index ++; if (Index> = TotalSteps) {Index = 0; if (OnComplete! = NULL) {OnComplete (); // zavolajte spätné volanie na súťaž}}}} // // Smer == REVERSE {--Index; if (Index <= 0) {Index = TotalSteps-1; if (OnComplete! = NULL) {OnComplete (); // volanie spätného volania na súťaž}}}} // Smer spätného chodu neplatný Reverse () {if (Direction == FORWARD) {Direction = REVERSE; Index = celkový počet krokov-1; } else {Smer = VPRED; Index = 0; }} // Inicializácia pre RainbowCycle neplatí RainbowCycle (uint8_t interval, smer dir = Vpred) {ActivePattern = RAINBOW_CYCLE; Interval = interval; TotalSteps = 255; Index = 0; Smer = dir; } // Aktualizácia vzoru Rainbow Cycle neplatná RainbowCycleUpdate () {for (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel ((((i * 256 / numPixels ())+Index) & 255))); } šou(); Prírastok (); } // Inicializácia pre Theater Chase neplatí TheaterChase (uint32_t farba1, uint32_t farba2, uint8_t interval, smer dir = Vpred) {ActivePattern = THEATER_CHASE; Interval = interval; TotalSteps = numPixels (); Farba1 = farba1; Farba2 = farba2; Index = 0; Smer = dir; } // Aktualizácia vzoru Theater Chase neplatný TheaterChaseUpdate () {for (int i = 0; i <numPixels (); i ++) {if ((i+Index) % 3 == 0) {setPixelColor (i, Color1); } else {setPixelColor (i, Color2); } } šou(); Prírastok (); } // Inicializácia pre ColorWipe neplatné ColorWipe (uint32_t farba, uint8_t interval, smer dir = Vpred) {ActivePattern = COLOR_WIPE; Interval = interval; TotalSteps = numPixels (); Farba1 = farba; Index = 0; Smer = dir; } // Aktualizujte vzor vymazania farby neplatný ColorWipeUpdate () {setPixelColor (Index, Color1); šou(); Prírastok (); } // Inicializácia pre neplatný skener SCANNNER (uint32_t color1, uint8_t interval) {ActivePattern = SCANNER; Interval = interval; TotalSteps = (numPixels () - 1) * 2; Farba1 = farba1; Index = 0; } // Aktualizácia vzoru skenera neplatná ScannerUpdate () {pre (int i = 0; i > 1, zelená (farba) >> 1, modrá (farba) >> 1); vrátiť dimColor; } // Nastaviť všetky pixely na farbu (synchrónne) neplatné ColorSet (farba uint32_t) {for (int i = 0; i> 16) & 0xFF; } // Vráti zelenú zložku 32-bitovej farby uint8_t Green (farba uint32_t) {return (farba >> 8) & 0xFF; } // Vráti modrú zložku 32-bitovej farby uint8_t Blue (farba uint32_t) {vráti farbu & 0xFF; } // Zadaním hodnoty 0 až 255 získate hodnotu farby. // Farby sú prechodom r - g - b - späť na r. uint32_t Wheel (byte WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return Color (255 - WheelPos * 3, 0, WheelPos * 3); } else if (WheelPos <170) {WheelPos -= 85; vrátiť farbu (0, WheelPos * 3, 255 - WheelPos * 3); } else {WheelPos -= 170; vrátiť farbu (WheelPos * 3, 255 - WheelPos * 3, 0); }}}; neplatné JewelsComplete (); // Definujte niekoľko NeoPattern pre dva prstene a palicu // rovnako ako niektoré rutiny dokončovania NeoPatterns Jewels (14, 1, NEO_GRBW + NEO_KHZ800, & JewelsComplete); const int JAS = 50; // Inicializujte všetko a pripravte sa na spustenie neplatného nastavenia () {Serial.begin (115200); pinMode (2, VSTUP); pinMode (0, VSTUP); // Inicializácia všetkých pixelov Jewels.setBrightness (BRIGHTNESS); Jewels.begin (); // Odštartujte vzor Jewel. TheaterChase (Jewels. Color (255, 50, 0), Jewels. Color (0, 0, 0, 50), 100); } // Hlavná slučka prázdna slučka () {// Aktualizujte šperky. Jewels. Update (); // Prepínanie vzorov stlačením tlačidla: if (digitalRead (2) == HIGH) // Tlačidlo č. 1 bolo stlačené {Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = FADE; Jewels. TotalSteps = 100; Klenoty. Interval = 1; } else if (digitalRead (0) == HIGH) // Tlačidlo č. 2 stlačené {Jewels. Color1 = Jewels. Color (255, 0, 0); Jewels. ActivePattern = SKENER; Jewels. TotalSteps = Jewels.numPixels (); Klenoty. Interval = 100; } else // Späť na normálnu prevádzku {// Obnovte všetky parametre vzoru na normálne hodnoty Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = THEATER_CHASE; Jewels. TotalSteps = Jewels.numPixels (); Klenoty. Interval = 100; }} // ---------------------------------------------- -------------- // Rutiny dokončovania-zavolajú vás po dokončení vzoru // ---------------------- -------------------------------------- // Dokončenie klenotov Spätné volanie neplatné JewelsComplete () {// Náhodná zmena farby pre ďalšie skenovanie //Jewels. Color1 = Jewels. Wheel (random (255)); Jewels. Reverse (); }

Krok 2: Zostavte obvod

Zostavte obvod
Zostavte obvod
Zostavte obvod
Zostavte obvod

Sada pomocných chápadiel tretích rúk môže spôsobiť, že proces spájkovania drôtov s komponentmi je veľmi jednoduchý a zábavný. Ak sadu nemáte, nie je dôvod sa znepokojovať; Vždy môžete použiť pásku alebo plagátový tmel, aby bola vaša doska pri spájkovaní stabilná.

Na spojenie medzi dvoma šperkami NeoPixel použite tenké kúsky lanka (dĺžka asi 6 palcov/15 cm) (schéma v predchádzajúcom kroku). Ak použijete príliš krátke drôty, nebudete môcť umiestniť oči LED dostatočne ďaleko od seba a ak použijete príliš veľa drôtu, vôľa sa vám počas nosenia kostýmu dostane do tváre.

Hlavný okruh bude žiť v oblasti klopy (kde sa hrudník stretne s vašim ramenom), takže pre spojenia medzi prvým šperkom NeoPixel v reťazci a Gemmou budú drôty oveľa dlhšie. Môžete držať drôt až k oblasti očí a vytiahnuť ho, aby ste zmerali vzdialenosť, ktorou by mal drôt prejsť, a potom pridať trochu viac pre vôľu a poistenie.

Na pripojenie medzi zariadením Gemma a bezdrôtovým prijímačom som sa rozhodol použiť prototypovacie vodiče so zásuvkami, pretože bezdrôtový prijímač už má pripojené kolíky záhlavia.

Krok 3: Napájanie z batérie

Napájanie z batérie
Napájanie z batérie
Napájanie z batérie
Napájanie z batérie

Na napájanie obvodu som použil 500mAh lipoly batériu. Ak používate lipoly batériu, je múdre ju chrániť pred poškriabaním, prepichnutím, odreninami, ohnutím a iným zneužitím. Môžete ho zabaliť do pevnej textilnej pásky alebo naň vytvoriť držiak na 3D tlač.

Namiesto toho môžete ľahko použiť držiak 3xAAA (noste ho vo vrecku namiesto vo vnútri klopy).

Krok 4: Šitie vzoru a vystrihovanie látky

Šijacie vzory a textílie na strihanie
Šijacie vzory a textílie na strihanie

Použil som ten istý vzor, ktorý som vytvoril pre prvú verziu tohto kostýmu, ktorou je viacstranové PDF, ktoré sa dlaždicovo vytvára a vytvára vzory.

Zložte látku, zarovnaním okrajových okrajov zarovnajte textíliu a podľa vzoru umiestnite/pripnite kúsky vzoru pozdĺž skladania. Pomocou značkovacej kriedy alebo ceruzky vysledujte prídavok na šev mimo vzorových kúskov (okrem záhybu) asi 3/8 palca/3 cm. Keďže moja tkanina bola tenká, chcel som ju zdvojnásobiť a keďže som vyrobil dve kapucne, nakoniec som z každého kusu vzoru vystrihol štyri v hlavnej tkanine, potom ďalšiu vrstvu gázovou tkaninou, aby som navonok pridal textúru, a nakoniec aj vrstva čiernej látky ako výstelka, ktorá blokuje prichádzajúce svetlo. Myslím, že keby som to plánoval dopredu, mohol by som zhodiť jednu z počiatočných bielych vrstiev a kapucne by sa skladali iba z troch vrstiev, namiesto zo štyroch.

Krok 5: Zostavte kusy látky

Zostavte kusy látky
Zostavte kusy látky
Zostavte kusy látky
Zostavte kusy látky
Zostavte kusy látky
Zostavte kusy látky
Zostavte kusy látky
Zostavte kusy látky

Na každý kus vzoru prišite a prišite šípky/ramenné švy, potom zarovnajte kúsky kapucne a plášťa pozdĺž švu krku pravými stranami k sebe. Šev zošite, rovnako ako šev rovno cez hornú časť kapucne.

Skúste na kapote. Zložte a pripnite surový predný okraj kapucne a zošite ho, aby ste vytvorili úhľadný okraj a kanálik, cez ktorý bude viesť drôt.

Ďalej odstrihnite zaoblený kus čistej čiernej látky, aby zakryl prednú časť kapucne. Práve to podporí obvod a skryje vašu tvár. Pripevnite si ju na miesto, zatiaľ čo nosíte kapucňu, aby vám najlepšie sadla, potom ju ručne alebo strojom prišite k otvoru kapucne.

Krok 6: Nainštalujte obvod v kapote

Nainštalujte obvod v kapucni
Nainštalujte obvod v kapucni

Nasadil som kapotu, zapol obvod a pomocou zrkadla vymyslel najlepšie umiestnenie diód LED. Potom som špendlíkmi označil miesta a opatrne som ich zošil čiernou niťou a pripevnil som montážne otvory na šperkoch NeoPixel k úplne čiernemu prednému panelu. Moje sedia tesne pod mojimi skutočnými očami, vďaka čomu je dobre vidieť okolo nich.

Opláchnite a opakujte, ak vyrábate druhú kapotu.

Krok 7: Oblečte si to

Nosiť to!
Nosiť to!
Nosiť to!
Nosiť to!
Nosiť to!
Nosiť to!
Nosiť to!
Nosiť to!

Ich nosenie je veľmi zábavné. Je ľahké vidieť von a pre ostatných nie je ľahké vidieť vašu tvár. Celé je to celkom pohodlné aj vďaka príliš veľkej kapucni a drôtenému rámu, vďaka ktorému vám predná tkanina nebude visieť na tvári.

Môj priateľ a ja sme ich tento rok nosili na DJ -ovú Halloweensku párty môjho hackerspace a hoci som videl rozhranie pre softvér laserového projektora, nedokázal celkom rozoznať malý text v abeltone, takže sme museli prispôsobiť jeho, aby mal lepší pohľad. Odstránil som čierny látkový panel z horného kúta kapoty a zložil som nadbytok. V tmavej miestnosti ste nemohli skutočne rozlíšiť rozdiel medzi týmito dvoma, aj keď to môžete vidieť na našej spoločnej fotografii vyššie.

Vďaka za prečítanie! Ak sa vám páči tento projekt, mohli by vás zaujímať niektoré z mojich ďalších:

  • 13 Nápadov na difúzne diódy LED
  • Difúzny LED pás s nápisom Arduino/Bluetooth
  • Počítadlo predplatiteľov YouTube s ESP8266
  • Jednoduché zrkadlo Infinity
  • 3 Chyby Arduina pre začiatočníkov

Aby ste držali krok s tým, na čom pracujem, sledujte ma na stránkach YouTube, Instagram, Twitter a Pinterest.

Odporúča: