فهرست مطالب:

چشم از راه دور و کاپشن لباس: 7 مرحله (همراه با تصاویر)
چشم از راه دور و کاپشن لباس: 7 مرحله (همراه با تصاویر)

تصویری: چشم از راه دور و کاپشن لباس: 7 مرحله (همراه با تصاویر)

تصویری: چشم از راه دور و کاپشن لباس: 7 مرحله (همراه با تصاویر)
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, جولای
Anonim

توسط bekathwia بیکی استرن بیشتر توسط نویسنده دنبال کنید:

دوربین حریم خصوصی دوست
دوربین حریم خصوصی دوست
دوربین حریم خصوصی دوست
دوربین حریم خصوصی دوست
نوار اندازه گیری آنتن Yagi با اتصال دهنده های چاپ سه بعدی
نوار اندازه گیری آنتن Yagi با اتصال دهنده های چاپ سه بعدی
نوار اندازه گیری آنتن Yagi با اتصال دهنده های چاپ سه بعدی
نوار اندازه گیری آنتن Yagi با اتصال دهنده های چاپ سه بعدی
زودیاک دوزی
زودیاک دوزی
زودیاک دوزی
زودیاک دوزی

درباره: ساختن و به اشتراک گذاری دو بزرگترین علاقه من است! در مجموع صدها آموزش درباره همه چیز از میکروکنترلرها تا بافندگی منتشر کرده ام. من یک موتور سوار نیویورک و مادر سگ پشیمان نیستم. My wo… بیشتر درباره bekathwia »

جوا دوقلو! دونفره اورکو! دو جادوگر شبح از Bubble-Bobble! این هود لباس می تواند هر موجودی با چشم LED باشد که فقط با تغییر رنگ انتخاب می کنید. من اولین بار این پروژه را در سال 2015 با یک مدار و کد بسیار ساده ساختم ، اما امسال می خواستم یک نسخه ارتقا یافته با کنترل انیمیشن همزمان در دو لباس ایجاد کنم. این مدار از یک ریموت RF ساده و برد نزدیک برای کنترل دو گیرنده با فرکانس یکسان و کد آردوینو با استفاده از وقفه برای دستیابی به تغییرات متحرک متحرک ، بر اساس کد آموزشی بیل ارل استفاده می کند.

برای این پروژه ، شما نیاز دارید:

  • دو جواهر NeoPixel
  • میکروکنترلر GEMMA M0
  • گیرنده بی سیم 315 مگاهرتز ، نوع اتصال
  • ریموت RF بی سیم 315 مگاهرتز در چهار ، دو یا یک دکمه پیکربندی می شود
  • سیم رشته دار با روکش سیلیکون (30awg توصیه می شود)
  • لحیم کاری و لحیم کاری
  • استریپرهای سیم
  • دستگاه های برش فلاش
  • موچین
  • کمک ابزار دست سوم (اختیاری)
  • سوزن دوزی
  • گچ خیاطی (اختیاری)
  • سیم فولادی گالوانیزه 19awg
  • پارچه ضخیم برای هود/شنل (برای این نسخه از دو لایه پارچه تنباکو سفید و یک لایه پارچه سفید استفاده کردم ، سپس داخل کاپوت را با مشکی کامل پوشانده ام تا نور را مسدود کند)
  • پارچه مشکی شفاف برای پنل صورت
  • چرخ خیاطی
  • قیچی
  • سوزن و نخ
  • چاپگر سه بعدی با رشته انعطاف پذیر (اختیاری)

برای ادامه کار با من ، در یوتیوب ، اینستاگرام ، توییتر ، Pinterest من را دنبال کنید و در خبرنامه من مشترک شوید. من به عنوان یک همکار آمازون از خریدهای واجد شرایطی که با استفاده از پیوندهای وابسته من انجام می دهید ، درآمد کسب می کنم.

قبل از شروع ، ممکن است بخواهید پیش نیازهای زیر را مطالعه کنید:

  • معرفی Gemma M0
  • NeoPixel Uberguide
  • اولین نسخه پروژه هود (ساخته شده در سال 2015 با Gemma کلاسیک و بدون کنترل بی سیم)
  • چند وظیفه ای Arduino pt 3

مرحله 1: نمودار و کد مدار

نمودار و کد مدار
نمودار و کد مدار

اتصالات مدار به شرح زیر است:

  • Gemma D2 به گیرنده بی سیم D0
  • Gemma D0 به گیرنده بی سیم D1
  • Gemma 3V به گیرنده بی سیم +5V
  • Gemma GND به گیرنده بی سیم GND و جواهرات NeoPixel GND
  • Gemma D1 to NeoPixel jewel data IN
  • Gemma Vout to NeoPixel jewels PWR
  • داده های نگین NeoPixel به سایر داده های NeoPixel Jewel IN

برای یادداشت های مونتاژ به مرحله بعدی مراجعه کنید.

کد بر اساس چند وظیفه طرح آردوینو توسط بیل ارل است و برای کنترل دو جواهر NeoPixel با دو ورودی دیجیتالی تغییر یافته است. بنابراین لازم نیست از گیرنده بی سیم استفاده کنید- می توانید به جای آن از دکمه های خود مدار استفاده کنید. این فایل کد آردوینو را از پیوست های این مرحله بارگیری کنید ، یا از اینجا کپی کرده و در یک طرح آردوینو خالی قرار دهید:

#شامل "Adafruit_NeoPixel.h"

// انواع الگوهای پشتیبانی شده: الگوی شمارش {NONE ، RAINBOW_CYCLE ، THEATER_CHASE ، COLOR_WIPE ، SCANNER ، FADE} ؛ // جهت های پدری پشتیبانی می شود: enum direction {FORWARD، REVERSE}؛ // کلاس NeoPattern - برگرفته از کلاس Adafruit_NeoPixel NeoPatterns: public Adafruit_NeoPixel {public: // متغیرهای اعضا: pattern ActivePattern؛ // کدام الگو در حال اجرا جهت Direction؛ // جهت اجرای الگوی بدون فاصله Interval طولانی ؛ // میلی ثانیه بین به روز رسانی unsigned long lastUpdate؛ // آخرین بروزرسانی موقعیت uint32_t Color1 ، Color2 ؛ // چه رنگهایی استفاده می شود uint16_t TotalSteps؛ // تعداد کل مراحل در الگوی uint16_t Index؛ // مرحله فعلی درون الگوی void (*OnComplete) ()؛ // فراخوانی در تکمیل الگو // سازنده - سازنده کلاس پایه را برای راه اندازی نوار NeoPatterns (uint16_t پیکسل ، uint8_t pin ، نوع uint8_t ، void (*callback) ()) دعوت می کند: Adafruit_NeoPixel (پیکسل ، پین ، نوع) {OnComplete = تماس تلفنی ؛ } // به روز رسانی الگوی void Update () {if ((millis () - lastUpdate)> Interval) // زمان بروزرسانی {lastUpdate = millis ()؛ switch (ActivePattern) {case RAINBOW_CYCLE: RainbowCycleUpdate ()؛ زنگ تفريح؛ مورد THEATER_CHASE: TheaterChaseUpdate ()؛ زنگ تفريح؛ مورد COLOR_WIPE: ColorWipeUpdate ()؛ زنگ تفريح؛ مورد SCANNER: ScannerUpdate ()؛ زنگ تفريح؛ مورد FADE: FadeUpdate ()؛ زنگ تفريح؛ پیش فرض: break؛ }}} // افزایش شاخص و بازنشانی در پایان void افزایش () {if (جهت == FORWARD) {فهرست ++؛ if (Index> = TotalSteps) {Index = 0؛ if (OnComplete! = NULL) {OnComplete ()؛ // با فراخوان تماس بگیرید}}} else // جهت == REVERSE {--Index؛ if (فهرست <= 0) {index = TotalSteps-1؛ if (OnComplete! = NULL) {OnComplete ()؛ // با فراخوان comlpetion تماس بگیرید}}}} // جهت معکوس الگوی معکوس معکوس () {if (Direction == FORWARD) {Direction = REVERSE؛ فهرست = TotalSteps-1؛ } else {جهت = FORWARD؛ شاخص = 0 ؛ }} // Initialize for a RainbowCycle void RainbowCycle (فاصله uint8_t ، جهت dir = FORWARD) {ActivePattern = RAINBOW_CYCLE؛ فاصله = فاصله ؛ TotalSteps = 255 ؛ شاخص = 0 ؛ جهت = dir؛ } // Update the Rainbow Cycle Pattern void RainbowCycleUpdate () {for (int i = 0؛ i <numPixels ()؛ i ++) {setPixelColor (i، Wheel (((i * 256 / numPixels ())+Index) & 255))؛ } show ()؛ افزایش () ؛ } // Initialize for a Theater Chase void TheaterChase (uint32_t color1 ، uint32_t color2 ، فاصله uint8_t ، جهت dir = FORWARD) {ActivePattern = THEATER_CHASE؛ فاصله = فاصله ؛ TotalSteps = numPixels ()؛ رنگ 1 = رنگ 1 ؛ رنگ 2 = رنگ 2 ؛ شاخص = 0 ؛ جهت = 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) ؛ }} show ()؛ افزایش () ؛ } // مقداردهی اولیه برای ColorWipe void ColorWipe (رنگ uint32_t ، فاصله uint8_t ، جهت dir = FORWARD) {ActivePattern = COLOR_WIPE؛ فاصله = فاصله ؛ TotalSteps = numPixels ()؛ رنگ 1 = رنگ ؛ شاخص = 0 ؛ جهت = dir؛ } // Update the Color Wipe Pattern void ColorWipeUpdate () {setPixelColor (Index، Color1)؛ نمایش () ؛ افزایش () ؛ } // Initialize for SCANNNER void Scanner (uint32_t color1، uint8_t interval) {ActivePattern = SCANNER؛ فاصله = فاصله ؛ TotalSteps = (numPixels () - 1) * 2 ؛ رنگ 1 = رنگ 1 ؛ شاخص = 0 ؛ } // Update the Scanner Pattern void ScannerUpdate () {for (int i = 0؛ i > 1 ، سبز (رنگ) >> 1 ، آبی (رنگ) >> 1) ؛ بازگشت dimColor ؛ } // همه پیکسل ها را روی یک رنگ (همزمان) void ColorSet (رنگ uint32_t) {برای (int i = 0؛ i> 16) & 0xFF؛ } // م componentلفه سبز رنگ 32 بیتی uint8_t Green (رنگ uint32_t) را برمی گرداند {return (رنگ >> 8) & 0xFF؛ } // مولفه آبی رنگ 32 بیتی uint8_t Blue (رنگ uint32_t) را برمی گرداند {return color & 0xFF؛ } // مقدار 0 تا 255 را وارد کنید تا مقدار رنگ بدست آید. // رنگها یک انتقال r - g - b - بازگشت به r هستند. uint32_t Wheel (byte WheelPos) {WheelPos = 255 - WheelPos؛ if (WheelPos <85) {بازگشت رنگ (255 - WheelPos * 3 ، 0 ، WheelPos * 3) ؛ } else if (WheelPos <170) {WheelPos -= 85؛ بازگشت رنگ (0 ، WheelPos * 3 ، 255 - WheelPos * 3) ؛ } else {WheelPos -= 170 ؛ بازگشت رنگ (WheelPos * 3 ، 255 - WheelPos * 3 ، 0) ؛ }}} ؛ void JewelsComplete ()؛ // برخی از NeoPatterns را برای دو حلقه و چوب // و همچنین چند روال تکمیل NeoPatterns Jewels (14 ، 1 ، NEO_GRBW + NEO_KHZ800 ، & JewelsComplete) تعریف کنید ؛ const int BRIGHTNESS = 50؛ // همه چیز را اولیه کنید و برای شروع void setup آماده شوید () {Serial.begin (115200)؛ pinMode (2 ، ورودی) ؛ pinMode (0 ، ورودی) ؛ // همه پیکسل های Jewels.setBrightness (BRIGHTNESS) را اولیه کنید ؛ Jewels.begin ()؛ // الگوی Jewels. TheaterChase (Jewels. Color (255، 50، 0)، Jewels. Color (0، 0، 0، 50)، 100)؛ } // حلقه خالی حلقه اصلی () {// جواهرات را به روز کنید. Jewels. Pedate ()؛ // تغییر الگوها روی دکمه را فشار دهید: if (digitalRead (2) == HIGH) // دکمه #1 {Jewels. Color1 = Jewels. Color (255 ، 50 ، 0) ؛ Jewels. ActivePattern = FADE؛ Jewels. TotalSteps = 100؛ Jewels. Interval = 1؛ } else if (digitalRead (0) == HIGH) // دکمه #2 را فشار دهید {Jewels. Color1 = Jewels. Color (255 ، 0 ، 0) ؛ Jewels. ActivePattern = SCANNER؛ Jewels. TotalSteps = Jewels.numPixels ()؛ Jewels. Interval = 100؛ } else // بازگشت به عملکرد عادی {// بازگرداندن همه پارامترهای الگو به مقادیر عادی Jewels. Color1 = Jewels. Color (255 ، 50 ، 0) ؛ Jewels. ActivePattern = THEATER_CHASE؛ Jewels. TotalSteps = Jewels.numPixels ()؛ Jewels. Interval = 100؛ }} // -------------------------------------------------- -------------- // روال تکمیل-با تکمیل الگو تماس بگیرید // ---------------------- -------------------------------------- // Jewels Completion Callback void JewelsComplete () {// تغییر رنگ تصادفی برای اسکن بعدی //Jewels. Color1 = Jewels. Wheel (تصادفی (255)) ؛ Jewels. Reverse ()؛ }

مرحله 2: مدار را مونتاژ کنید

مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید
مدار را مونتاژ کنید

مجموعه ای از گیربکس های دست سوم می تواند فرآیند لحیم کاری سیم ها را کاملاً ساده و سرگرم کننده کند. اما اگر مجموعه ای ندارید نگران نباشید. همیشه می توانید از نوار چسب یا بتونه پوستری برای ثابت نگه داشتن تخته در هنگام لحیم کاری استفاده کنید.

برای اتصال بین دو جواهر NeoPixel (نمودار مرحله قبل) از قطعات نازک سیم رشته دار (طول حدود 6 اینچ/15 دقیقه) استفاده کنید. اگر از سیم های بسیار کوتاه استفاده می کنید ، نمی توانید چشم LED خود را به اندازه کافی از هم دور کنید و اگر از سیم زیاد استفاده کنید ، در حالی که لباس را پوشیده اید ، شل شدن در صورت شما ظاهر می شود.

مدار اصلی در ناحیه برگردان (جایی که قفسه سینه با شانه شما برخورد می کند) زندگی می کند ، بنابراین برای اتصال بین اولین نگین NeoPixel در زنجیر و Gemma ، سیم ها بسیار طولانی تر خواهند بود. می توانید سیم را تا ناحیه چشم خود نگه دارید و آن را بکشید تا مسافتی را که سیم باید طی کند اندازه گیری کنید ، سپس کمی بیشتر برای سستی و بیمه اضافه کنید.

برای اتصال بین گیرنده Gemma و بی سیم ، من از سیم های نمونه اولیه با هدرهای زن استفاده کردم ، زیرا گیرنده بی سیم قبلاً پین هدر را متصل کرده است.

مرحله 3: قدرت باتری

قدرت باتری
قدرت باتری
قدرت باتری
قدرت باتری

برای تغذیه مدار ، از باتری لیپولی 500 میلی آمپر ساعتی استفاده کردم. اگر از باتری لیپولی استفاده می کنید ، عاقلانه است که از آن در برابر خط و خش ، سوراخ شدن ، سایش ، خم شدن و سایر سوء استفاده ها محافظت کنید. می توانید آن را در نوار پارچه ای محکم بپیچید ، یا نگهدارنده چاپ سه بعدی برای آن بسازید.

شما به راحتی می توانید به جای آن از یک نگهدارنده 3xAAA استفاده کنید (آن را در جیب خود بجای داخل برگردان ببرید).

مرحله 4: الگوی دوخت و پارچه برش

الگوی دوخت و پارچه برش
الگوی دوخت و پارچه برش

من از همان الگویی که برای اولین نسخه این لباس ایجاد کردم استفاده کردم ، که یک PDF چند صفحه ای است که برای ایجاد قطعات الگو روی هم قرار گرفته است.

پارچه خود را تا کنید ، لبه های طاقچه را تراز کنید تا دانه پارچه را تراز کنید و قطعات الگوی/پین را در امتداد تا بزنید. با استفاده از گچ یا مداد ، یک درز در خارج از قطعات الگو (بجز چین) با اندازه 5/8 اینچ در 3 سانتیمتر دنبال کنید. از آنجا که پارچه من نازک بود ، می خواستم آن را دو برابر کنم و از آنجا که دو کاپوت درست کردم ، در نهایت چهار پارچه را از پارچه اصلی در پارچه اصلی بریدم ، سپس یک لایه دیگر در پارچه پنبه ای تزیین شده برای افزودن بافت به بیرون ، و در نهایت یک لایه ای از پارچه سیاه به عنوان آستری برای جلوگیری از ورود نور. من فکر می کنم اگر برای این کار برنامه ریزی کرده بودم ، می توانستم یکی از لایه های اولیه سفید را کنار بگذارم و هودها به جای چهار لایه ، هر کدام فقط از سه لایه تشکیل شده بودند.

مرحله 5: قطعات پارچه ای را جمع کنید

قطعات پارچه ای را جمع کنید
قطعات پارچه ای را جمع کنید
قطعات پارچه ای را جمع کنید
قطعات پارچه ای را جمع کنید
قطعات پارچه ای را جمع کنید
قطعات پارچه ای را جمع کنید
قطعات پارچه ای را جمع کنید
قطعات پارچه ای را جمع کنید

دارت/درزهای شانه را روی هر قطعه الگو بچسبانید و بدوزید ، سپس قطعات کاپوت و روپوش را در امتداد درز گردن با کناره های راست با هم تراز کنید. درز و همچنین یک درز مستقیم در بالای هود را بخیه بزنید.

کاپوت را امتحان کنید. تا کنید و لبه جلویی خام هود را سنجاق کنید و آن را به هم بخیه بزنید تا یک لبه مرتب و همچنین یک کانال برای عبور سیم ایجاد شود.

بعد ، یک تکه گرد از پارچه مشکی شفاف برش دهید تا جلوی کاپوت را بپوشاند. این چیزی است که از مدار پشتیبانی می کند و چهره شما را پنهان می کند. آن را در حالی که کاپوت را برای بهترین تناسب پوشیده اید محکم کنید ، سپس با دست یا دستگاه آن را به دهانه کاپوت بدوزید.

مرحله 6: Circuit in Hood را نصب کنید

Circuit in Hood را نصب کنید
Circuit in Hood را نصب کنید

کاپوت را گذاشتم ، مدار را روشن کردم و از یک آینه برای تشخیص بهترین مکان برای LED ها استفاده کردم. سپس از پین ها برای علامت گذاری مکان ها استفاده کردم و با استفاده از نخ مشکی به دقت دوختم و سوراخ های نصب روی جواهرات NeoPixel را به قسمت جلوی مشکی کاملاً وصل کردم. چشم من دقیقاً زیر چشم های واقعی من نشسته است ، که باعث می شود بتوان از کنار آنها به راحتی گذشت.

اگر در حال ساخت هود دوم هستید ، آن را بشویید و تکرار کنید.

مرحله 7: آن را بپوشید

بپوش!
بپوش!
بپوش!
بپوش!
بپوش!
بپوش!
بپوش!
بپوش!

پوشیدن اینها بسیار سرگرم کننده است. دیدن آن آسان است و دیدن چهره شما برای دیگران آسان نیست. همه چیز نیز بسیار راحت است ، به لطف کاپوت بزرگ و قاب سیم ، که مانع از پارچه جلویی روی صورت شما می شود.

من و دوست پسرم امسال این ها را برای DJ جشن هالووین هکرهایم پوشیدیم ، و در حالی که می توانستم رابط کاربری نرم افزار پروژکتور لیزری را ببینم ، او نتوانست متن کوچک را در ابلتون تشخیص دهد ، بنابراین ما مجبور شدیم متن او را برای داشتن یک نمای بهتر پنل پارچه ای مشکی را از قسمت بالای کاپوت جدا کردم و قسمت اضافی آن را تا کردم. در یک اتاق تاریک ، واقعاً نمی توانید تفاوت بین این دو را تشخیص دهید ، اگرچه می توانید آن را در عکس ما با هم در بالا مشاهده کنید.

ممنون که خواندید! اگر این پروژه را دوست دارید ، ممکن است به برخی از پروژه های دیگر من علاقه مند باشید:

  • 13 ایده برای انتشار LED ها
  • علامت پخش نوار LED با آردوینو/بلوتوث
  • مشترک مشترک YouTube با ESP8266
  • آینه بی نهایت آسان
  • 3 اشتباه مبتدی در آردوینو

برای ادامه کار با من ، من را در YouTube ، Instagram ، Twitter و Pinterest دنبال کنید.

توصیه شده: