Sisällysluettelo:

Kauko -ohjattavat LED -silmät ja pukuhuppu: 7 vaihetta (kuvilla)
Kauko -ohjattavat LED -silmät ja pukuhuppu: 7 vaihetta (kuvilla)

Video: Kauko -ohjattavat LED -silmät ja pukuhuppu: 7 vaihetta (kuvilla)

Video: Kauko -ohjattavat LED -silmät ja pukuhuppu: 7 vaihetta (kuvilla)
Video: Kauko-ohjattava LED-työvalo Purelux RC360 Flood, 90 W 2024, Marraskuu
Anonim

Becky SternSeuraa lisää tekijältä:

Verkkokameran yksityisyyden ystävä
Verkkokameran yksityisyyden ystävä
Verkkokameran yksityisyyden ystävä
Verkkokameran yksityisyyden ystävä
Mittanauha Yagi -antenni 3D -tulostetuilla liittimillä
Mittanauha Yagi -antenni 3D -tulostetuilla liittimillä
Mittanauha Yagi -antenni 3D -tulostetuilla liittimillä
Mittanauha Yagi -antenni 3D -tulostetuilla liittimillä
Zodiac -kirjonta
Zodiac -kirjonta
Zodiac -kirjonta
Zodiac -kirjonta

Tietoja: Tekeminen ja jakaminen ovat kaksi suurinta intohimoani! Yhteensä olen julkaissut satoja opetusohjelmia kaikesta mikrokontrollereista neulomiseen. Olen New Yorkin moottoripyöräilijä ja katumaton koiran äiti. My wo… Lisätietoja bekathwiasta »

Twin Jawas! Tupla Orko! Kaksi kummitusvelhoa Bubble-Bobblesta! Tämä pukuhuppu voi olla mikä tahansa LED-silmäinen olento, jonka valitset vain vaihtamalla värejä. Tein tämän projektin ensimmäisen kerran vuonna 2015 erittäin yksinkertaisella piirillä ja koodilla, mutta tänä vuonna halusin luoda päivitetyn version, jossa on samanaikainen animaatioohjaus kahdessa puvussa. Tämä piiri käyttää yhtä yksinkertaista, lähialueen RF-kaukosäädintä kahden vastaanottimen ohjaamiseen samalla taajuudella, ja Arduino-koodi, joka käyttää keskeytyksiä, jotta saadaan aikaan responsiivisia animaatiomuutoksia Bill Earlin opetuskoodin perusteella.

Tätä projektia varten tarvitset:

  • Kaksi NeoPixel -jalokiveä
  • Mikro -ohjain GEMMA M0
  • 315MHz langaton vastaanotin, lukitustyyppi
  • 315 MHz: n langaton RF -kaukosäädin neljässä, kahdessa tai yhden painikkeen kokoonpanossa
  • Silikonipäällysteinen kierrelanka (suositus 30 wg)
  • Juotin ja juote
  • Langanpoistimet
  • Huuhtele leikkurit
  • Pinsetit
  • Auttava kolmannen käden työkalu (valinnainen)
  • Ompelu nastat
  • Räätälöity liitu (valinnainen)
  • 19awg sinkitty teräslanka
  • Paksu kangas hupulle/viitalle (tässä versiossa käytin kahta kerrosta valkoista tupakkangasta ja yhtä kerrosta valkoista juustokangasta, vuorattiin sitten hupun sisäpuoli kiinteällä mustalla valon estämiseksi)
  • Läpikuultava musta kangas kasvopaneelille
  • Ompelukone
  • Sakset
  • Neula ja lanka
  • 3D -tulostin joustavalla filamentilla (valinnainen)

Jos haluat pysyä ajan tasalla siitä, mitä työskentelen, seuraa minua YouTubessa, Instagramissa, Twitterissä, Pinterestissä ja tilaa uutiskirjeeni. Amazon -yhteistyökumppanina ansaitsen hyväksytyistä ostoista, joita teet kumppanilinkkien avulla.

Ennen kuin aloitat, sinun kannattaa lukea seuraavat edellytykset:

  • Esittelyssä Gemma M0
  • NeoPixel Uberguide
  • Ensimmäinen liesituuletinprojekti (rakennettu vuonna 2015 klassisella Gemmalla ilman langatonta ohjausta)
  • Moniajo Arduino pt 3

Vaihe 1: Piirikaavio ja koodi

Piirikaavio ja koodi
Piirikaavio ja koodi

Piiriliitännät ovat seuraavat:

  • Gemma D2 langattomaan vastaanottimeen D0
  • Gemma D0 langattomaan vastaanottimeen D1
  • Gemma 3V langattomaan vastaanottimeen +5V
  • Gemma GND langattomaan vastaanottimeen GND ja NeoPixel -jalokivet GND
  • Gemma D1 - NeoPixel -jalokivetiedot IN
  • Gemma Vout NeoPixel -koruille PWR
  • NeoPixel jewel data OUT muihin NeoPixel Jewel data IN

Katso asennusohjeet seuraavassa vaiheessa.

Koodi perustuu Bill Earlin Arduino-luonnoksen monitehtäviin, ja sitä on muutettu ohjaamaan kahta NeoPixel-jalokiveä kahdella digitaalitulolla. Joten sinun ei tarvitse käyttää langatonta vastaanotinta- voit käyttää sen sijaan itse piirin painikkeita. Lataa tämä Arduino -kooditiedosto tämän vaiheen liitteistä tai kopioi ja liitä täältä tyhjään Arduino -luonnokseen:

#include "Adafruit_NeoPixel.h"

// Tuetut mallityypit: enum -kuvio {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Isän suunnat tuettu: enum direction {FORWARD, REVERSE}; // NeoPattern -luokka - johdettu Adafruit_NeoPixel -luokasta NeoPatterns: public Adafruit_NeoPixel {public: // Jäsenmuuttujat: pattern ActivePattern; // mikä kuvio on käynnissä Suunta; // suunta kuvion suorittamiseksi unsigned long Interval; // millisekuntia päivitysten välillä unsigned long lastUpdate; // sijainnin viimeisin päivitys uint32_t Väri1, Väri2; // Mitä värejä käytetään uint16_t TotalSteps; // kuvion vaiheiden kokonaismäärä uint16_t Index; // nykyinen vaihe kuvion sisällä void (*OnComplete) (); // Takaisinsoitto kuvion valmistuttua // Rakentaja - kutsuu perusluokan konstruktorin alustamaan NeoPatterns -nauhan (uint16_t pikseliä, uint8_t -pin, uint8_t -tyyppi, void (*soittopyyntö) ()): Adafruit_NeoPixel (pikseliä, tappi, tyyppi) {OnComplete = soita takaisin; } // Päivitä kuvio void Update () {if ((millis () - lastUpdate)> Interval) // päivitysaika {lastUpdate = millis (); kytkin (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); tauko; tapaus THEATER_CHASE: TheaterChaseUpdate (); tauko; tapaus COLOR_WIPE: ColorWipeUpdate (); tauko; tapaus SKANNERI: ScannerUpdate (); tauko; tapaus FADE: FadeUpdate (); tauko; oletus: tauko; }}} // Nosta indeksiä ja nollaa lopussa void Lisäys () {if (Suunta == ETEENPÄIN) {Indeksi ++; jos (Hakemisto> = Kokonaisvaiheet) {Indeksi = 0; if (OnComplete! = NULL) {OnComplete (); // soita kokoontumissoittoon}}}} // // Suunta == KÄÄNTÄ { -Indeksi; jos (indeksi <= 0) {indeksi = TotalSteps-1; if (OnComplete! = NULL) {OnComplete (); // soita kilpailun soittopyyntö}}}}} // Käänteinen kuvion suunta void Reverse () {if (Suunta == ETEENPÄIN) {Suunta = KÄÄNTÄ; Indeksi = TotalSteps-1; } else {Suunta = ETEENPÄIN; Indeksi = 0; }} // Alusta RainbowCycle -tyhjäksi RainbowCycle (uint8_t -väli, suunta dir = FORWARD) {ActivePattern = RAINBOW_CYCLE; Väli = väli; Kokonaisvaiheet = 255; Indeksi = 0; Suunta = dir; } // Päivitä Rainbow Cycle Pattern void RainbowCycleUpdate () {for (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel ((((* * 256 / numPixels ()))))+Index) & 255)); } näytä(); Lisäys (); } // Initialize for the Theater Chase void TheaterChase (uint32_t color1, uint32_t color2, uint8_t interval, direction dir = FORWARD) {ActivePattern = THEATER_CHASE; Väli = väli; TotalSteps = numPixels (); Väri1 = väri1; Väri2 = väri2; Indeksi = 0; Suunta = dir; } // Päivitä Theatre Chase Pattern void TheaterChaseUpdate () {for (int i = 0; i <numPixels (); i ++) {if ((i+Index) % 3 == 0) {setPixelColor (i, Color1); } else {setPixelColor (i, väri2); } } näytä(); Lisäys (); } // Alusta ColorWipe -tyhjäksi ColorWipe (uint32_t väri, uint8_t väli, suunta dir = ETEENPÄIN) {ActivePattern = COLOR_WIPE; Väli = väli; TotalSteps = numPixels (); Väri1 = väri; Indeksi = 0; Suunta = dir; } // Päivitä väripyyhintakuvio void ColorWipeUpdate () {setPixelColor (hakemisto, väri1); näytä(); Lisäys (); } // Alusta SCANNNER -mitätön skanneri (uint32_t color1, uint8_t interval) {ActivePattern = SCANNER; Väli = väli; TotalSteps = (lukupikselit () - 1) * 2; Väri1 = väri1; Indeksi = 0; } // Päivitä Scanner Pattern void ScannerUpdate () {for (int i = 0; i > 1, vihreä (väri) >> 1, sininen (väri) >> 1); paluu dimColor; } // Aseta kaikki pikselit väriin (synkronisesti) void ColorSet (uint32_t color) {for (int i = 0; i> 16) & 0xFF; } // Palauttaa 32-bittisen värin vihreän komponentin uint8_t Vihreä (uint32_t väri) {return (väri >> 8) & 0xFF; } // Palauttaa 32-bittisen värin sinisen komponentin uint8_t Blue (uint32_t color) {return color & 0xFF; } // Syötä arvo 0–255 saadaksesi väriarvon. // Värit ovat siirtymä r - g - b - takaisin r: ään. uint32_t Pyörä (tavua WheelPos) {WheelPos = 255 - WheelPos; if (WheelPos <85) {return Color (255 - WheelPos * 3, 0, WheelPos * 3); } muu jos (WheelPos <170) {WheelPos -= 85; palauta väri (0, WheelPos * 3, 255 - WheelPos * 3); } else {WheelPos -= 170; palauta väri (WheelPos * 3, 255 - WheelPos * 3, 0); }}}; void JewelsComplete (); // Määrittele joitain Neo -kuvioita kahdelle renkaalle ja tikulle // sekä muutama viimeistelyrutiini NeoPatterns Jewels (14, 1, NEO_GRBW + NEO_KHZ800 ja & JewelsComplete); const int KIRKKAUS = 50; // Alusta kaikki ja valmistaudu aloittamaan void setup () {Serial.begin (115200); pinMode (2, TULO); pinMode (0, INPUT); // Alusta kaikki pikselit Jewels.setBrightness (BRIGHTNESS); Jalokivet.begin (); // Aloita kuvio Jewels. TheaterChase (Jewels. Color (255, 50, 0), Jewels. Color (0, 0, 0, 50), 100); } // Main loop void loop () {// Päivitä jalokivet. Jalokivet. Päivitä (); // Vaihda kuvioita painikkeen painalluksella: if (digitalRead (2) == HIGH) // Painike #1 painettu {Jewels. Color1 = Jewels. Color (255, 50, 0); Jalokivet. ActivePattern = FADE; Jalokivet. TotalSteps = 100; Jalokivet. Väli = 1; } else if (digitalRead (0) == HIGH) // Painike #2 painettu {Jewels. Color1 = Jewels. Color (255, 0, 0); Jalokivet. ActivePattern = SKANNERI; Jewels. TotalSteps = Jewels.numPixels (); Jalokivet.intervalli = 100; } else // Takaisin normaaliin toimintaan {// Palauta kaikki kuvion parametrit normaaliarvoihin Jewels. Color1 = Jewels. Color (255, 50, 0); Jalokivet. ActivePattern = THEATER_CHASE; Jewels. TotalSteps = Jewels.numPixels (); Jalokivet.intervalli = 100; }} // ---------------------------------------------- -------------- // Valmistumisrutiinit-saat kutsun, kun malli on valmis // ---------------------- -------------------------------------- // Jalokivien valmistumisen takaisinsoitto mitätön JewelsComplete () {// Satunnainen värinmuutos seuraavaa skannausta varten //Jewels. Color1 = Jewels. Wheel (satunnainen (255)); Jalokivet. Käänteinen (); }

Vaihe 2: Kokoa piiri

Kokoa piiri
Kokoa piiri
Kokoa piiri
Kokoa piiri

Joukko auttavia kolmansien käsien tarttujia voi tehdä johtojen juottamisesta osiin erittäin yksinkertaisen ja hauskan. Mutta älä huoli, jos sinulla ei ole sarjaa; voit aina käyttää teippiä tai julistekittiä pitämään laudan vakaana juottamisen aikana.

Käytä ohuita kierrelankakappaleita (noin 6 tuumaa/15 cm) kahden NeoPixel -jalokiven välisiin liitäntöihin (kaavio edellisessä vaiheessa). Jos käytät liian lyhyitä johtoja, et voi sijoittaa LED -silmiäsi riittävän kauas toisistaan, ja jos käytät liikaa lankaa, löysyys joutuu kasvoihisi pukun päällä.

Päävirtapiiri asuu rinta -alueella (jossa rintakehäsi kohtaa olkapääsi), joten ketjun ensimmäisen NeoPixel -jalokiven ja Gemman välisissä yhteyksissä johdot ovat paljon pidempiä. Voit pitää lankaa silmänympärysihollasi ja vetää sen ulos mitataksesi langan kulkumatkan, ja lisää sitten hieman enemmän löysyyttä ja vakuutusta varten.

Yhteyden muodostamiseksi Gemman ja langattoman vastaanottimen välillä päätin käyttää prototyyppijohtoja, joissa on naaraspäät, koska langattomassa vastaanottimessa on jo otsatapit kiinnitettyinä.

Vaihe 3: Akkuvirta

Akun teho
Akun teho
Akun teho
Akun teho

Piirin virtalähteenä käytin 500 mAh: n lipolyakkua. Jos käytät lipolyakkua, se on viisasta suojata naarmuilta, puhkeamiselta, hankauksilta, taipumiselta ja muulta väärinkäytöltä. Voit kääriä sen johonkin tukevaan kangasnauhaan tai tehdä sille 3D -tulostetun pidikkeen.

Voit käyttää sen sijaan helposti 3xAAA -pidikettä (kanna sitä taskussa rinnan sisällä).

Vaihe 4: Kuvion ompelu ja leikkaus

Ompelukuvio ja leikkauskangas
Ompelukuvio ja leikkauskangas

Käytin samaa kuviota, jonka olen luonut tämän puvun ensimmäiseen versioon, joka on monisivuinen PDF, joka laatoitetaan yhteen luodakseni kuviokappaleet.

Taita kangas, kohdista reunojen reunat kohdistaaksesi kankaan jyvät, ja aseta/kiinnitä kuviokappaleet taitetta pitkin merkittyjen mukaisesti. Jäljitä saumanvara kuviokappaleiden ulkopuolella (lukuun ottamatta taitetta) noin 5 cm/8 tuumaa/merkintäliitolla tai lyijykynällä. Koska kangas oli ohutta, halusin kaksinkertaistaa sen, ja koska tein kaksi huppua, päädyin leikkaamaan neljä kutakin kuviokappaletta pääkankaaseen ja sitten toisen kerroksen karkeaa juustokangasta lisäämään tekstuuria ulkopuolelle ja lopulta musta kangas vuorauksena, joka estää valon tulon sisään. Luulen, että jos olisin suunnitellut sitä etukäteen, olisin voinut pudottaa yhden alkuperäisistä valkoisista kerroksista ja huput olisivat koosuneet vain kolmesta kerroksesta neljän sijaan.

Vaihe 5: Kokoa kangaskappaleet

Kokoa kangaskappaleet
Kokoa kangaskappaleet
Kokoa kangaskappaleet
Kokoa kangaskappaleet
Kokoa kangaskappaleet
Kokoa kangaskappaleet
Kokoa kangaskappaleet
Kokoa kangaskappaleet

Kiinnitä ja ompele tikka-/olkasaumat jokaiseen kuviokappaleeseen, kohdista sitten huppu ja viittakappaleet kaulan saumaa pitkin oikeat sivut yhteen. Ompele sauma sekä sauma suoraan hupun yläosan poikki.

Kokeile konepellillä. Käännä ja kiinnitä hupun raaka etureuna ja ompele se alas, jotta saat siistin reunan ja kanavan langan läpi.

Leikkaa seuraavaksi pyöreä, läpikuultava musta kangas, joka peittää hupun etuosan. Tämä tukee piiriä ja peittää kasvosi. Kiinnitä se paikalleen, kun käytät huppu parhaan istuvuuden saavuttamiseksi, ja ompele se sitten käsin tai koneella konepellin aukkoon.

Vaihe 6: Asenna piiri huppuun

Asenna piiri huppuun
Asenna piiri huppuun

Laitoin hupun päälle, käänsin piirin päälle ja käytin peiliä selvittääkseni LEDien parhaan sijainnin. Sitten merkitsin paikat tappeilla ja ompelen varovasti mustalla langalla kiinnittäen NeoPixel -jalokivien asennusreiät pelkkään mustaan etupaneeliin. Omani istuvat aivan todellisten silmieni alla, mikä helpottaa näkemistä niiden ohi.

Huuhtele ja toista, jos teet toisen hupun.

Vaihe 7: Käytä sitä

Pitää sitä päällä!
Pitää sitä päällä!
Pitää sitä päällä!
Pitää sitä päällä!
Pitää sitä päällä!
Pitää sitä päällä!
Pitää sitä päällä!
Pitää sitä päällä!

Näitä on niin hauska käyttää. Se on helppo nähdä ulos, eikä muiden ole helppo nähdä kasvosi. Koko asia on myös melko mukava ylimitoitetun hupun ja lankakehyksen ansiosta, joka estää etukangasta leviämästä kasvoillesi.

Poikaystäväni ja minä käytimme näitä DJ: llä hakkeritilani Halloween -juhlissa tänä vuonna, ja vaikka pystyin näkemään laserprojektoriohjelmiston käyttöliittymän, hän ei kyennyt ymmärtämään pientä tekstiä abeltonissa, joten meidän täytyi mukauttaa hänet saadakseen parempi näkymä. Irrotin mustan kangaspaneelin hupun yläosasta ja taittelin ylimääräisen päälle. Pimeässä huoneessa et todellakaan voinut kertoa eroa näiden kahden välillä, vaikka näet sen yllä olevasta valokuvasta.

Kiitos lukemisesta! Jos pidät tästä projektista, saatat olla kiinnostunut joistakin muista:

  • 13 ideaa LEDien hajottamiseen
  • Hajanainen LED -nauhamerkki Arduinolla/Bluetoothilla
  • YouTuben tilaajalaskuri, jossa ESP8266
  • Helppo Infinity -peili
  • 3 Aloittelijan Arduino -virhettä

Jos haluat pysyä ajan tasalla siitä, mitä työskentelen, seuraa minua YouTubessa, Instagramissa, Twitterissä ja Pinterestissä.

Suositeltava: