فهرست مطالب:

Nerf Chronograph and Rate of Fire بشکه: 7 مرحله
Nerf Chronograph and Rate of Fire بشکه: 7 مرحله

تصویری: Nerf Chronograph and Rate of Fire بشکه: 7 مرحله

تصویری: Nerf Chronograph and Rate of Fire بشکه: 7 مرحله
تصویری: [REVIEW] Nerf Modulus Chronobarrel | Velocity + Ammo Counting! HOLY TACTICS, BATMAN! 2024, نوامبر
Anonim
Image
Image
Nerf Chronograph and Rate of Fire بشکه
Nerf Chronograph and Rate of Fire بشکه

معرفی

به عنوان یک کارگراکننده دیدن نتایج عددی کارکردن شما همیشه بسیار راضی کننده است. بسیاری از ما قبلاً اسلحه های Nerf را تغییر داده ایم و چه کسی دوست ندارد تکه های کف را با سرعت 100 فریم بر ثانیه در خانه پرتاب کند؟

پس از اصلاح بسیاری از اسلحه های Nerf در طول زندگی من ، از زمانی که من 10 ساله بودم با پدرم تا زمانی که من و هم اتاقی هایم به همدیگر در کف آپارتمان می پاشیم ، همیشه می خواستم بدانم که دارت ها با چه سرعتی پرواز می کنند ، و تعداد زیادی دارت در ثانیه هم اتاقی های من Rapid-Strike شلیک می کنند. کرونوگراف های تجاری موجود برای Nerf و Airsoft وجود دارد ، اما دقت بالا گران است و ساختن آن به تنهایی سرگرم کننده است. اگر مایل به خرید یک بشکه هستید ، Nerf یک بشکه تقریباً مشابه با نمونه موجود در این پروژه (با طراحی صنعتی بهتر) روانه بازار کرد و می توانید آن را در اینجا پیدا کنید:

بشکه Nerf Modulus Ghost-Ops Chrono

نسخه Nerf نیز از باتری استفاده می کند و شمارنده ای برای دارت های شلیک شده را نمایش می دهد. دستورالعمل در اینجا همچنین شامل یک صفحه نمایش و یک دکمه تنظیم مجدد است ، اما برای محاسبه سرعت به طول دارت وابسته است و به نظر نمی رسد از وقفه ها استفاده کند. تمرکز اصلی این پروژه بر ارتباط سریال (به عنوان مثال ساده مانند این ساده ترین راه یافتن آنلاین نبود) و استفاده از وقفه ها برای زمان بندی دقیق خواهد بود. به احتمال زیاد به دلایل مشابه با محفظه محکم تر و سیستم نصب بهتر برای اسلحه های airsoft ، می توان این دستگاه را به راحتی به کرونوگراف airsoft تبدیل کرد. بدون استفاده از وقفه ها ، کد می تواند کندتر و کارآمدتر باشد ، همچنین تعیین زمان دقیق در مورد ریز ثانیه بسیار دشوارتر است زیرا میلی ثانیه مقادیر دقیقی برای سرعت دارت ایجاد نمی کند.

من زیاد روی طراحی محفظه تمرکز نخواهم کرد ، اگرچه فایل های STL در GitHub در دسترس هستند ، زیرا هرکسی می تواند نسخه Nerf را خریداری کند که قطعاً برای بازی واقعی بهتر است ، اما نسخه آینده این ممکن است نتایج را کاهش دهد.

اصول اساسی (نتایج یادگیری):

  • دارای شکل یک بشکه استاندارد Nerf است
  • استفاده از ترانزیستورهای نوری به عنوان دروازه های زمان دارت.
  • استفاده از وقفه های Adruino را برای زمان بندی نشان می دهد
  • استفاده از پردازش با Arduino برای ارتباط سریال

محدوده پروژه:

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

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

  • استفاده از وقفه ها برای اندازه گیری دقیق سرعت بالا
  • بخش اشکال زدایی گسترده برای فوتوترانزیستورها
  • نرخ آتش (ROF) محاسبه دورهای خروجی در ثانیه (RPS)
  • رابط کامپیوتر تمام صفحه - در هنگام نبرد مفید نیست ، اما عالی است اگر می خواهید نتایج را در جریان یا Youtube با ضبط کننده صفحه به دیگران نشان دهید.
  • امکان تغییر برای Airsoft یا Paintball فقط با تغییر محفظه
  • نیازی به PCB های سفارشی نیست (در به روزرسانی آینده خوب است ، اما هرکسی می تواند این کار را با هزینه نسبتا کم انجام دهد
  • هزینه کلی کمتر از 10 دلار هنگام جدا شدن قطعات و در صورت وجود چاپگر سه بعدی - برابر هزینه تجاری ، با افزودن ROF

مرحله 1: قطعات و ابزارهای مورد نیاز

قطعات و ابزار مورد نیاز
قطعات و ابزار مورد نیاز

اگر چاپگر سه بعدی دارید ، این یک پروژه عالی برای شما خواهد بود ، زیرا من فایل های محفظه را ارائه می دهم. با خیال راحت محفظه را به روز کنید. من هیچ ال سی دی در دست نداشتم ، اما امیدوارم نسخه دوم دارای LCD باشد و از WEMOS D1 یا برد مشابه WiFi/BT و باتری استفاده کند. این به شما امکان می دهد داده ها را در تلفن همراه و بازخورد زمان واقعی ثبت کنید - برای مثال ، چه تعداد دارت در اسلحه باقی مانده است. برخی از تجربه لحیم کاری توصیه می شود ، اگر احساس راحتی نمی کنید ، توصیه می کنم از دستورالعمل لحیم کاری پیروی کنید و احتمالاً در هر صورت قطعات الکترونیکی اضافی بخرید.

ابزارهای مورد نیاز:

  1. آهن لحیم کاری
  2. دمنده هوای گرم/ تفنگ حرارتی/ فندک (در صورت استفاده از انقباض حرارتی)
  3. استریپرهای سیم
  4. کابل USB Mini - B (یا هر کابل برای میکرو کنترلر مورد نیاز است)
  5. تفنگ چسب داغ یا مشابه (من از قلم چاپ سه بعدی برای اتصال همه اجزا به محفظه چاپ سه بعدی استفاده کردم)

مواد مورد نیاز:

  1. 22AWG سیم تک هسته ای سابق: مجموعه سیم جامد هسته ای 22AWG
  2. آردوینو نانو (یا مشابه آن ، از کلون استفاده کردم) سابق: 3 x آردوینو نانو (کلون)
  3. کیت مقاومت (2 220 220 اهم ، 2 220 220 کیلو اهم) ممکن است بتوانید از مقاومتهای کم فشار کمتری مانند 47k با موفقیت استفاده کنید ، من به طور اتفاقی متوجه شدم که برای کارکردن به این مقدار نیاز دارم. راهنمای عیب یابی چگونگی تعیین اینکه آیا مقاومت کشش مقدار صحیح برای فوتوترانزیستور و مجموعه LED خاص شما است یا خیر ، توضیح می دهد. به همین دلیل من توصیه می کنم یک مجموعه دریافت کنید: مثال: مجموعه مقاومت
  4. 2 x IR LED سابق: IR LED و مجموعه PhotoTransistor
  5. 2 x PhotoTransistor
  6. 1 x محفظه چاپ سه بعدی - در یک رشته IR مات (نقره ای Hatchbox کار کرد و تنها رنگی بود که آزمایش کردم)
  7. فایلهای پروژه کامل در اینجا در GitHub و همچنین در فایل فشرده ضمیمه موجود است. STL ها نیز در Thingiverse در اینجا موجود است.

مرحله 2: آزمایش Breadboard

تست تخته نان
تست تخته نان
تست تخته نان
تست تخته نان

پس از وارد شدن وسایل الکترونیکی ، لحیم کاری منجر به فوتوترانزیستورها و IR Leds 20 تا 30 سانتیمتر برای اشکال زدایی می شود ، من توصیه می کنم آنها را کوچک کنید. من اندازه کوچک شدن حرارت را نداشتم و مجبور شدم برای این نمونه اولیه از نوار برقی استفاده کنم. این به شما امکان می دهد از آنها برای آزمایش در محفظه استفاده کنید. اگر محفظه را چاپ کرده اید و LED ها و ترانزیستورهای عکس در موقعیت صحیح قرار دارند ، می توانید آزمایش را شروع کنید.

مطمئن شوید که Arduino و Processing را نصب کرده اید.

فایل فشرده در ابتدا دارای تمام کد و همچنین فایلهای STL برای چاپ محفظه می باشد.

از Arduino برای اشکال زدایی در ابتدا استفاده کنید و فقط از پردازش برای آزمایش نهایی استفاده کنید (می توانید همه چیز را در مانیتور سریال Arduino مشاهده کنید).

می توانید با استفاده از Chronogrpah_Updated.ino که بر روی آردوینو نصب شده است ، به سادگی یک دارت Nerf را از طریق کرونوگراف شلیک کنید. اگر این کار کرد ، همه چیز آماده است. اگر این کار نکرد ، احتمالاً مجبور خواهید بود مقادیر مقاومت را تنظیم کنید. این مورد در مرحله بعد مورد بحث قرار می گیرد.

کمی در مورد نحوه کار کد:

  1. Interrupst هر زمان که دارتی از یک دروازه عبور کند و زمان را بر حسب میکرو ثانیه تعیین کند ، کد را متوقف می کند
  2. سرعت با این محاسبه می شود و زمان ذخیره می شود
  3. زمان بین عکس ها محاسبه شده و به دور در ثانیه تبدیل می شود
  4. زمان بین دروازه ها محاسبه می شود و بر اساس فاصله دروازه به فوت در ثانیه تبدیل می شود.

    استفاده از دو دروازه باعث می شود نتایج بهتری با زمان بندی یکسان (مقدار سنسور باید پوشانده شود) و هیسترزیس را کاهش می دهد

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

مرحله 3: آزمایش و اشکال زدایی

اگر در آزمایش اولیه موفق نبودید ، باید بفهمیم چه اشتباهی رخ داده است.

مثال Arduino را باز کنید AnalogReadSerial موجود در فایل-> مثالها-> 0.1 مبانی-> AnalogReadSerial

ما می خواهیم اطمینان حاصل کنیم که فوتوترانزیستورها همانطور که انتظار داریم کار می کنند. ما می خواهیم وقتی دارت جلوی آنها را نمی گیرد HIGH را بخوانند و وقتی دارت مسدود نیست LOW را بخوانند. این به این دلیل است که کد از Interrupts برای ثبت زمان عبور دارت از سنسور استفاده می کند و نوع وقفه ای که استفاده می شود FALLING است ، به این معنی که هنگام رفتن از HIGH به LOW شروع به کار می کند. برای اطمینان از بالا بودن پایه می توانیم از پین های آنالوگ برای تعیین مقدار این پین ها استفاده کنیم.

Arduino Example AnalogReadSerial را بارگذاری کرده و از پین دیجیتال D2 یا D3 به A0 بروید.

D2 باید سنسور اول و D3 سنسور دوم باشد. 1 را برای خواندن انتخاب کنید و از آنجا شروع کنید. برای تعیین راه حل مناسب بر اساس خوانش ها ، راهنمای زیر را دنبال کنید:

مقدار 0 یا بسیار پایین است:

مقدار باید در ابتدا 1000 باشد ، اگر مقدار بسیار کم یا صفر را می خواند ، مطمئن شوید که LED های شما به درستی سیم کشی شده و سوخته نیستند و همچنین به خوبی تراز شده اند. هنگام استفاده از مقاومت 100 اهم به جای 220 اهم ، LED های خود را در آزمایش سوزاندم. برای تعیین مقدار مقاومت مناسب ، بهتر است به برگه اطلاعات LED ها مراجعه کنید ، اما بیشتر LED ها احتمالاً با مقاومت 220 اهم کار خواهند کرد.

LED ها کار می کنند و مقدار آن هنوز 0 یا بسیار پایین است:

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

ارزش یک محدوده متوسط است:

این امر مشکلات زیادی را ایجاد می کند ، عمدتا محرک های کاذب ، یا هرگز باعث افزایش شدید آنها نمی شود. ما باید اطمینان حاصل کنیم که یک HIGH دریافت می شود ، برای انجام این کار ما به یک مقدار 600 پوند نیاز داریم ، اما اجازه می دهد 900+ را ایمن کنیم. نزدیک بودن بیش از حد به این آستانه می تواند باعث محرک های کاذب شود ، بنابراین ما می خواهیم از هرگونه کاذب مثبت اجتناب کنیم. برای تنظیم این مقدار ، می خواهیم مقاومت تاشو (220K) را افزایش دهیم. من قبلاً چندین بار در طراحی خود این کار را انجام دادم و احتمالاً مجبور نخواهید شد این کار را انجام دهید زیرا این یک مقدار بسیار بزرگ برای مقاومت کششی است.

ارزش بسیار پر سر و صدا است (پرش زیاد بدون محرک خارجی):

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

حتی در صورت مسدود کردن سنسور ، مقدار روی 1000+ ثابت است:

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

مقدار آن زیاد است و هنگام مسدود کردن نور به صفر می رسد:

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

اطمینان حاصل کنید که هرگونه تغییر مقاومت بین دو سنسور سازگار است

اطمینان از مدارهای یکسان برای هر دو سنسور ، تاخیر یکسانی را بین مقاومت ها حفظ می کند که بهترین دقت را در اندازه گیری ها ایجاد می کند.

اگر مشکل دیگری دارید ، در زیر نظر دهید و من تمام تلاش خود را برای کمک به شما انجام خواهم داد.

مرحله 4: مونتاژ سخت افزار

مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار
مونتاژ سخت افزار

همانطور که در اینجا مشاهده می کنید ، قطعات را به PCB کوچک لحیم کنید:

طول LED ها و PhotoTransistors باید تقریباً _ طول داشته باشند.

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

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

مرحله 5: مونتاژ نهایی

مجمع نهایی
مجمع نهایی
مجمع نهایی
مجمع نهایی
مجمع نهایی
مجمع نهایی

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

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

در به روزرسانی آینده ممکن است از مسیریابی داخلی سیمها استفاده شود ، اما جلدها در این مورد کمی به زیبایی Nerf منجر می شوند.

مرحله 6: کرونوگراف در عمل

Image
Image
Chronograph in Action
Chronograph in Action

بازکردن پرونده پردازش: Chronograph_Intitial_Release یک رابط کاربری واقعاً زیبا را برای کرونوگراف نمایش می دهد که FPS و RPS (دور در ثانیه) را نمایش می دهد. اگر از اتصال با مانیتور سریال Arduino خود بسته اید ، مشکل دارید ، ممکن است مجبور شوید پورت سریال را در کد تغییر دهید ، اما این مورد توضیح داده می شود و باید ساده باشد. برای تنظیم مجدد حداکثر مقادیر ، کافی است نوار فاصله را در رایانه خود فشار دهید.

کمی در مورد نحوه کار کد (عکس UI را می توانید در بالا مشاهده کنید):

  1. ورودی را از آردوینو دریافت می کند
  2. این مورد را با ورودی قبلی مقایسه می کند تا حداکثر مقدار را بیابد
  3. برای بازخورد بصری آسان ، مقادیر فعلی و حداکثر را در تمام صفحه نمایش می دهد
  4. با فشردن فاصله حداکثر مقدار را بازنشانی می کند

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

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

  1. شامل صفحه LCD
  2. شامل باتری
  3. نقاط ضمیمه Nerf Compatible
  4. محفظه به روز شده
  5. مناظر آهنی

توصیه شده: