جدول المحتويات:

كرونوغراف نيرف ومعدل برميل النار: 7 خطوات
كرونوغراف نيرف ومعدل برميل النار: 7 خطوات

فيديو: كرونوغراف نيرف ومعدل برميل النار: 7 خطوات

فيديو: كرونوغراف نيرف ومعدل برميل النار: 7 خطوات
فيديو: Calculating the FPS of Nerf blasters without a chronograph 2024, يوليو
Anonim
Image
Image
كرونوغراف نيرف ومعدل برميل النار
كرونوغراف نيرف ومعدل برميل النار

مقدمة

بصفتك عامل ترقيعًا ، فإنه دائمًا ما يكون مرضيًا جدًا لرؤية النتائج العددية لعملية الترقيع الخاصة بك. قام الكثير منا بتعديل مسدسات Nerf من قبل ومن لا يحب قذف قطع الرغوة عبر المنزل بسرعة تزيد عن 100 إطارًا في الثانية؟

بعد تعديل العديد من مسدسات Nerf طوال حياتي ، بدءًا من سن العاشرة تقريبًا مع والدي حتى الآن عندما أستمر أنا وزملائي في السكن في قذف الرغوة عبر الشقة لبعضنا البعض ، كنت أرغب دائمًا في معرفة مدى السرعة التي تطير بها السهام بالضبط ، وكم عدد رمي السهام في الثانية التي يطلقها زملائي في السكن في Rapid-Strike. هناك كرونوغراف تجاري متاح لـ Nerf و Airsoft ، لكن الدقة العالية غالية الثمن ، ومن الممتع أن نبني واحدة بمفردنا. إذا كنت ترغب في شراء واحدة ، فقد أطلق Nerf برميلًا مطابقًا تقريبًا للبرميل الموجود في هذا المشروع (مع بعض التصميم الصناعي الأفضل) ويمكن العثور عليه هنا:

Nerf Modulus Ghost-Ops Chrono Barrel

إصدار Nerf يعمل أيضًا بالبطارية ، ويعرض عدادًا لرمي السهام. يشتمل Instructable هنا أيضًا على شاشة وزر إعادة تعيين ، ولكنه يعتمد على طول السهم لحساب السرعة ، ولا يبدو أنه يستخدم المقاطعات. سيكون التركيز الرئيسي لهذا المشروع على الاتصال التسلسلي (كمثال بسيط مثل هذا لم يكن أسهل العثور عليه عبر الإنترنت) ، واستخدام المقاطعات للتوقيت الدقيق. من المحتمل أن يتم تحويل هذا بسهولة إلى كرونوغراف airsoft للأسباب نفسها مع حاوية أكثر إحكامًا ونظام تثبيت أفضل لمسدسات airsoft. بدون استخدام المقاطعات ، يمكن أن يكون الكود أبطأ وأقل كفاءة ، كما أنه من الصعب جدًا تحديد الوقت فيما يتعلق بالميكروثانية بدقة لأن المللي ثانية لن تنتج قيمًا دقيقة لسرعة dart.

لن أركز كثيرًا على تصميم العلبة على الرغم من توفر ملفات STL في GitHub ، لأن أي شخص يمكنه فقط شراء إصدار Nerf الذي يعد بالتأكيد أفضل للعب اللعبة الفعلي ، ولكن الإصدار المستقبلي من هذا قد يخفف من النتائج.

المبادئ الأساسية (مخرجات التعلم):

  • شكل برميل نيرف القياسي
  • استخدام الترانزستورات الضوئية كبوابات توقيت للسهام.
  • يوضح استخدام المقاطعات Adruino للتوقيت
  • استخدام المعالجة مع Arduino للاتصال التسلسلي

نطاق المشروع:

أخطط لاستعراض معظم التفاصيل الخاصة بهذا المشروع مع بعض النظرات العامة الموجزة والتوصية بقراءة مراجع Arduino و Processsing للحصول على معلومات أكثر تحديدًا. لن يعلمك هذا كيفية اللحام ، ولكن المزيد حول كيفية دمج Arduino والمعالجة واستخدام المقاطعات. سيكون جزء كبير من هذا التعلم من خلال قراءة الكود الفعلي المعلق ، لذا يرجى التأكد من قراءة كل التعليمات البرمجية قبل تحميلها بشكل أعمى ومحاولة تشغيلها.

الفوائد على المشاريع المماثلة:

  • استخدام المقاطعات للقياس الدقيق للسرعة العالية
  • قسم تصحيح شامل لأجهزة الترانزستورات الضوئية
  • معدل إطلاق النار (ROF) الناتج حساب عدد الدورات في الثانية (RPS)
  • واجهة كمبيوتر بملء الشاشة - ليست مفيدة أثناء المعركة ، ولكنها رائعة إذا كنت تريد إظهار النتائج للآخرين على البث أو على Youtube باستخدام مسجل الشاشة.
  • إمكانية تكييفها مع Airsoft أو Paintball عن طريق تعديل العلبة فقط
  • لا حاجة لمركبات ثنائي الفينيل متعدد الكلور المخصصة (سيكون ذلك رائعًا في التحديث المستقبلي ولكن يمكن لأي شخص القيام بذلك بتكلفة منخفضة نسبيًا
  • التكلفة الإجمالية أقل من 10 دولارات عند فصل الأجزاء وإذا كانت طابعة ثلاثية الأبعاد متوفرة - على قدم المساواة مع التكلفة التجارية ، مع إضافة ROF

الخطوة 1: الأجزاء والأدوات المطلوبة

الأجزاء والأدوات المطلوبة
الأجزاء والأدوات المطلوبة

إذا كان لديك طابعة ثلاثية الأبعاد ، فسيكون هذا مشروعًا رائعًا بالنسبة لك لأنني سأوفر الملفات للمرفق. لا تتردد في تحديث العلبة. لم يكن لدي أي شاشات LCD في متناول اليد ، ولكن من المأمول أن يحتوي الإصدار الثاني على شاشة LCD ويستخدم WEMOS D1 أو لوحة مشابهة تدعم WiFi / BT وبطارية. سيسمح هذا بتسجيل البيانات على الهاتف المحمول وردود الفعل في الوقت الفعلي - على سبيل المثال ، عدد السهام المتبقية في البندقية. يوصى ببعض تجربة اللحام ، إذا كنت لا تشعر بالراحة ، فإنني أوصي باتباع Instructable للحام وربما شراء مكونات إلكترونية إضافية فقط في حالة.

أدوات المطلوبة:

  1. لحام حديد
  2. منفاخ الهواء الساخن / مسدس الحرارة / ولاعة (في حالة استخدام الانكماش الحراري)
  3. أدوات تقشير الأسلاك
  4. كبل USB صغير الحجم (أو أي كابل مطلوب لوحدة التحكم الصغيرة الخاصة بك)
  5. مسدس الغراء الساخن أو ما شابه (استخدمت قلم طباعة ثلاثي الأبعاد لإرفاق جميع المكونات بالحاوية المطبوعة ثلاثية الأبعاد)

المواد المطلوبة:

  1. سلك صلب صلب 22AWG مثال: مجموعة الأسلاك الصلبة 22AWG
  2. Arduino Nano (أو ما شابه ، استخدمت نسخة) مثال: 3 x Arduino Nano (Clone)
  3. مجموعة المقاوم (2 × 220 أوم ، 2 × 220 كيلو أوم) قد تتمكن من استخدام مقاومات منسدلة ذات قيمة منخفضة مثل 47 كيلو بنجاح ، لقد صادفت أنني بحاجة إلى هذه القيمة حتى تعمل. يوضح دليل استكشاف الأخطاء وإصلاحها كيفية تحديد ما إذا كان المقاوم المنسدل هو القيمة الصحيحة للترانزستور الضوئي ومجموعة LED الخاصة بك. لهذا السبب أوصي بالحصول على مجموعة: ex: Resistor Set
  4. 2 x IR LED ex: IR LED ومجموعة PhotoTransistor
  5. 2 × ترانزستور للصور
  6. 1 × حاوية مطبوعة ثلاثية الأبعاد - في خيوط IR معتم (عمل Hatchbox Silver وكان اللون الوحيد الذي اختبرته)
  7. تتوفر ملفات المشروع الكاملة هنا على GitHub وكذلك في ملف Zip المرفق. تتوفر أيضًا STLs على Thingiverse هنا.

الخطوة 2: اختبار اللوح

اختبار اللوح
اختبار اللوح
اختبار اللوح
اختبار اللوح

بمجرد وصول الإلكترونيات ، يؤدي اللحام إلى الترانزستورات الضوئية ومصابيح الأشعة تحت الحمراء ~ 20-30 سم لتصحيح الأخطاء ، أوصي بتقليص الحرارة. لم يكن لدي حجم الانكماش الحراري الصحيح واضطررت إلى استخدام شريط كهربائي لهذا النموذج الأولي. سيسمح لك ذلك باستخدامها للاختبار في العلبة. إذا قمت بطباعة العلبة ولديك مصابيح LED وترانزستورات صور في المواضع الصحيحة ، يمكنك البدء في الاختبار.

تأكد من تثبيت Arduino و Processing.

يحتوي الملف المضغوط في البداية على جميع الأكواد بالإضافة إلى ملفات STL لطباعة العلبة.

استخدم Arduino لتصحيح الأخطاء في البداية واستخدم المعالجة فقط للاختبار النهائي (يمكنك رؤية كل شيء في الشاشة التسلسلية من Arduino).

يمكنك ببساطة محاولة إطلاق سهم Nerf من خلال الكرونوغراف باستخدام Chronogrpah_Updated.ino المثبت على Arduino. إذا كان هذا يعمل ، فأنت جاهز تمامًا. إذا لم ينجح ذلك ، فمن المحتمل أن تضطر إلى ضبط قيم المقاوم. هذا تمت مناقشته في الخطوة التالية.

قليلا عن كيفية عمل الكود:

  1. قم بإيقاف الكود عندما تمر النبلة عبر البوابة وتحدد الوقت بالميكروثانية
  2. يتم حساب السرعة مع هذا ويتم تخزين الوقت
  3. يتم حساب الوقت بين اللقطات وتحويلها إلى جولات في الثانية
  4. يتم حساب الوقت بين البوابات وتحويلها إلى أقدام في الثانية بناءً على مسافة البوابة.

    يسمح استخدام بوابتين للحصول على نتائج أفضل مع توقيت متطابق (مقدار المستشعر الذي يجب تغطيته) ويقلل التباطؤ

  5. يتم إرسال سرعة ومعدل إطلاق النار عبر تسلسلي مفصول بفاصلة إما إلى الشاشة التسلسلية في اردوينو أو رسم المعالجة الذي يسمح بواجهة مستخدم لطيفة (ركز على المعالجة عندما يعمل كل شيء آخر!).

الخطوة 3: الاختبار والتصحيح

إذا لم تنجح في الاختبار الأولي ، فنحن بحاجة لمعرفة الخطأ الذي حدث.

افتح مثال Arduino AnalogReadSerial الموجود في File-> Examples-> 0.1 Basics -> AnalogReadSerial

نريد التأكد من أن أجهزة الترانزستورات الضوئية تعمل بالشكل الذي نتوقعه منها. نريدهم أن يقرؤوا HIGH عندما لا تمنعهم dart ، و LOW عندما لا تكون dart كذلك. هذا لأن الكود يستخدم المقاطعات لتسجيل الوقت الذي تمر فيه السهام على المستشعر ، ونوع المقاطعة المستخدمة هو FALLING ، مما يعني أنه سيتم تشغيله عند الانتقال من HIGH إلى LOW. للتأكد من أن الدبوس مرتفع ، يمكننا استخدام المسامير التناظرية لتحديد قيمة هذه المسامير.

قم بتحميل نموذج Arduino AnalogReadSerial وانتقل من الدبوس الرقمي D2 أو D3 إلى A0.

يجب أن يكون D2 هو المستشعر الأول ويجب أن يكون D3 هو المستشعر الثاني. اختر 1 للقراءة وابدأ من هناك. اتبع الدليل أدناه لتحديد الحل الصحيح بناءً على القراءات:

القيمة 0 أو منخفضة جدًا:

يجب أن تكون القيمة حوالي 1000 في البداية ، إذا كانت تقرأ قيمة منخفضة جدًا أو صفرًا ، فتأكد من توصيل مصابيح LED الخاصة بك بشكل صحيح وعدم احتراقها ، وكذلك محاذاتها جيدًا. لقد أحرقت مصابيح LED الخاصة بي في الاختبار عند استخدام مقاوم 100 أوم بدلاً من 220 أوم. من الأفضل الرجوع إلى ورقة البيانات الخاصة بمصابيح LED لتحديد قيمة المقاوم الصحيحة ، ولكن من المحتمل أن تعمل معظم مصابيح LED مع المقاوم 220 أوم.

تعمل مصابيح LED ، ولا تزال القيمة 0 أو منخفضة جدًا:

من المحتمل أن تكون المشكلة في المقاومة المنسدلة منخفضة جدًا في المقاومة. إذا كنت تواجه مشكلة مع المقاوم 220 كيلو ، فربما يمكنك زيادته أعلى من ذلك ، ولكن قد تحصل على ضوضاء. يجب عليك التأكد من عدم حرق ترانزستور الصور الخاص بك.

القيمة نطاق متوسط:

سيؤدي هذا إلى قدر كبير من المشاكل ، معظمها محفزات خاطئة ، أو لن يتسبب أبدًا في ارتفاع. نحتاج إلى التأكد من تلقي قيمة عالية ، من أجل القيام بذلك ، نحتاج إلى قيمة ~ 600 ولكن دعنا نهدف إلى 900+ لتكون آمنة. يمكن أن يتسبب الاقتراب جدًا من هذه العتبة في حدوث محفزات خاطئة ، لذلك نريد تجنب أي نتائج إيجابية خاطئة. لضبط هذه القيمة ، نريد زيادة المقاومة المنسدلة (220 كيلو بايت). لقد قمت بهذا بالفعل عدة مرات في تصميمي ومن المحتمل ألا تضطر إلى القيام بذلك لأن هذه قيمة كبيرة جدًا لمقاوم منسدل.

القيمة صاخبة جدًا (القفز كثيرًا بدون محفزات خارجية):

تأكد من صحة الأسلاك الخاصة بك باستخدام المقاوم المنسدل. إذا كان هذا صحيحًا ، فقد تحتاج إلى زيادة قيمة المقاوم.

القيمة عالقة عند 1000+ ، حتى عند حظر المستشعر:

تأكد من توصيل المقاوم المنسدل بشكل صحيح ، فمن المحتمل أن يحدث هذا إذا لم يكن هناك قائمة منسدلة. إذا استمرت هذه المشكلة ، فحاول تقليل قيمة المقاوم المنسدل.

القيمة عالية وتذهب إلى الصفر عند حجب الضوء:

يجب أن يكون هذا كافيًا حتى يعمل المستشعر ، ولكن قد لا نكون استجابة سريعة بما يكفي لأن السهم يعبر المسار. يوجد بعض السعة في الدائرة ، ومع المقاوم 220K قد يستغرق الأمر بعض الوقت حتى ينخفض الجهد إلى ما دون العتبة المطلوبة. إذا كانت هذه هي الحالة ، فقلل هذا المقاوم إلى 100 كيلو وانظر كيف تعمل الاختبارات.

تأكد من أن أي تغييرات في المقاومات متسقة بين كلا المستشعرات

يضمن ضمان دارات متطابقة لكلا المستشعرين الحفاظ على نفس زمن الانتقال بين المقاومات مما يتيح الحصول على أفضل دقة في القياسات.

إذا كانت لديك أي مشكلات إضافية ، فقم بإسقاط تعليق أدناه وسأبذل قصارى جهدي لمساعدتك.

الخطوة 4: تجميع الأجهزة

تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة
تجميع الأجهزة

لحام المكونات في ثنائي الفينيل متعدد الكلور الصغير كما هو موضح هنا:

يجب أن تقطع الخيوط الخاصة بمصابيح LED وترانزستورات الصور بالطول ، تقريبًا _.

قم بلحام Arduino على اللوحة ، وقم بتوصيل المقاومات من الأرض إلى المسامير التي يمكن الوصول إليها. بالإضافة إلى ذلك ، تأكد من إمكانية توصيل الأسلاك الموجبة الأربعة معًا بسهولة. إذا كنت تواجه مشكلات مع هذا ، فيمكنك تجريد قطعة من السلك ولحامها عبر جميع الخيوط في النهاية.

لقد قمت بتوصيل المستشعرات بالجانب الآخر من العلبة ، ولكن لا تتردد في توصيل الأسلاك طالما أنك تحافظ على اتساق الجانبين. لقد قطعت الأسلاك لتطول ولحمت الأسلاك بكل من الثنائيات أخيرًا. لقد قمت بتحديث توجيه الأسلاك قليلاً لتوفير مساحة أكبر وقلق أقل لوجود بعض الأسلاك تحت PCB وغيرها لسهولة الاستخدام. توجد سجلات STL في ملف مضغوط للمشروع الكامل في بداية المشروع.

الخطوة 5: التجميع النهائي

التجميع النهائي
التجميع النهائي
التجميع النهائي
التجميع النهائي
التجميع النهائي
التجميع النهائي

إذا كانت ثقوب PCB الخاصة بك لا تتطابق مع الثقوب الموجودة على جسم الكرونوغراف الرئيسي ، فيمكنك على الأرجح تأمين الإلكترونيات في العلبة ببعض الشريط أو الغراء الساخن ، لقد وجدت أنه لا يلزم تأمينها بعد السلك و USB كانت في مكانها الصحيح ، ولكن قد تختلف نتائجك. إنه مصمم للسماح بضغط فتيل 1.75 مم في فتحات المسامير لتسخين الحرارة ، ومع ذلك يمكن أيضًا ربط ثنائي الفينيل متعدد الكلور أو لصقه. الجزء الأكثر أهمية هنا هو ضمان إمكانية الوصول إلى منفذ USB.

قم بتغطية الإلكترونيات بغطاء الإلكترونيات ، يجب أن تتناسب الملفات المحدثة بشكل أفضل من الملفات الخاصة بي ، ونأمل أن تضغط في مكانها ، لكنني استخدمت قلم طباعة ثلاثي الأبعاد لتلحيم الأغطية في مكانها. أنت الآن جاهز لإطلاق بعض السهام!

قد يستخدم التحديث المستقبلي التوجيه الداخلي للأسلاك ، لكن الأغطية في هذه الحالة تؤدي بشكل طفيف إلى جمالية Nerf.

الخطوة 6: الكرونوغراف في العمل

Image
Image
الكرونوغراف في العمل
الكرونوغراف في العمل

فتح ملف المعالجة: سيسمح Chronograph_Intitial_Release بواجهة مستخدم رائعة حقًا للكرونوغراف الذي يعرض كلاً من FPS و RPS (عدد الدورات في الثانية). إذا كنت تواجه مشكلة في الاتصال ، فتأكد من إغلاق شاشة Arduino التسلسلية ، فقد تضطر أيضًا إلى تغيير المنفذ التسلسلي في الكود ، ولكن تم التعليق على هذا ويجب أن يكون بسيطًا. لإعادة تعيين القيم القصوى ، ما عليك سوى الضغط على مفتاح المسافة على جهاز الكمبيوتر الخاص بك.

قليلاً عن كيفية عمل الكود (يمكن رؤية صورة واجهة المستخدم أعلاه):

  1. يتلقى المدخلات من Arduino
  2. يقارن هذا الإدخال السابق للعثور على القيمة القصوى
  3. يعرض القيم الحالية والحد الأقصى في وضع ملء الشاشة للحصول على ملاحظات مرئية سهلة
  4. يعيد تعيين القيمة القصوى عند الضغط على الفضاء

الخطوة السابعة: الخطط المستقبلية

سيتضمن التحديث المستقبلي لهذا التحسينات التالية. إذا كانت لديك ميزات إضافية تريدها ، فيرجى إبلاغي بها وسأحاول تنفيذها.

  1. تشمل شاشة LCD
  2. تشمل البطاريات
  3. نقاط المرفقات المتوافقة مع نيرف
  4. الضميمة المحدثة
  5. مشاهد حديدية

موصى به: