Përmbajtje:
2025 Autor: John Day | [email protected]. E modifikuara e fundit: 2025-01-13 06:58
Nga bekathwiaBecky SternNdiqni më shumë nga autori:
Rreth: Krijimi dhe ndarja janë dy pasionet e mia më të mëdha! Në total kam botuar qindra mësime për gjithçka, nga mikrokontrolluesit tek thurja. Unë jam një motoçiklist i Nju Jorkut dhe nëna qen e papenduar. My wo… Më shumë rreth bekathwia »
Binjakët Binjakë! Double Orko! Dy magjistarë fantazmë nga Bubble-Bobble! Ky kapuç kostumesh mund të jetë çdo krijesë me sy LED që zgjidhni vetëm duke ndryshuar ngjyrat. Këtë projekt e kam bërë për herë të parë në 2015 me një qark dhe kod shumë të thjeshtë, por këtë vit doja të krijoja një version të azhurnuar me kontroll animacioni të njëkohshëm në dy kostume. Ky qark përdor një telekomandë të thjeshtë, me rreze të afërt RF për të kontrolluar dy marrës në të njëjtën frekuencë, dhe kodi Arduino përdor ndërprerje për të arritur ndryshime të animacionit të përgjegjshëm, bazuar në kodin udhëzues të Bill Earl.
Për këtë projekt, do t'ju duhet:
- Dy xhevahire NeoPixel
- Mikrokontrollues GEMMA M0
- Marrësi pa tel 315MHz, lloji i fiksimit
- Telekomandë RF me valë 315MHz në konfigurim me katër, dy ose një buton
- Teli i fijeve të veshura me silikon (rekomandohet 30awg)
- Saldim dhe saldim
- Zhveshëset e telave
- Prerës të skuqur
- Piskatore
- Mjet ndihmues i dorës së tretë (opsionale)
- Kunjat e qepjes
- Shkumës rrobaqepës (opsional)
- Teli çeliku i galvanizuar 19awg
- Pëlhurë e trashë për kapuçin/pelerinën (për këtë version kam përdorur dy shtresa pëlhure të bardhë duhani dhe një shtresë napë të bardhë, pastaj e kam veshur pjesën e brendshme të kapakut me ngjyrë të zezë të ngurtë për të bllokuar dritën)
- Pëlhurë e zezë e tejdukshme për panelin e fytyrës
- Makine qepese
- Gërshërë
- Gjilpërë dhe fije
- Printer 3D me fije elastike (opsionale)
Për të vazhduar me atë që po punoj, më ndiqni në YouTube, Instagram, Twitter, Pinterest dhe regjistrohuni në gazetën time. Si një Amazon Associate unë fitoj nga blerjet kualifikuese që bëni duke përdorur lidhjet e mia të filialeve.
Para se të filloni, mund të dëshironi të lexoni parakushtet e mëposhtme:
- Prezantimi i Gemma M0
- NeoPixel Uberguide
- Versioni i parë i projektit të kapakut (ndërtuar në 2015 me Gemma klasike dhe pa kontroll wireless)
- Multitasking Arduino pt 3
Hapi 1: Diagrami dhe Kodi i Qarkut
Lidhjet e qarkut janë si më poshtë:
- Gemma D2 në marrësin pa tel D0
- Gemma D0 tek marrësi pa tel D1
- Gemma 3V në marrës pa tel +5V
- Gemma GND te marrësi pa tel GND dhe xhevahiret NeoPixel GND
- Të dhënat e xhevahirit Gemma D1 në NeoPixel IN
- Gemma Vout te bizhuteritë NeoPixel PWR
- Të dhënat e xhevahirit NeoPixel JASHTI te të dhënave të tjera NeoPixel Jewel IN
Shihni hapin tjetër për shënimet e montimit.
Kodi bazohet në Multi-tasking skicën Arduino nga Bill Earl, dhe modifikuar për të kontrolluar dy xhevahire NeoPixel me dy hyrje dixhitale. Kështu që nuk keni pse të përdorni marrësin pa tel- në vend të tij mund të përdorni butona në vetë qarkun. Shkarkoni këtë skedar të kodit Arduino nga bashkëngjitjet e këtij hapi, ose kopjoni dhe ngjisni nga këtu në një skicë të zbrazët Arduino:
#përfshi "Adafruit_NeoPixel.h"
// Llojet e modeleve të mbështetura: modeli enum {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Udhëzimet atërore të mbështetura: drejtimi enum {PARA, KTHIMI}; // Klasa NeoPattern - rrjedh nga klasa e klasës Adafruit_NeoPixel NeoPatterns: public Adafruit_NeoPixel {public: // Variablat e anëtarëve: modeli ActivePattern; // cili model po drejton drejtimin Drejtimi; // drejtim për të ekzekutuar modelin Interval i gjatë i panënshkruar; // milisekonda mes përditësimeve të panënshkruara long last Update; // përditësimi i fundit i pozicionit uint32_t Color1, Color2; // Cilat ngjyra janë në përdorim uint16_t TotalSteps; // numri i përgjithshëm i hapave në modelin Indeksi uint16_t; // hapi aktual brenda modelit void (*OnComplete) (); // Thirrja në përfundimin e modelit // Ndërtuesi - thërret konstruktorin e klasës bazë për të inicializuar NeoPatterns strip (uint16_t pixel, uint8_t pin, uint8_t type, void (*callback) ()): Adafruit_NeoPixel (pixel, pin, type) {OnComplete = përgjigje në telefon; } // Përditësoni modelin e pavlefshëm Update () {if ((millis () - lastUpdate)> Interval) // koha për të përditësuar {lastUpdate = millis (); switch (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); pushim; rasti THEATER_CHASE: TheaterChaseUpdate (); pushim; rast COLOR_WIPE: ColorWipeUpdate (); pushim; rasti SCANNER: ScannerUpdate (); pushim; rast FADE: FadeUpdate (); pushim; parazgjedhje: pushim; }}} // Rritja e Indeksit dhe rivendosja në fund të pavlefshme Rritja () {if (Drejtimi == PARA) {Indeksi ++; nëse (Indeksi> = Hapat Total) {Indeksi = 0; nëse (OnComplete! = NULL) {OnComplete (); // telefononi sërish thirrjen e konkurrencës}}} tjetër // Drejtimi == KTHIM {--Indeksi; nëse (Indeksi <= 0) {Indeksi = Totali i hapave-1; nëse (OnComplete! = NULL) {OnComplete (); // telefononi sërish thirrjen e konkurrencës}}}} // Drejtimi i modelit të kundërt void Reverse () {if (Drejtimi == PARA) {Drejtimi = KTHIM; Indeksi = Hapat Total-1; } else {Drejtimi = PARA; Indeksi = 0; }} // Filloni për një zbrazëti RainbowCycle RainbowCycle (intervali uint8_t, drejtimi dir = PARA) {ActivePattern = RAINBOW_CYCLE; Intervali = intervali; Totali i hapave = 255; Indeksi = 0; Drejtimi = dir; } // Përditëso modelin e ciklit të ylberit të zbrazët RainbowCycleUpdate () {për (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel ((((i * 256 / numPixels ())+Indeksi) & 255)); } shfaqje(); Rritje (); } // Initialize for a Theater Chase void TheaterChase (uint32_t color1, uint32_t color2, uint8_t interval, direction dir = FORWARD) {ActivePattern = THEATER_CHASE; Intervali = intervali; TotalSteps = numPixels (); Ngjyra1 = ngjyra1; Ngjyra2 = ngjyra2; Indeksi = 0; Drejtimi = dir; } // Update the Theater Chase Pattern void TheaterChaseUpdate () {for (int i = 0; i <numPixels (); i ++) {if ((i+Index) % 3 == 0) {setPixelColor (i, Color1); } else {setPixelColor (i, Color2); } } shfaqje(); Rritje (); } // Filloni për një ColorWipe void ColorWipe (ngjyra uint32_t, intervali uint8_t, drejtimi dir = PARA) {ActivePattern = COLOR_WIPE; Intervali = intervali; TotalSteps = numPixels (); Ngjyra1 = ngjyra; Indeksi = 0; Drejtimi = dir; } // Përditëso modelin e fshirjes së ngjyrave void ColorWipeUpdate () {setPixelColor (Indeksi, Ngjyra1); shfaqje(); Rritje (); } // Inicimi për një Skaner të zbrazët SCANNNER (uint32_t color1, uint8_t interval) {ActivePattern = SCANNER; Intervali = intervali; Totali i hapave = (numPixels () - 1) * 2; Ngjyra1 = ngjyra1; Indeksi = 0; } // Përditëso modelin e skanerit të pavlefshëm ScannerUpdate () {për (int i = 0; i
Hapi 2: Mblidhni qarkun
Një grup ndihmësish për kapëset e dorës së tretë mund ta bëjë procesin e bashkimit të telave në përbërës shumë të drejtpërdrejtë dhe argëtues. Por mos u shqetësoni nëse nuk keni një komplet; ju gjithmonë mund të përdorni ndonjë kasetë ose stuko posteri për ta mbajtur bordin tuaj të qëndrueshëm gjatë lidhjes.
Përdorni copa të holla të telit të bllokuar (rreth 6 in/15cmin gjatësi) për lidhjet midis dy xhevahireve NeoPixel (diagrami në hapin e mëparshëm). Nëse përdorni tela shumë të shkurtër, nuk do të jeni në gjendje t'i vendosni sytë tuaj LED mjaft larg njëri -tjetrit, dhe nëse përdorni shumë tela, plogështia do të bjerë në fytyrën tuaj ndërsa jeni të veshur me kostum.
Qarku kryesor do të jetojë në zonën e xhupit (ku gjoksi takon shpatullën tuaj), kështu që për lidhjet midis xhevahirit të parë NeoPixel në zinxhir dhe Gemma, telat do të jenë shumë më të gjata. Ju mund ta mbani tela deri në zonën e syve tuaj dhe ta tërhiqni atë për të matur distancën që tela duhet të përshkojë, pastaj shtoni pak më shumë për zbehje dhe sigurim.
Për t'u lidhur midis Gemma dhe marrësit pa tel, zgjodha të përdor tela prototipizimi me tituj femra, pasi marrësi pa tel tashmë ka bashkëngjitur kunjat e kokës.
Hapi 3: Fuqia e baterisë
Për të fuqizuar qarkun, kam përdorur një bateri lipoly 500mAh. Nëse përdorni një bateri lipolike, është e mençur ta mbroni atë nga gërvishtjet, shpimet, gërryerjet, përkuljet dhe abuzimet e tjera. Mund ta mbështillni me ndonjë kasetë të fortë prej pëlhure, ose të bëni një mbajtëse të printuar 3D për të.
Ju mund të përdorni me lehtësi një mbajtëse 3xAAA (mbajeni atë në xhepin tuaj në vend të jakës së xhupit).
Hapi 4: Modeli i Qepjes & Prerja e Pëlhurës
Kam përdorur të njëjtin model që kam krijuar për versionin e parë të këtij kostumi, i cili është një PDF me shumë faqe që bashkohet së bashku për të krijuar pjesët e modelit.
Palosni pëlhurën tuaj, duke i rreshtuar skajet e vegjël për të përafruar kokrrën e rrobave dhe vendosni/vendosni pjesët e modelit të kunjave përgjatë palosjes siç është shënuar. Gjurmoni një shtresë qepjeje jashtë pjesëve të modelit (përveç palosjes) prej rreth 5/8 in/3cm duke përdorur një shkumës ose laps shënues. Meqenëse pëlhura ime ishte e hollë, doja ta dyfishoja, dhe meqë bëra dy kapuçë, përfundova duke prerë katër nga secila pjesë e modelit në pëlhurën kryesore, pastaj një shtresë tjetër në napë gauzy për të shtuar cilësi në pjesën e jashtme, dhe në fund një shtresa prej pëlhure të zezë si rresht për të bllokuar dritën që vjen. Mendoj se nëse e kisha planifikuar më parë për këtë, mund të kisha hequr njërën nga shtresat fillestare të bardha dhe kapakët do të përbëheshin nga vetëm tre shtresa secila në vend të katër.
Hapi 5: Mblidhni Copa Pëlhure
Mbërtheni dhe qepni shigjetat/qepjet e shpatullave në secilën pjesë të modelit, pastaj rreshtoni pjesët e kapakut dhe kapës përgjatë qepjes së qafës me anët e djathta së bashku. Qepni shtresën, si dhe një qepje drejtpërsëdrejti në majë të kapakut.
Provoni kapuçin. Përkuluni dhe fiksojeni skajin e parë të papërpunuar të kapakut dhe qepeni atë për të krijuar një skaj të pastër, si dhe një kanal që të kalojë një tel.
Tjetra, prerë një copë pëlhurë të zezë të tejdukshme për të mbuluar pjesën e përparme të kapakut. Kjo është ajo që do të mbështesë qarkun dhe do të fshehë fytyrën tuaj. Mbërtheni atë në vend ndërsa mbani kapuçin për përshtatjen më të mirë, pastaj qepeni me dorë ose makinë në hapjen e kapakut.
Hapi 6: Instaloni qarkun në kapuç
Vendosa kapuçin, ndeza qarkun dhe përdorja një pasqyrë për të zbuluar vendndodhjen më të mirë për LED. Pastaj kam përdorur kunjat për të shënuar vendet dhe i kam qepur me kujdes duke përdorur fije të zeza, duke i bashkuar vrimat e montimit në xhevahirët NeoPixel në panelin e përparmë të zi të tejdukshëm. Të miat ulen pikërisht nën sytë e mi të vërtetë, gjë që e bën të lehtë të shohësh përtej tyre.
Shpëlajeni dhe përsëritni nëse jeni duke bërë një kapuç të dytë.
Hapi 7: Vishni
Këto janë shumë argëtuese për tu veshur. Easyshtë e lehtë të shikosh jashtë, dhe nuk është e lehtë për të tjerët të shohin fytyrën tënde. E gjithë gjëja është gjithashtu shumë e rehatshme, falë kapakut të tepërt dhe kornizës së telit, e cila mban pëlhurën e përparme të mos përkulet në fytyrën tuaj.
I dashuri im dhe unë i veshëm këto në DJ të festës së Halloween -it në hackerspace këtë vit, dhe ndërsa mund të shihja ndërfaqen për programin e projektorit lazer, ai nuk mund ta kuptonte fare tekstin e vogël në abelton, kështu që ne duhej ta përshtatnim atë për të pasur një pamje me e mire. E hoqa panelin e rrobave të zeza nga pjesa e sipërme e kapakut dhe e palosa mbi tepricën. Në një dhomë të errët, nuk mund ta dallonit vërtet ndryshimin midis të dyve, megjithëse mund ta shihni në foton tonë së bashku më sipër.
Faleminderit per leximin! Nëse ju pëlqen ky projekt, mund të jeni të interesuar për disa nga të tjerët e mi:
- 13 ide për shpërndarjen e LED -ve
- Shenjë e Shiritit të Shpërndarë LED Me Arduino/Bluetooth
- Numëruesi i pajtimtarëve të YouTube me ESP8266
- Pasqyrë e lehtë e pafundësisë
- 3 Gabime Arduino fillestare
Për të vazhduar me atë që po punoj, më ndiqni në YouTube, Instagram, Twitter dhe Pinterest.