كيفية بناء آلة اردوينو الكرة والدبابيس: 15 خطوات (مع صور)

Ù...غربية Ù...ع عشيقها في السرير، شاهد بنفسك

Ù...غربية Ù...ع عشيقها في السرير، شاهد بنفسك

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

Anonim

إذا كنت مثلي ، فأنت تحب الكرة والدبابيس ، لكن ليس لديك المال للشراء أو المساحة لتلائم لعبة بالحجم الكامل. فلماذا لا تبني بنفسك؟

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

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

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

اللوازم:

الخطوة 1: التصميم

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

يتم تضمين الملفات في المستودع ، لذلك لا تتردد في ضبط التصميم ليناسب خيالك.

بعض النقاط البارزة في التصميم:

ملعب 42 بوصة × 20.25 بوصة ، وهو بالضبط حجم ألعاب Bally style. إنه مصنوع من خشب رقائقي ½ ”، وهو قياسي ولا ينبغي تغييره لأن مجموعات أجزاء الكرة والدبابيس مصممة لهذا السماكة. تتكون الجدران هنا من طبقة "أعلى" من الطبقة "". في النموذج الأولي الأول ، تم تضمين جدران "فقط" ، ولكن ثبت أن هذه الجدران قصيرة جدًا ويمكن أن تنشر الكرة في الهواء على الطلقات القوية للغاية. ثانياً ، يسمح هذا التصميم بخط الرماية المرتفع قليلاً (في الصورة أعلاه) والذي يسمح للكرة بالتساقط قليلاً في الملعب ، ولكن ليس في الخلف.

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

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

الخطوة 2: قطع الخشب

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

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

باستخدام قاطعة الليزر ، قمنا بقص الأشكال الخاصة بملعب ، الطبقة المتوسطة "(استخدمنا duron ، مادة أولية نموذجية تشبه الخشب ، ولكن" الخشب الرقائقي سيعمل أيضًا) ، "الطبقة العلوية" و " يدعم.

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

  • p "الخشب الرقائقي لملعب وقاعدة
  • "الخشب الرقائقي أو duron لطبقة الجدار المتوسطة
  • مسامير خشبية "،" و "and" و 1 "
  • الوصول إلى جهاز التوجيه CNC أو القاطع بالليزر

الخطوة 3: تجميع Playfield

ابدأ بربط القطع من طبقة "دورون" على الخشب الرقائقي في مواقعها. باستخدام مثقاب يدوي ، أول فتحات تجريبية للحفر باستخدام 3/32 بوصة ، ثم استخدم مسامير خشبية ذات رأس مسطح لإرفاق طبقة "to" بساحة اللعب من المهم القيام بذلك من أعلى لأسفل (أي بحيث يمر البرغي أولاً عبر الطبقة "،" ، ثم إلى القاعدة "" ، نظرًا لأن الأجزاء "small" صغيرة ورقيقة وسوف تنحرف بعيدًا عن الطبقة الأساسية إذا تم الحفر في الاتجاه المعاكس. من المهم أيضًا التأكد من تدفق رؤوس البراغي بالطبقة "" وعدم توفير أي سمك إضافي.

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

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

أخيرًا ، قم بتوصيل كتلة مطلق النار (في الصورة أعلاه ، مع مطلق النار) عن طريق الشد من الجانب السفلي باستخدام مسامير 2 حتى لا يمكن تحريك الكتلة بسهولة. تحتوي كتلة مطلق النار على فتحة على شكل حرف "U" تناسب مطلق النار ، والتي يمكن تثبيتها عن طريق تشديد الجوز على الجانب الآخر. قد تضطر أيضًا إلى استخدام مواد التشحيم لتقليل الاحتكاك بين قضيب الرماية والكرة.

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

بالنسبة للجزء الأكبر ، هذا يختتم أعمال النجارة ، ويمكننا الانتقال إلى وضع المكونات.

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

  • 3/4 "مسامير الخشب رئيس شقة
  • الجمعية مطلق النار
  • مسامير خشبية أطول (~ 1.5 ")
  • الحفر اليد مع 3/32 "بت
  • زيت التشحييم
  • 1 "مسامير الخشب رئيس شقة
  • ملف و / أو دريميل ، وصنفرة

الخطوة 4: إضافة المكونات

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

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

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

وبالمثل ، قم بتثبيت جميع مفاتيح الانقلاب باستخدام البراغي 1/2 "، مما يضمن إمكانية الضغط عليها بسهولة من الأعلى والرجوع إلى مكانها. باستخدام البراغي 6-32 ، قم أيضًا بتوصيل مفتاح البوابة في الجزء العلوي الأيسر من يعمل مفتاح البوابة هذا أيضًا بمثابة فتحة في اتجاه واحد ، مما يسمح للقطات من الجانب الأيمن ومن مطلق النار بالسقوط في مصدات الصدمات ، وهذا جانب من جوانب التصميم ينتج عنه لقطات تدخل في الطريق المنحدر الأيمن والحلقة اليمنى أماكن مختلفة ويضيف المزيد من التنوع في اللعب.

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

بعد ذلك ، أدخل المصابيح في أقواسها عن طريق إدخالها ولفها في مكانها. ثم ، ضع الأقواس في مكانها بحيث توضع مصابيح LED هذه أسفل كل إدخال مباشرةً. الأقواس الخفيفة الموصولة أدناه رقيقة جدًا ، وفي الواقع رفيعة بدرجة كافية لدرجة أن البراغي 1/2 "قد تخترق الجزء العلوي من الطاولة. استخدم زوجين من الغسالات حتى لا يحدث هذا.

يتم تثبيت المشاركات playfield باستخدام البراغي 6-32. بمجرد التثبيت ، لف المطاط من مجموعة المطاط من حولهم لصنع مصدات سلبية. هذه تعطي طاولة "حياة" أكثر بكثير مما لو كان التصميم ليكون الخشب الرقائقي تماما. باستخدام نفس البراغي ، قم بإرفاق أدلة الممر أعلى الزعانف مباشرة. الغراء أيضا التبديل نهاية اللعبة في مكانه.

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

يتم تثبيت أزرار الزعنفة وزر البدء عن طريق وضعها في الثقوب والقفل في مكانه مع الجوز. يتم تبديل مفاتيح أوراق أزرار الزعنفة داخل الأزرار باستخدام 6-32 براغي وستغلق دائرة التبديل عند الضغط على الأزرار.

في هذه المرحلة ، سوف يشبه ملعبك (من الأعلى) جدول الكرة والدبابيس شبه الكامل! كل ما هو مفقود هو الطريق المنحدر. لا تتردد في الشعور بشماتة بين أصدقائك حول مدى روعة مظهره بينما تشعر بالخوف من القطاع الخاص حول مقدار ما يجب القيام به من الأسلاك واللحام.

المواد المطلوبة (تم شراء معظمها من PinballLife.com ، ويمكن العثور عليها ببساطة من خلال البحث في المصطلحات أدناه).

  • 1 3-البنك قطرة الهدف التجمع
  • 3x الجمعية الوفير البوب
  • 1 اليسار التجمع زعنفة
  • 1 مجموعة الزعنفة الصحيحة
  • 2 الزعانف الخفافيش
  • 2 أزرار زعنفة
  • 2 زعنفة زر الجوز
  • 1 زر البداية
  • 1 مجموعة حلقة مطاطية
  • ~ 30 منشورًا لنجوم playfield ، (1/16 "مستخدم)
  • 2 خطوط حارة
  • 2 زعنفة مفاتيح ورقة زر
  • 2 جمعيات مقلاع
  • 1 هدف ستاندوب
  • 10 مفاتيح التبديل
  • 8 أضواء LED # 44 على غرار حربة
  • بين قوسين خفيفين على شكل حربة (مقبس صغير من نوع Bayonet Base مع قاعدة تثبيت طويلة)
  • 5 1-1 / 2 "x 13/16" إدراج السهم الأزرق
  • 3 1 "س 3/4" إدراج الرصاصة واضحة
  • 6-32 براغي (2.5 "، وكذلك بعض الأحجام الأصغر) والمكسرات والغسالات
  • ~ 2 "تبديل بوابة واسعة (مثل واحد هنا ، قد يكون من الصعب العثور على هذا ، قمنا بتخليصنا من منحدر قديم في الكرة والدبابيس تم شراؤه على موقع ئي باي)

الخطوة 5: بناء الطريق المنحدر

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

تتم طباعة دعامات سلالم ثلاثية الأبعاد باستخدام makerbot وانسحب إلى الملعب والبلاستيك باستخدام نفس البراغي 6-32.

يتم لصق قطع الأكريليك هنا معًا باستخدام الأسمنت الأكريليكي ، وهو مذيب يذوب البلاستيك ويلحمه معًا. تأكد من استخدام كمية صغيرة ، وستكون رابطة قوية للغاية غير مرئية تقريبا.

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

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

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

  • 1/4 "صفيحة أكريليك (12 × 24" ورقة)
  • 1/2 "ورقة شفافة (12 × 24")
  • الاسمنت الاكريليك
  • الوصول إلى طابعة ثلاثية الأبعاد وقاطع ليزر
  • رفرف منحدر
  • مسطح الرأس 6-32 مسامير لرفرف المنحدر
  • مثقاب غرفة أو أداة يدوية
  • بوابة ضيقة التبديل

الخطوة 6: خطة كتلة الالكترونيات وتخطيط دبوس

(تحديث المؤلف: مع الاستخدام المطول ، يمكن لـ 48V أن تهب بعض الترانزستورات في هذا التكوين. أوصي باستخدام 35 فولت أو أقل مع هذه الأجهزة الإلكترونية ، أو باستخدام مورد لوحة تحكم أكثر احترافًا مثل تلك المذكورة هنا: http: // pinballmakers كوم / ويكي / index.php / البناء)

يحتوي هذا الجهاز على 3 مستويات من الجهد: 48 فولت للطاقة اللولبية ، 6.3 فولت للمصابيح ، و 5 فولت للمنطق والصوت. لتوفير مستويات الجهد هذه ، استخدمنا مصدر طاقة باستخدام الحاسب الآلي لمحولات التيار المتردد 48 فولت والتيار المستمر لتوفير 6.3 فولت و 5 فولت. (قد يكون من الممكن استخدام 6.3 فولت فقط ، لأن Arduino ينظم جهد تزويده إلى دبوس خرج 5V ، لكننا حافظنا على إمدادات الطاقة هذه معزولة). 48V هو الجهد العالي ، وعلى الرغم من كونه غير قاتل في حد ذاته ، فإنه يمكن أن يتلف الأجزاء ويمكن أن يتسبب في ارتفاع درجة حرارة المكونات بسرعة إذا كانت هناك أي مشاكل مع الدوائر. استخدم فتيل بطيء 5-A على كل من المدخلات والمخرجات من مصدر الطاقة الرئيسي 48V لتجنب بدء حريق إذا كان أي من الترانزستورات قصيرة.

على درع Arduino ، قمنا بتوصيل الأسلاك مع موصلات موليكس الأنثوية المصممة التي تتوافق مع متطلبات المدخلات والمخرجات لكل من اللوحات الفرعية الثلاثة: لوحة سائق الملف اللولبي ، لوحة سائق الأنوار / الصوت ، ولوحة الإدخال.

في تصميمنا ، كان لدينا تعيينات دبوس التالية. هذا ، بالطبع ، مرن للغاية. تم ترك Pin 0 مفتوحًا. (لا تسمح لنا Instructables بالقيام بقوائم الأرقام بدءًا من 0.)

  1. افتح
  2. افتح
  3. المقاطعة / الإدخال نشط دبوس
  4. مشفرة دبوس الإدخال
  5. مشفرة دبوس الإدخال
  6. مشفرة دبوس الإدخال
  7. مشفرة دبوس الإدخال
  8. مشفرة دبوس الإدخال
  9. خرج الوفير الصحيح
  10. خرج الوفير الأوسط
  11. خرج الوفير الأيسر
  12. إسقاط الناتج المستهدف
  13. الناتج التبديل الزعنفة الرئيسية
  14. سيد التبديل الناتج الضوء
  15. دبوس ضوء الانتاج
  16. دبوس ضوء الانتاج
  17. دبوس ضوء الانتاج
  18. دبوس إخراج الصوت
  19. افتح

على الرغم من عدم تطبيقه في تصميمنا ، يمكن استخدام دبابيس SCL و SDA للعرض ويمكن استخدام المسامير المتبقية للتحكم الإضافي ، مثل إضافة ميزات (عودة الكرة) أو مزيد من تركيبات الإضاءة.

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

  • 48V CNC امدادات الطاقة (مثل هذا واحد)
  • مزود الطاقة 6.3V و 5 V (مثل هذا واحد)
  • 5A الصمامات ضربة بطيئة وأصحاب الصمامات ، وأنابيب تقلص الحرارة للاتصال
  • موصلات موليكس
  • اردوينو النموذج مجلس الدرع
  • الكثير من الأسلاك 22AWG ، جندى ، والصبر

الخطوة 7: اصنع لوحات السائق

تكون لوحة التشغيل مسؤولة عن تحويل المدخلات من Arduino ، وأزرار التقليب ، وتحول المقلاع إلى إطلاق الملفات. نظرًا لأن الإشارات عند مستوى 5V والملفات اللولبية عند 48V ، فإن MOSFETS ذات القدرة الضخمة ضرورية لترحيل الإشارة. الترانزستورات المستخدمة في هذا التصميم هي هذه MOSFETs 100V تصنيفها من صائد الفئران.

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

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

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

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

دائرة السائق الملف اللولبي المصد / droptarget بسيطة إلى حد ما ولها فقط الترانزستور ، الملف اللولبي ، snubber ، واتصال لتلقي المدخلات من اردوينو. في هذه اللوحة واللوحات اللاحقة ، تأكد من توصيل الملف اللولبي بحيث يشير الثنائي (الذي لا يظهر في المخطط) إلى جانب الجهد العالي.

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

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

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

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

تتألف لوحة التشغيل (في الواقع لوحتان) من سائقين قابليين ، وسائقين مقلاعين ، وأربعة برامج تشغيل أحادية المحولات للملفات اللولبية المتبقية. بدلاً من اللحام مباشرة ، استخدمنا موصلات موليكس مقاس 0.1 بوصة لتوصيل هذه اللوحة بالملفات اللولبية وإمدادات الطاقة والمفاتيح ، بحيث يمكن إجراء أي إصلاحات أو تعديلات بسهولة أكبر.

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

المواد:

  • 12 الترانزستورات السلطة 100V تصنيف
  • 10-50 المكثفات UF (غير القطبية إذا كان ذلك ممكنا)
  • مقاومات 300 و 5 ك و 500 ك و 3 م
  • 1 الترانزستور أصغر للتبديل مقلاع
  • عدة 1N4004 الثنائيات
  • النموذج الأولي للوحات الألواح القابلة للحام (أو ، على نحو أفضل ، تصميم مركبات ثنائي الفينيل متعدد الكلور الخاصة بك)

الخطوة 8: اصنع لوحة إدخال المستشعر

نظرًا لأننا نستخدم Arduino فقط ، فإننا نقتصر على 20 دبوسًا رقميًا. ومع ذلك ، فإن آلة الكرة والدبابيس لديها بضع عشرات من مفاتيح التبديل الفريدة ، ناهيك عن المخرجات اللازمة للأضواء والصوت وملفات لولبية القيادة. للتخفيف من هذه المشكلة ، افترضنا أنه لن يتم تشغيل أي مُدخلين في نفس الوقت (مما يحدنا من استخدام كرة واحدة فقط). يتيح لنا هذا الافتراض "تشفير" مدخلات المحول عن طريق تحويلها إلى سجل ثنائي من 5 بتات باستخدام دبوس سادس أدى إلى مقاطعة كلما تم تلقي إدخال تبديل صالح. لتحقيق ذلك ، استخدمنا سلسلة من برامج التشفير من 8 إلى 3 لإنشاء تشفير من 24 إلى 5 باستخدام هذا التشفير في التخطيط الموضح في الصور أعلاه.

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

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

المواد:

  • 4 - 3 - الدولة - أولوية التشفير 8 إلى 3

الخطوة 9: اصنع لوحة محيط Light / sound / score

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

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

بينما استخدمنا مصابيح LED منخفضة الحالية لكل من أضواء ملعب (تلك الموجودة أسفل إدراج) ، فإن زر البداية و 3 مصدات البوب ​​تأتي مع المصابيح المتوهجة التي تجذب حوالي 250mA لكل منهما. تم تصنيف الترانزستورات لقيمة 530mA من التيار المستمر ، حتى لا تتجاوز ذلك ، حرصنا على أن اثنين فقط من المصابيح المتوهجة قد مرت عبر ترانزستور واحد.

لقد قمنا أيضًا بإرفاق صفارة بيزو سلبية 5 فولت والتي تسمح لنا بلعب الأصوات البدائية على هذه اللوحة.

يمكن برمجة تسلسلات الضوء والصوت المخصصة باستخدام وظائف light_sequence + sound_sequence أو من خلال واجهة Pinball Language.

  • 10 الترانزستورات الإضاءة (استخدمنا هذه)
  • 5V بيزو الجرس

الخطوة 10: الخطوة 11: تصميم قواعد اللعبة

هناك خياران لتحديد قواعد لعبة الكرة والدبابيس. يمكنك التفاعل مع اللعبة باستخدام مستند pinball قابل للتخصيص ، أو قواعد لعبة الأكواد الصلبة. تسمح قواعد اللعبة ذات الترميز الثابت بمزيد من المرونة ، بما في ذلك اللقطات المتسلسلة والمكافآت المحددة توقيتًا ، بينما يسمح استخدام نظام pars / document parser بقواعد أكثر مرونة ، ولكن أسهل. سنبدأ بالواجهة الخاصة باللعبة القابلة للتكوين ، ثم نوضح بعض قواعد اللعبة المرمّزة بحيث يمكنك اختيار التهيئة التي تريدها للعبة الكرة والدبابيس الخاصة بك.

راجع مستودع github هنا للاطلاع على الملفات المشار إليها في هذا المشروع.

الجزء 1. تصميم قواعد اللعبة الخاصة بك

يتم توفير آلة الحالة الافتراضية للعبة الكرة والدبابيس في الصورة.

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

الخطوة 11: الخيار 1. اكتب ملف Pinball.txt الخاص بك

في وثيقة الكرة والدبابيس النصية ، ستجد ثلاثة أقسام: قسم للأجزاء ، والآخر لـ "الحالات" والآخر لـ "الإجراءات". هنا ، يمكنك تحديد الإجراءات المحددة لكل مكون. بالنسبة لمعظم المكونات ، قد ترغب في التمسك بجهاز الحالة الواحدة. على سبيل المثال ، في كل مرة يتم فيها إصابة أحد المصدرين ، يجب أن يسجل اللاعب 100 نقطة إضافية ، ويضيء مصباحًا منحدرًا ، ويسجل 100 نقطة ، عندئذٍ سيظهر الرسم التخطيطي للولاية بالشكل 1 بالرمز المقابل. إذا كنت تريد أن يكون للمكون آلة حالة متعددة الحالات ، على سبيل المثال ، كنت تريد أن يضيء المصباح عند إصابة أحد المصدرين ، ثم يتم إيقاف تشغيله عندما يتم ضربه مرة أخرى ، فإن مخطط الحالة / الحالات المقابلة له سيبدو الشكل 2 يوفر الجهاز الخاص بنا الهياكل ، كما في الشكل 3 ، والتي يمكنك من خلالها تحديد القواعد. أسماءهم ، ووحدات الماكرو المشفرة الداخلية (التي لا داعي للقلق بشأنها ولكنها قد تكون مفيدة إذا قررت التحقق من الكود المصدر) ، وترد رموز المقاطعة في الشكل 3. الشكل 4 يربط هذه الأسماء بمكونات ملعب.

نصائح لكتابة لعبة الكرة والدبابيس
نظرًا لأن مكونات اللعبة مرتبطة بمقاطعات معينة (يشار إليها في حقل "pos") والتي يتم تعريفها بدورها بواسطة الجهاز ، فإننا لا نوصي بتعديل قسم "الأجزاء" خارج نطاق "الحالات". نقترح حالة الحجز 0 والإجراء 0 للمكونات التي ليس لها تأثيرات على التسجيل ، مثل زر البداية ومفتاح اللعبة. يبدو رمزنا كما هو موضح في الشكل 5.

الخطوة 12: تحديد تسلسل الضوء والصوت

يتم التحكم في المصابيح الثمانية على اللوحة باستخدام وحدة فك ترميز من 3 إلى 8 + مفتاح رئيسي واحد ، كما هو موضح سابقًا. يمكن أن تضيء مصابيح محددة عن طريق كتابة المسامير المقابلة للنسخة المشفرة الثنائية من كود الجزء العالي. توفر وظيفة المساعد light_sequence واجهة للمستخدم لتحديد الضوء الذي يريد أن يضيء ، ويتم تعريف وحدات الماكرو في وثيقة state_machine_headers.h. تم توفير جدول مرة أخرى لراحة البرمجة الخاصة بك. بالنسبة إلى الصوت ، استخدمنا مكتبة نغمات Arduino لبرمجة تسلسلات صوتية قصيرة لمختلف أحداث اللعبة. لدينا أربعة أصوات مسبقة الصنع يمكنك الاختيار من بينها (باستخدام executeSound (<# الصوت الذي تريده>)). تتوافق هذه الأصوات مع تسلسل طويل ومبهج وتسلسل قصير مرح وتسلسل حزين قصير وتسلسل حزين طويل. إذا كنت ترغب في برمجة الأصوات الخاصة بك ، يمكنك البحث هنا عن كيفية القيام بذلك (تم تضمين pitch.h في المستودع): http://www.arduino.cc/ar/Reference/Tone

الخطوة 13: تحميل ملف Pinball.txt إلى Arduino

بمجرد الانتهاء من كتابة FSM ، إليك كيفية تحميل اللعبة على Arduino (يفترض أنك تستخدم Mac). يمكن العثور على جميع الملفات في مستودع جيثب.

  1. قم بفك ضغط ملف اردوينو التسلسلي.
  2. انتقل إلى ملف arduino-serial ، واحفظ ملف تهيئة اللعبة هنا. يوفر "Pinball.txt" قالب نموذج يمكنك استخدامه.
  3. افتح اردوينو. قم بتحميل رسم لعبة الكرة والدبابيس.
  4. افتح الجهاز الطرفي ، واكتب الأوامر التالية:
    • يصنع
    • ./arduino- المسلسل -b 9600 -p pinball.txt
  5. الآن ، يجب علينا قراءة وتخزين البيانات في ذاكرة Arduino الداخلية. إذا كان هناك أي خطوط مشوهة ، فستقوم Arduino بطباعة رسالة خطأ ويمكنك اختيار إعادة إرسال الملف.
  6. عندما تنتهي من تحميل الكود باستخدام الجهاز ، على سبيل المثال عندما يطبع Arduino رسالة "منتهية" ، يمكنك فتح Arduino Serial لقراءة الرسائل من اللعبة قيد التقدم.

المشاكل / التحسينات الشائعة للعبة البرمجيات

  1. من الصعب ترميز مقابل الألعاب شكلي - لاحظنا أن المقاطعات في اللعبة ذات الترميز الثابت استجابت بشكل أكثر دقة من تلك الموجودة في اللعبة القابلة للتخصيص. قد يكون هذا بسبب أن اللعبة القابلة للتخصيص لديها الكثير من وظائف الأغراض العامة التي تتطلب عبارات شرطية. أدى ذلك إلى إبطاء سرعة قراءة الحلقة ، مما تسبب في فقدان العديد من المقاطعات وأثر على سرعة التشغيل الإجمالية للعبة. لحل هذه المشكلة ، قمنا بتقليل بعض من تخصيص لعبة ملف config من أجل تحقيق أوقات استجابة مقبولة في الدائرة. كان لدينا في الأصل مخاوف بشأن سعة ذاكرة الوصول العشوائي لأردوينو ومدى قواعد اللعبة التي يمكن تخزينها ، ولكن تبين أن ذلك كان مشكلة أقل مما كان متوقعًا في الأصل ، وكانت سرعة الحلقة هي العامل المحدد الأكبر.
  2. Debuging interrupts - بسبب الإجراءات السريعة للعبة الكرة والدبابيس ، كان لدينا عدة حالات كان فيها دبوس المقاطعة يتلقى عدة مقاطعات للكرة الدائرية التي تصل إلى مكون لعبة واحد فقط. بالإضافة إلى ذلك ، نظرًا لاستلام هذه المقاطعات قبل أن يتاح لبرنامج التشفير قراءة جميع المدخلات بشكل صحيح ، سيتم ربط المقاطعات بمكونات غير صحيحة. لحل هذه المشكلة ، استخدمنا مكتبة ارتداد خارجية تستجيب لـ 1 مللي ثانية بعد تلقي المقاطعة الأولى ، مما يتيح وقتًا لدبابيس التشفير للوصول إلى أعلى قبل أن تقرأ اللعبة رمز الإدخال.
  3. العرض - على الرغم من أن العرض التسلسلي يسمح للعبة بطباعة الرسائل التفصيلية ، إلا أنه يصعب على اللاعب قراءة رسائل الإخراج عند لعب لعبة الكرة والدبابيس السريعة. كما أنه ليس من السهل على اللاعب أن يلعب اللعبة مع جهاز كمبيوتر متصل. في المستقبل ، نأمل في تطبيق عرض رقمي يمكنه عرض النتيجة ومعلومات اللعبة الأخرى في شاشة يمكن للمستخدم رؤيتها بسهولة ، مثل مصفوفة LED أو شاشة عرض من 7 شرائح.

الخطوة 14: الخيار 2: تقديم المشورة بشأن الترميز الثابت لعبتك الخاصة

أولاً - قم بقراءة المستند state_machine_headers.h لفهم هياكل البيانات العالمية التي تخزن معلومات حول جهاز الحالة. يجب عليك تهيئة بنيات البيانات هذه لقواعد اللعبة الخاصة بك داخل Arduino IDE قبل التحميل في كود Arduino. يتم توفير بنيات البيانات التالية:

هياكل اللعبة للاحتفاظ بمعلومات حول كل جزء. الدول للاحتفاظ بمعلومات حول حالات الانتقال إلى الحالة. تحديد المدخلات / المخرجات لجميع المسامير. يجب تعريف دبابيس المقاطعة كدبابيس INPUT.

داخل الحلقة الرئيسية ، تحقق من كل دورة لمعرفة ما إذا كان قد تم تشغيل مقاطعة لكل مكون لعبة. تحديد كل مكون اللعبة ضمن بيان التبديل.

تقوم وظيفة المساعد executeState بتحديث الحالة الحالية للجزء ، وتنفيذ الإجراءات بناءً على المعلومات المرمزة.

يمكن العثور على الإصدار الأول الثابت من رمز اللعبة في ملف "simplepinballgame.ino"

الخطوة 15: توصيل كل شيء

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

فيما يلي الأسئلة الشائعة حول استكشاف الأخطاء وإصلاحها في حال واجهتك أيًا من المشكلات الشائعة التي واجهناها:

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

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

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

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

يتمتع المشفر بخاصية مؤسفة تتمثل في نبض دبوس المؤشر أحيانًا مرتفعًا قبل أن تتمكن دبابيس التشفير الخمسة من حل قيمها بالكامل. بالنسبة إلينا ، علمنا أن هذا قد حدث عندما كان رقم المفتاح الذي يتم الضغط عليه منفصلًا عن الآخر ، ولكن قد يظهر بشكل مختلف بالنسبة لك. لقد حللنا هذه المشكلة عن طريق استخدام مكتبة ارتجاعية لإنشاء قدر ضئيل من التأخير بين حين نلاحظ أن مبدلاً قد تغير ومتى نسجل مبدئيًا. مع ذلك ، يجب أن يسبب لك التأخير (أكثر من 15-20mS) فقدان المدخلات تمامًا.

آسف ، لكننا لم نتوصل إلى حل جيد لهذا الحل حتى الآن.