Sisukord:

Kaugjuhtimisega LED -silmad ja kostüümikapp: 7 sammu (piltidega)
Kaugjuhtimisega LED -silmad ja kostüümikapp: 7 sammu (piltidega)

Video: Kaugjuhtimisega LED -silmad ja kostüümikapp: 7 sammu (piltidega)

Video: Kaugjuhtimisega LED -silmad ja kostüümikapp: 7 sammu (piltidega)
Video: ДЕШЕВАЯ камера УДИВИЛА после ОБНОВЛЕНИЯ, начала СЛЕДИТЬ ЗА ЛЮДЬМИ!!! 2024, Juuli
Anonim

Becky Stern Jälgi autori lisateavet:

Veebikaamera privaatsussõber
Veebikaamera privaatsussõber
Veebikaamera privaatsussõber
Veebikaamera privaatsussõber
Mõõdulint Yagi antenn 3D -prinditud haakeseadistega
Mõõdulint Yagi antenn 3D -prinditud haakeseadistega
Mõõdulint Yagi antenn 3D -prinditud haakeseadistega
Mõõdulint Yagi antenn 3D -prinditud haakeseadistega
Tähtkuju tikandid
Tähtkuju tikandid
Tähtkuju tikandid
Tähtkuju tikandid

Teave: tegemine ja jagamine on minu kaks suurimat kirge! Kokku olen avaldanud sadu õpetusi kõige kohta alates mikrokontrolleritest kuni kudumiseni. Olen New Yorgi mootorrattur ja kahetsusväärne koeraema. Minu häda … Lisateave bekathwia kohta »

Kaksik Jawas! Topelt Orko! Kaks kummitus võlurit Bubble-Bobble'ist! See kostüüm võib olla ükskõik milline LED-silmadega olend, kelle valite lihtsalt värve muutes. Esmakordselt tegin selle projekti 2015. aastal väga lihtsa vooluahela ja koodiga, kuid sel aastal tahtsin luua täiendatud versiooni, millel on samaaegne animatsiooni juhtimine kahe kostüümi vahel. See vooluahel kasutab ühte lihtsat, lähedase raadiosagedusliku kaugjuhtimispuldiga kahe sama sagedusega vastuvõtja juhtimist ning Arduino kood, mis kasutab katkestusi, et saavutada reageerivaid animatsioonimuutusi, tuginedes Bill Earli õpetuskoodile.

Selle projekti jaoks vajate:

  • Kaks NeoPixeli juveeli
  • GEMMA M0 mikrokontroller
  • 315MHz traadita vastuvõtja, lukustustüüp
  • 315MHz juhtmevaba RF -kaugjuhtimispult nelja, kahe või ühe nupuvajutusega
  • Silikoonkattega keerdtraat (soovitatav 30wg)
  • Jootekolb ja jootekolb
  • Traadi eemaldajad
  • Loputuslõikurid
  • Pintsetid
  • Abistav kolmanda käe tööriist (valikuline)
  • Õmblusnõelad
  • Rätsepa kriit (valikuline)
  • 19awg tsingitud terastraat
  • Paks riie kapuutsi/keepi jaoks (selle versiooni puhul kasutasin kahte kihti valget tubakakangast ja ühte kihti valget marli, seejärel vooderdasin kapuutsi sisemuse valguse blokeerimiseks musta värviga)
  • Läbipaistev must kangas näopaneelile
  • Õmblusmasin
  • Käärid
  • Nõel ja niit
  • 3D -printer paindliku hõõgniidiga (valikuline)

Tööga kursis hoidmiseks jälgige mind YouTube'is, Instagramis, Twitteris, Pinterestis ja tellige minu uudiskiri. Amazoni sidusettevõttena teenin kvalifitseeritud ostudest, mille teete minu sidusettevõtte linkide abil.

Enne alustamist võiksite lugeda järgmisi eeltingimusi:

  • Tutvustame Gemma M0
  • NeoPixel Uberguide
  • Kapotiprojekti esimene versioon (ehitatud 2015. aastal klassikalise Gemma ja juhtmevaba juhtimiseta)
  • Arduino pt multitegumtöötlus 3

Samm: vooluahela skeem ja kood

Vooluahela skeem ja kood
Vooluahela skeem ja kood

Vooluahela ühendused on järgmised:

  • Gemma D2 traadita vastuvõtjale D0
  • Gemma D0 traadita vastuvõtjale D1
  • Gemma 3V traadita vastuvõtjale +5V
  • Gemma GND traadita vastuvõtjale GND ja NeoPixeli juveele GND
  • Gemma D1 kuni NeoPixeli juveeli andmed IN
  • Gemma Vout NeoPixeli juveelidele PWR
  • NeoPixel juveeli andmed OUT teistele NeoPixel Jewel andmetele IN

Monteerimismärkmete saamiseks vaadake järgmist sammu.

Kood põhineb Bill Earli Arduino visandi mitme ülesande täitmisel ja seda on muudetud kahe NeoPixeli juveeli juhtimiseks kahe digitaalse sisendiga. Nii et te ei pea traadita vastuvõtjat kasutama- võite selle asemel kasutada vooluahela enda nuppe. Laadige see Arduino koodifail selle sammu manustest alla või kopeerige ja kleepige siit tühjale Arduino visandile:

#include "Adafruit_NeoPixel.h"

// Toetatud mustritüübid: enum muster {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Toetatud isa juhised: enum direction {FORWARD, REVERSE}; // NeoPattern klass - tuletatud klassi Adafruit_NeoPixel klassist NeoPatterns: public Adafruit_NeoPixel {public: // Liikme muutujad: muster ActivePattern; // milline muster jookseb Suund; // suund mustri käivitamiseks unsigned long Interval; // millisekundid uuenduste vahel unsigned long lastUpdate; // positsiooni viimane uuendus uint32_t Värv1, Värv2; // Millised värvid on kasutusel uint16_t TotalSteps; // mustri sammude koguarv uint16_t Index; // praegune samm mustri sees void (*OnComplete) (); // Tagasihelistamine mustri valmimisel // Konstruktor - kutsub baasklassi konstruktori riba NeoPatterns initsialiseerima (uint16_t pikslit, uint8_t tihvti, uint8_t tüüpi, void (*tagasihelistamine) ()): Adafruit_NeoPixel (pikslit, tihvt, tüüp) {OnComplete = helista tagasi; } // Värskenda mustrit tühine Update () {if ((millis () - lastUpdate)> Interval) // värskendamise aeg {lastUpdate = millis (); switch (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); murda; juhtum THEATER_CHASE: TheaterChaseUpdate (); murda; juhtum COLOR_WIPE: ColorWipeUpdate (); murda; juhtum SKANNER: ScannerUpdate (); murda; juhtum FADE: FadeUpdate (); murda; vaikimisi: murda; }}} // Suurendage indeksit ja lähtestage lõpus void Suurendus () {if (Direction == FORWARD) {Index ++; kui (Indeks> = KokkuSteps) {Indeks = 0; if (OnComplete! = NULL) {OnComplete (); // helista kokkukutsumisele tagasihelistamine}}} else // Suund == PÖÖRDAMINE - -Indeks; kui (Indeks <= 0) {Indeks = TotalSteps-1; if (OnComplete! = NULL) {OnComplete (); // helista kokkukutsumisele tagasihelistamine}}}} // Mustri pöördsuuna tagasivõtmine tühine Reverse () {if (Direction == FORWARD) {Direction = REVERSE; Indeks = TotalSteps-1; } else {Suund = EDASI; Indeks = 0; }} // initsialiseeri RainbowCycle tühjaks RainbowCycle (uint8_t intervall, suund dir = FORWARD) {ActivePattern = RAINBOW_CYCLE; Intervall = intervall; KokkuSteps = 255; Indeks = 0; Suund = dir; } // Värskenda Rainbow Cycle Pattern void RainbowCycleUpdate () {for (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel ((((i * 256 / numPixels ())))+Index) & 255)); } show (); Suurendus (); } // Teatri tagaajamise initsialiseerimine tühine TheaterChase (uint32_t color1, uint32_t color2, uint8_t intervall, suund dir = FORWARD) {ActivePattern = THEATER_CHASE; Intervall = intervall; KokkuSteps = numPixels (); Värv1 = värv1; Värv2 = värv2; Indeks = 0; Suund = dir; } // Värskendage Theatre Chase'i mustrit void TheaterChaseUpdate () {for (int i = 0; i <numPixels (); i ++) {if ((i+Index) % 3 == 0) {setPixelColor (i, Color1); } else {setPixelColor (i, värv2); }} show (); Suurendus (); } // Initsialiseeri ColorWipe tühjaks ColorWipe (uint32_t värv, uint8_t intervall, suund dir = FORWARD) {ActivePattern = COLOR_WIPE; Intervall = intervall; KokkuSteps = numPixels (); Värv1 = värv; Indeks = 0; Suund = dir; } // Värskendage värvipühkimismustrit void ColorWipeUpdate () {setPixelColor (indeks, värv1); näita (); Suurendus (); } // Initsialiseeri SCANNNER void Scanner (uint32_t color1, uint8_t interval) {ActivePattern = SCANNER; Intervall = intervall; KokkuSteps = (arvPikslid () - 1) * 2; Värv1 = värv1; Indeks = 0; } // Skannerimustri värskendamine tühine ScannerUpdate () {for (int i = 0; i > 1, roheline (värv) >> 1, sinine (värv) >> 1); return dimColor; } // Määra kõik pikslid värviks (sünkroonselt) void ColorSet (uint32_t color) {for (int i = 0; i> 16) & 0xFF; } // Tagastab 32-bitise värvi rohelise komponendi uint8_t Green (uint32_t color) {return (värv >> 8) & 0xFF; } // Tagastab 32-bitise värvi sinise komponendi uint8_t Blue (uint32_t color) {return color & 0xFF; } // Värviväärtuse saamiseks sisestage väärtus 0 kuni 255. // Värvid on üleminek r - g - b - tagasi r. uint32_t Ratas (bait 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); } muu {WheelPos -= 170; tagastusvärv (WheelPos * 3, 255 - WheelPos * 3, 0); }}}; void JewelsComplete (); // Määrake kahe rõnga ja pulga jaoks mõned NeoPatternid // samuti mõned lõpuleviimiskavad NeoPatterns Jewels (14, 1, NEO_GRBW + NEO_KHZ800 ja & JewelsComplete); const int Heledus = 50; // Initsialiseerige kõik ja valmistuge tühja seadistamise alustamiseks () {Serial.begin (115200); pinMode (2, INPUT); pinMode (0, INPUT); // Initsialiseeri kõik pikslid Jewels.setBrightness (BRIGHTNESS); Jewels.begin (); // Alusta mustri juveele. TeaterChase (Jewels. Color (255, 50, 0), Jewels. Color (0, 0, 0, 50), 100); } // Main loop void loop () {// Uuendage juveele. Juveelid. Uuenda (); // Mustrite vahetamine nupuvajutusel: if (digitalRead (2) == HIGH) // Nupp #1 vajutatud {Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = FADE; Juveelid. TotalSteps = 100; Juveelid. Intervall = 1; } else if (digitalRead (0) == HIGH) // Nupp #2 vajutatud {Jewels. Color1 = Jewels. Color (255, 0, 0); Jewels. ActivePattern = SKANNER; Jewels. TotalSteps = Juveelid.numPikslid (); Juveelid. Intervall = 100; } else // Tagasi tavarežiimi juurde {// Taasta kõik mustri parameetrid normaalväärtustele Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = THEATER_CHASE; Jewels. TotalSteps = Juveelid.numPikslid (); Juveelid. Intervall = 100; }} // ---------------------------------------------- -------------- // Lõpetamise rutiin-helistage mustri valmimisel // ---------------------- -------------------------------------- // Juveelide lõpetamise tagasihelistamine tühine JewelsComplete () {// Juhuslik värvimuutus järgmiseks skannimiseks //Jewels. Color1 = Juveelid. Ratas (juhuslik (255)); Jewels. Reverse (); }

Samm: ühendage ahel kokku

Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku
Pange vooluring kokku

Abistavate kolmandate käte haaratsite komplekt võib muuta juhtmete komponentide külge jootmise väga lihtsaks ja lõbusaks. Kuid ärge muretsege, kui teil pole komplekti; jootmise ajal saate oma plaadi stabiilsena hoidmiseks alati kasutada teipi või plakatit.

Kasutage kahe NeoPixeli juveeli ühendamiseks õhukesi keerdtraaditükke (pikkus umbes 6 tolli/15 cm) (diagramm eelmises etapis). Kui kasutate liiga lühikesi juhtmeid, ei saa te oma LED -silmi üksteisest piisavalt kaugele asetada ja kui kasutate liiga palju juhtmeid, satub lõtk kostüümi kandmisel näkku.

Peavooluahel asub revimipiirkonnas (seal, kus rindkere vastab õlale), nii et keti esimese NeoPixeli juveeli ja Gemma vaheliste ühenduste puhul on juhtmed palju pikemad. Võite hoida traati silmaümbruseni ja tõmmata see välja, et mõõta traadi läbisõidu kaugust, seejärel lisage natuke rohkem lõtvuse ja kindlustuse jaoks.

Gemma ja traadita vastuvõtja vahel ühenduse loomiseks otsustasin kasutada naissoost päistega prototüüpimisjuhtmeid, kuna traadita vastuvõtjale on juba kinnitatud päisepoldid.

3. samm: akutoide

Aku võimsus
Aku võimsus
Aku võimsus
Aku võimsus

Vooluahela toiteks kasutasin 500mAh lipoly aku. Kui kasutate lipoolekut, on mõistlik kaitsta seda kriimustuste, torgete, hõõrdumiste, painutamise ja muu kuritarvitamise eest. Võite selle mähkida mõnda tugevasse kangasteipi või teha selle jaoks 3D -prinditud hoidiku.

Selle asemel saate hõlpsalt kasutada 3xAAA hoidikut (kandke seda taskus, mitte retuusi sees).

4. samm: mustri õmblemine ja kanga lõikamine

Õmblusmuster ja lõikekangas
Õmblusmuster ja lõikekangas

Kasutasin sama mustrit, mille lõin selle kostüümi esimese versiooni jaoks, mis on mitmeleheline PDF, mis mustritükkide loomiseks kokku pannakse.

Voldige kangas kokku, joondades servade servad kanga terade joondamiseks, ja asetage/tihvtmustritükid mööda voldikut nagu märgitud. Jälgige õmblusvaru väljaspool mustritükke (välja arvatud volt) umbes 5/8in/3cm, kasutades märgistuskriiti või pliiatsit. Kuna mu kangas oli õhuke, tahtsin seda kahekordistada ja kuna tegin kaks kapuutsi, lõikasin põhikangas igast mustritükist neli tükki, seejärel veel ühe kihi gaasilises marli, et lisada tekstuuri väljastpoolt ja lõpuks kiht musta kangast vooderdina, et takistada valguse sissetulekut. Ma arvan, et kui ma oleksin seda ette planeerinud, oleksin võinud ühe esialgse valge kihi maha jätta ja kapuuts oleks koosnenud ainult kolmest kihist nelja asemel.

Samm: ühendage kangatükid

Pane kokku kangatükid
Pane kokku kangatükid
Pane kokku kangatükid
Pane kokku kangatükid
Pane kokku kangatükid
Pane kokku kangatükid
Pane kokku kangatükid
Pane kokku kangatükid

Kinnitage ja õmble igale mustritükile noolemäng/õlaõmblused, seejärel joondage kapuutsi- ja keebitükid mööda kaelaõmblust paremate külgedega. Õmble õmblus, samuti õmblus otse üle kapoti ülaosa.

Proovige kapuutsi peal. Pöörake kapoti toores esiserv kokku ja kinnitage see kinni ning õmblege see alla, et tekiks puhas serv ja kanal traadi läbimiseks.

Seejärel lõigake õhuke must kangas ümmargune tükk, mis katab kapoti esiosa. See toetab vooluringi ja peidab teie näo. Kinnitage see kapoti kandmise ajal oma kohale, et see sobiks kõige paremini, seejärel õmblege käsitsi või masinaga see kapoti ava külge.

6. samm: paigaldage vooluring kapuutsile

Paigaldage vooluring kapuutsi
Paigaldage vooluring kapuutsi

Panin kapoti peale, lülitasin vooluringi sisse ja kasutasin peegli abil LED -ide jaoks parimat asukohta. Seejärel kasutasin asukohtade märkimiseks tihvte ja õmblesin ettevaatlikult musta niidi abil, kinnitades NeoPixeli juveelide kinnitusavad mustale esipaneelile. Minu omad istuvad mu päris silmade all, mistõttu on neist hõlbus näha.

Loputage ja korrake, kui teete teist kapuutsi.

7. samm: kandke seda

Kanna seda!
Kanna seda!
Kanna seda!
Kanna seda!
Kanna seda!
Kanna seda!
Kanna seda!
Kanna seda!

Neid on nii lõbus kanda. Seda on lihtne näha ja teistel pole lihtne teie nägu näha. Kogu asi on ka üsna mugav tänu ülemõõdulisele kapuutsile ja traatraamile, mis hoiab esikangast näole kinni.

Mu poiss -sõber kandis neid sel aastal DJ -ga minu häkkeriruumi Halloweeni peol ja kuigi ma nägin laserprojektori tarkvara liidest, ei suutnud ta abeltoni pisikest teksti päris hästi välja selgitada, seega pidime tema kohandama, et parem vaade. Eemaldasin musta riidest paneeli kapoti ülemisest otsast ja voldin üleliigse kokku. Pimedas ruumis ei suutnud te nende kahe vahel vahet teha, kuigi näete seda ülaltoodud fotol, kus me koos oleme.

Täname lugemise eest! Kui teile see projekt meeldib, võite olla huvitatud mõnest mu projektist:

  • 13 ideed valgusdioodide hajutamiseks
  • Hajutatud LED -riba märk Arduino/Bluetoothiga
  • YouTube'i tellijate loendur ESP8266 abil
  • Lihtne lõpmatuse peegel
  • 3 algaja Arduino viga

Tööga kursis hoidmiseks jälgige mind YouTube'is, Instagramis, Twitteris ja Pinterestis.

Soovitan: