Isi kandungan:

Mata LED & Tudung Kostum LED dengan Jauh: 7 Langkah (dengan Gambar)
Mata LED & Tudung Kostum LED dengan Jauh: 7 Langkah (dengan Gambar)

Video: Mata LED & Tudung Kostum LED dengan Jauh: 7 Langkah (dengan Gambar)

Video: Mata LED & Tudung Kostum LED dengan Jauh: 7 Langkah (dengan Gambar)
Video: Праздник. Новогодняя комедия 2024, Julai
Anonim

Oleh bekathwiaBecky SternFollow Lagi oleh pengarang:

Rakan Privasi Kamera Web
Rakan Privasi Kamera Web
Rakan Privasi Kamera Web
Rakan Privasi Kamera Web
Pita Ukur Antena Yagi Dengan Gandingan Bercetak 3D
Pita Ukur Antena Yagi Dengan Gandingan Bercetak 3D
Pita Ukur Antena Yagi Dengan Gandingan Bercetak 3D
Pita Ukur Antena Yagi Dengan Gandingan Bercetak 3D
Sulaman Zodiak
Sulaman Zodiak
Sulaman Zodiak
Sulaman Zodiak

Tentang: Membuat dan berkongsi adalah dua minat terbesar saya! Secara keseluruhan saya telah menerbitkan beratus-ratus tutorial mengenai segala-galanya dari mikrokontroler hingga merajut. Saya penunggang motosikal New York City dan ibu anjing yang tidak bertaubat. My wo… Lebih Lanjut Mengenai bekathwia »

Jawa Berkembar! Double Orko! Dua ahli sihir hantu dari Bubble-Bobble! Tudung kostum ini boleh menjadi makhluk bermata LED yang anda pilih hanya dengan menukar warna. Saya mula-mula membuat projek ini pada tahun 2015 dengan rangkaian dan kod yang sangat sederhana, tetapi tahun ini saya ingin membuat versi yang ditingkatkan dengan kawalan animasi serentak di dua kostum. Litar ini menggunakan satu jarak jauh RF jarak jauh yang mudah untuk mengawal dua penerima pada frekuensi yang sama, dan kod Arduino menggunakan gangguan untuk mencapai perubahan animasi responsif, berdasarkan kod tutorial Bill Earl.

Untuk projek ini, anda memerlukan:

  • Dua Permata NeoPixel
  • Pengawal mikro GEMMA M0
  • Penerima wayarles 315MHz, jenis selak
  • Jauh RF tanpa wayar 315MHz dalam konfigurasi butang empat, dua, atau tunggal
  • Kawat terdampar bersalut silikon (disyorkan 30awg)
  • Pateri dan pateri
  • Pelucut wayar
  • Pemotong siram
  • Pinset
  • Membantu alat tangan ketiga (pilihan)
  • Jahit pin
  • Kapur penjahit (pilihan)
  • Kawat keluli tergalvani 19awg
  • Kain tebal untuk tudung / jubah (untuk versi ini saya menggunakan dua lapisan kain tembakau putih dan satu lapisan kain tipis putih, kemudian melapisi bahagian dalam tudung dengan warna hitam pekat untuk menyekat cahaya)
  • Kain hitam lut untuk panel muka
  • Mesin jahit
  • Gunting
  • Jarum dan benang
  • Pencetak 3D dengan filamen fleksibel (pilihan)

Untuk mengikuti apa yang sedang saya kerjakan, ikuti saya di YouTube, Instagram, Twitter, Pinterest, dan melanggan buletin saya. Sebagai Associate Amazon, saya dapat hasil dari pembelian yang layak yang anda buat menggunakan pautan afiliasi saya.

Sebelum memulakan, anda mungkin ingin membaca prasyarat berikut:

  • Memperkenalkan Gemma M0
  • NeoPixel Uberguide
  • Versi projek tudung pertama (dibina pada tahun 2015 dengan Gemma klasik dan tanpa kawalan tanpa wayar)
  • Multitasking the Arduino pt 3

Langkah 1: Diagram dan Kod Litar

Rajah dan Kod Litar
Rajah dan Kod Litar

Sambungan litar adalah seperti berikut:

  • Gemma D2 ke penerima tanpa wayar D0
  • Gemma D0 ke penerima tanpa wayar D1
  • Gemma 3V ke penerima tanpa wayar + 5V
  • Gemma GND ke penerima wayarles GND dan perhiasan NeoPixel GND
  • Data permata Gemma D1 hingga NeoPixel DI
  • Permata Vout to NeoPixel permata PWR
  • Data permata NeoPixel KELUAR ke data Permata NeoPixel yang lain DI

Lihat langkah seterusnya untuk nota pemasangan.

Kod berdasarkan sketsa Arduino Berbilang Tugas oleh Bill Earl, dan diubah suai untuk mengendalikan dua perhiasan NeoPixel dengan dua input digital. Oleh itu, anda tidak perlu menggunakan penerima tanpa wayar - anda boleh menggunakan butang pada litar itu sendiri. Muat turun fail kod Arduino ini dari lampiran langkah ini, atau salin dan tampal dari sini ke dalam lakaran Arduino kosong:

#masuk "Adafruit_NeoPixel.h"

// Jenis corak disokong: corak enum {NONE, RAINBOW_CYCLE, THEATER_CHASE, COLOR_WIPE, SCANNER, FADE}; // Arahan bapa disokong: arah enum {FORWARD, REVERSE}; // NeoPattern Class - berasal dari kelas Adafruit_NeoPixel kelas NeoPatterns: public Adafruit_NeoPixel {public: // Pemboleh ubah Anggota: pattern ActivePattern; // corak yang mana arah arahan arah; // arah untuk menjalankan corak Selang panjang yang tidak ditandatangani; // milisaat antara kemas kini yang tidak ditandatangani terakhir yang terakhir; // kemas kini terakhir kedudukan uint32_t Color1, Color2; // Warna apa yang digunakan uint16_t TotalSteps; // jumlah langkah dalam pola uint16_t Indeks; // langkah semasa dalam corak batal (* OnComplete) (); // Panggilan balik setelah selesai corak // Konstruktor - panggilan konstruktor kelas asas untuk memulakan jalur NeoPatterns (uint16_t piksel, uint8_t pin, uint8_t type, void (* callback) ()): Adafruit_NeoPixel (piksel, pin, jenis) {OnComplete = panggilan balik; } // Kemas kini corak batal Kemas kini () {if ((millis () - lastUpdate)> Selang) // masa untuk mengemas kini {lastUpdate = millis (); suis (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate (); rehat; kes THEATER_CHASE: TheaterChaseUpdate (); rehat; kes COLOR_WIPE: ColorWipeUpdate (); rehat; case SCANNER: ScannerUpdate (); rehat; kes FADE: FadeUpdate (); rehat; lalai: rehat; }}} // Tingkatkan Indeks dan tetapkan semula pada akhir batal Kenaikan () {if (Arah == KEHADIRAN) {Indeks ++; jika (Indeks> = Jumlah Langkah) {Indeks = 0; jika (OnComplete! = NULL) {OnComplete (); // panggil comlpetion callback}}} lain // Arah == REVERSE {--Index; jika (Indeks <= 0) {Indeks = TotalSteps-1; jika (OnComplete! = NULL) {OnComplete (); // call the comlpetion callback}}}} // Corak arah terbalik tidak sah Reverse () {if (Direction == FORWARD) {Direction = REVERSE; Indeks = TotalSteps-1; } lain {Arah = KEHADIRAN; Indeks = 0; }} // Permulaan untuk RainbowCycle kekosongan RainbowCycle (selang uint8_t, arah dir = FORWARD) {ActivePattern = RAINBOW_CYCLE; Selang = selang; TotalSteps = 255; Indeks = 0; Arah = dir; } // Kemas kini Pola Siklus Pelangi batal RainbowCycleUpdate () {untuk (int i = 0; i <numPixels (); i ++) {setPixelColor (i, Wheel (((i * 256 / numPixels ()) + Index) & 255)); } tunjukkan (); Kenaikan (); } // Permulaan untuk Teater Chase kosong TheaterChase (uint32_t color1, uint32_t color2, uint8_t interval, arah dir = FORWARD) {ActivePattern = THEATER_CHASE; Selang = selang; TotalSteps = numPixels (); Warna1 = warna1; Warna2 = warna2; Indeks = 0; Arah = dir; } // Kemas kini Corak Teater Chase kosong TheaterChaseUpdate () {untuk (int i = 0; i <numPixels (); i ++) {if ((i + Index)% 3 == 0) {setPixelColor (i, Color1); } lain {setPixelColor (i, Color2); }} tunjukkan (); Kenaikan (); } // Permulaan untuk ColorWipe void ColorWipe (warna uint32_t, selang uint8_t, arah dir = FORWARD) {ActivePattern = COLOR_WIPE; Selang = selang; TotalSteps = numPixels (); Warna1 = warna; Indeks = 0; Arah = dir; } // Kemas kini Corak Lap Warna batal ColorWipeUpdate () {setPixelColor (Indeks, Warna1); tunjuk (); Kenaikan (); } // Permulaan untuk SCANNNER void Scanner (uint32_t color1, uint8_t interval) {ActivePattern = SCANNER; Selang = selang; TotalSteps = (numPixels () - 1) * 2; Warna1 = warna1; Indeks = 0; } // Kemas kini Corak Pengimbas batal ScannerUpdate () {untuk (int i = 0; i > 1, Hijau (warna) >> 1, Biru (warna) >> 1); kembali dimColor; } // Tetapkan semua piksel ke warna (serentak) batal ColorSet (warna uint32_t) {untuk (int i = 0; i> 16) & 0xFF; } // Mengembalikan komponen Hijau warna 32-bit uint8_t Hijau (warna uint32_t) {kembali (warna >> 8) & 0xFF; } // Mengembalikan komponen Biru warna 32-bit uint8_t Biru (warna uint32_t) {kembali warna & 0xFF; } // Masukkan nilai 0 hingga 255 untuk mendapatkan nilai warna. // Warna adalah peralihan r - g - b - kembali ke r. uint32_t Wheel (byte WheelPos) {WheelPos = 255 - WheelPos; jika (WheelPos <85) {kembali Warna (255 - WheelPos * 3, 0, WheelPos * 3); } lain jika (WheelPos <170) {WheelPos - = 85; kembali Warna (0, WheelPos * 3, 255 - WheelPos * 3); } lain {WheelPos - = 170; mengembalikan Warna (WheelPos * 3, 255 - WheelPos * 3, 0); }}}; batal Permata Selesai (); // Tentukan beberapa NeoPatterns untuk dua cincin dan tongkat // serta beberapa rutin penyelesaian NeoPatterns Jewels (14, 1, NEO_GRBW + NEO_KHZ800, & JewelsComplete); const int BRIGHTNESS = 50; // Memulakan segalanya dan bersiap untuk memulakan penyediaan kosong () {Serial.begin (115200); pinMode (2, INPUT); pinMode (0, INPUT); // Memulakan semua piksel Jewels.setBrightness (BRIGHTNESS); Permata.begin (); // Mulakan corak Jewels. TheaterChase (Jewels. Color (255, 50, 0), Jewels. Color (0, 0, 0, 50), 100); } // Gelung kekosongan gelung utama () {// Kemas kini permata. Permata. Kemas kini (); // Tukar corak pada butang tekan: if (digitalRead (2) == TINGGI) // Butang # 1 ditekan {Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = FADE; Permata. TotalSteps = 100; Permata. Selang = 1; } lain jika (digitalRead (0) == TINGGI) // Butang # 2 ditekan {Jewels. Color1 = Jewels. Color (255, 0, 0); Jewels. ActivePattern = SCANNER; Jewels. TotalSteps = Jewels.numPixels (); Permata. Selang = 100; } lain // Kembali ke operasi normal {// Kembalikan semua parameter corak ke nilai normal Jewels. Color1 = Jewels. Color (255, 50, 0); Jewels. ActivePattern = THEATER_CHASE; Jewels. TotalSteps = Jewels.numPixels (); Permata. Selang = 100; }} // ---------------------------------------------- -------------- // Rutin Penyelesaian - dipanggil apabila melengkapkan corak // ---------------------- -------------------------------------- // Panggilan Selesai Permata batal JewelsComplete () {// Perubahan warna rawak untuk imbasan seterusnya //Jewels. Color1 = Jewels. Wheel (rawak (255)); Jewels. Reverse (); }

Langkah 2: Litar Pemasangan

Litar Berkumpul
Litar Berkumpul
Litar Berkumpul
Litar Berkumpul

Satu set pencengkam tangan ketiga dapat menjadikan proses pematerian wayar ke komponen sangat mudah dan menyeronokkan. Tetapi jangan risau jika anda tidak mempunyai satu set; anda selalu boleh menggunakan sedikit pita atau dempul poster untuk memastikan papan anda tetap stabil semasa anda menyolder.

Gunakan kepingan nipis dawai (panjang kira-kira 6in / 15cmin) untuk hubungan antara kedua-dua permata NeoPixel (rajah pada langkah sebelumnya). Sekiranya anda menggunakan wayar yang terlalu pendek, anda tidak akan dapat meletakkan mata LED anda dengan jarak yang cukup jauh, dan jika anda menggunakan wayar terlalu banyak, kelonggaran akan muncul di wajah anda semasa anda memakai kostum.

Litar utama akan tinggal di kawasan kerah (di mana dada anda memenuhi bahu anda), jadi untuk sambungan antara permata NeoPixel pertama di rantai dan Gemma, wayar akan lebih lama. Anda boleh memegang wayar ke kawasan mata anda dan menariknya untuk mengukur jarak yang harus dilalui wayar, kemudian menambah sedikit untuk keselamatan dan insurans.

Untuk menghubungkan antara Gemma dan penerima tanpa wayar, saya memilih untuk menggunakan wayar prototaip dengan header wanita, kerana penerima tanpa wayar sudah mempunyai pin header yang terpasang.

Langkah 3: Kuasa Bateri

Kuasa Bateri
Kuasa Bateri
Kuasa Bateri
Kuasa Bateri

Untuk menghidupkan litar, saya menggunakan bateri lipoly 500mAh. Sekiranya menggunakan bateri lipoli, ada baiknya melindunginya dari calar, tusukan, lecet, lenturan, dan penyalahgunaan lain. Anda boleh membungkusnya dengan beberapa pita kain yang kukuh, atau membuat pemegang dicetak 3D untuknya.

Anda boleh menggunakan pemegang 3xAAA dengan mudah (bawa ke dalam poket anda dan bukannya di dalam kerah).

Langkah 4: Corak Jahit & Kain Keratan

Corak Jahit & Kain Keratan
Corak Jahit & Kain Keratan

Saya menggunakan corak yang sama yang saya buat untuk versi pertama kostum ini, iaitu PDF berbilang halaman yang menyatukan bersama untuk membuat potongan corak.

Lipat kain anda, sejajarkan tepi selvedge untuk menyelaraskan butiran kain, dan letakkan / letakkan potongan corak sepanjang lipatan seperti yang ditandai. Jejak elaun jahitan di luar kepingan corak (kecuali lipatan) kira-kira 5 / 8in / 3cm menggunakan kapur penanda atau pensil. Oleh kerana fabrik saya nipis, saya mahu menggandakannya, dan kerana saya membuat dua tudung, saya akhirnya memotong empat setiap potongan corak di kain utama, kemudian lapisan lain dalam kain cheesecloth untuk menambahkan tekstur ke bahagian luar, dan akhirnya lapisan kain hitam sebagai pelapik untuk menyekat cahaya yang masuk. Saya rasa jika saya sudah merancang lebih awal, saya boleh menjatuhkan salah satu lapisan putih awal dan tudung hanya terdiri daripada tiga lapisan masing-masing dan bukannya empat.

Langkah 5: Pasang Potongan Fabrik

Pasangkan Potongan Fabrik
Pasangkan Potongan Fabrik
Pasangkan Potongan Fabrik
Pasangkan Potongan Fabrik
Pasangkan Potongan Fabrik
Pasangkan Potongan Fabrik
Pasangkan Potongan Fabrik
Pasangkan Potongan Fabrik

Pin dan jahit anak panah / jahitan bahu pada setiap bahagian corak, kemudian selaraskan tudung dan kepingan jahitan sepanjang jahitan leher dengan sisi kanan bersama-sama. Jahit jahitan, serta jahitan lurus di bahagian atas tudung.

Cuba tudung. Lipat dan pasangkan tepi depan tudung yang kasar dan jahit ke bawah untuk membuat tepi yang kemas serta saluran untuk dilalui wayar.

Seterusnya, potong sehelai kain hitam bulat untuk menutup bahagian depan tudung. Inilah yang akan menyokong litar dan menyembunyikan wajah anda. Pasangkannya di tempat semasa memakai tudung agar sesuai, kemudian tangan atau mesin menjahitnya ke bukaan tudung.

Langkah 6: Pasang Litar di Hood

Pasang Litar di Hood
Pasang Litar di Hood

Saya memasang tudung, menyalakan litar, dan menggunakan cermin untuk mencari lokasi terbaik untuk LED. Kemudian saya menggunakan pin untuk menandai lokasi dan dijahit dengan teliti menggunakan benang hitam, memasang lubang pemasangan pada permata NeoPixel ke panel depan hitam semata-mata. Milik saya duduk tepat di bawah mata saya yang sebenarnya, yang memudahkan untuk melihat masa lalu.

Bilas dan ulangi jika anda membuat tudung kedua.

Langkah 7: Pakai

Pakai!
Pakai!
Pakai!
Pakai!
Pakai!
Pakai!
Pakai!
Pakai!

Ini sangat menyeronokkan untuk dipakai. Mudah dilihat, dan tidak mudah dilihat oleh orang lain. Keseluruhannya juga cukup selesa, berkat kerangka tudung dan kawat yang terlalu besar, yang menjadikan kain depan tidak menutup kain di wajah anda.

Teman lelaki saya dan saya memakainya untuk DJ pada pesta Halloween hackerspace saya tahun ini, dan sementara saya dapat melihat antara muka untuk perisian projektor laser, dia tidak dapat membuat teks kecil di abelton, jadi kami harus menyesuaikannya dengan pandangan yang lebih baik. Saya mengeluarkan panel kain hitam dari bahagian atas tudung, dan melipat lebihan. Di dalam bilik yang gelap, anda tidak dapat membezakan antara keduanya, walaupun anda dapat melihatnya dalam foto kami bersama di atas.

Terima kasih untuk membaca! Sekiranya anda menyukai projek ini, anda mungkin berminat dengan beberapa projek saya yang lain:

  • 13 Idea untuk Menyebarkan LED
  • Tanda Jalur LED Tersebar Dengan Arduino / Bluetooth
  • Kaunter Pelanggan YouTube dengan ESP8266
  • Cermin Infiniti Mudah
  • 3 Kesalahan Arduino Pemula

Untuk mengikuti apa yang sedang saya kerjakan, ikuti saya di YouTube, Instagram, Twitter, dan Pinterest.

Disyorkan: