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

أوسو! لوحة المفاتيح: 8 خطوات (بالصور)
أوسو! لوحة المفاتيح: 8 خطوات (بالصور)

فيديو: أوسو! لوحة المفاتيح: 8 خطوات (بالصور)

فيديو: أوسو! لوحة المفاتيح: 8 خطوات (بالصور)
فيديو: بعض اختصارات ويندوز 8 و ويندوز 8.1 2024, يوليو
Anonim
أوسو! لوحة المفاتيح
أوسو! لوحة المفاتيح

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

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

ملاحظة 1: يتم استخدام مكونات SMD (إلكترونيات صغيرة) ، لذا إذا قمت بتكرار هذا المشروع ، فستكون مهارات لحام المشروع مطلوبة. ربما ستتم إضافة نسخة سهلة اللحام ولكن هذه المصابيح لا تأتي في عبوة حفرة صغيرة

ملاحظة 2: لقد قمت بتحديث الكود عدة مرات وأصل إلى الإصدار 3ish الآن. سأترك جميع الكود على الإنترنت ولكني أوصيك باستخدام الإصدار الأخير. لا تحتوي حاليًا على وظيفة LED ولكن يجب أن تكون الأفضل أداءً.

الخطوة الأولى: المواد والشروحات

المواد والشروحات
المواد والشروحات

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

1 اردوينو برو ميكرو + كابل يو اس بي

3 مفاتيح حمراء Kailh BOX

3 10 كيلو المقاوم (0805 SMD)

3100nF مكثف (0805 SMD)

4 APA102 RGB LED (5050 SMD)

3 كيكابس

1 لوحة الدوائر المطبوعة (PCB) المتوفرة في هذا المشروع

1 حقيبة مطبوعة ثلاثية الأبعاد متوفرة في هذا المشروع

لماذا أستخدم Arduino pro micro؟

لا تحتوي معظم لوحات اردوينو مثل Uno (Atmega328) على دعم محلي لاتصالات USB. نعم ، يمكنك برمجتها عبر USB بسهولة شديدة وأعتقد أن هناك حلولاً بديلة ، لكني أحب أن أبقي الأمر بسيطًا عندما يتعلق الأمر باتصال USB ولا أعرف ما إذا كانت الحلول سريعة الاستجابة. تستخدم هذه اللوحات شريحة خارجية لجعل اتصال USB ممكنًا بينما يحتوي Arduino pro micro (Atmega32U4) عليه.

المفاتيح

هناك العديد من المفاتيح الميكانيكية التي يمكنك استخدامها. خطي أو ملموس أو نقر من Kailh أو Cherry MX. اختيار أي من أي وقت مضى تريد. لقد استخدمت مفاتيح Kailh لأنها كانت رخيصة على Ailexpress. إذا اخترت استخدام PCB ، فستحتاج إلى مفاتيح Kailh BOX. اللون يحدد الشعور.

المكونات الإلكترونية

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

الأسكان

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

الخطوة 2: التخطيطي

التخطيطي
التخطيطي

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

قم بتبديل التوصيلات إلى Arduino

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

دائرة debounce

على الجانب الأيسر من المخطط توجد دائرة تم نسخها 3 مرات. تُستخدم هذه الدائرة لنفض المفتاح. لمعرفة ما هو التنطيط ، تحتاج إلى فهم ارتداد التبديل وليس من الصعب فهمه.

انظر أولاً إلى هذه المحاكاة لرسم صورة أولى (انقر فوق المفتاح سريعًا وانظر إلى الإشارة أدناه)

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

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

متقدم:

يقرأ Atmaga32U4 انخفاض رقمي عند 0.2Vcc - 0.1V = 0.9 فولت. جهد المكثف في أي وقت في تفريغه هو Vcc * e ^ (- t / RC). إذا كنت تقيس وقتًا مختلفًا للارتداد على المفتاح ، فيمكنك حساب قيم المقاوم والمكثف.

صيغة الصيغة

المصابيح

مصابيح rgb LED هي مصابيح APA102 يمكن معالجتها بشكل فردي باستخدام ساعة وخط بيانات. ليست هناك حاجة إلى مكونات خارجية لجعلها تعمل. بالنسبة للعديد من مصابيح LED ، يجب استخدام مكثف موازٍ لجهد 5 فولت والأرضي ولكن مع 4 مصابيح LED فقط لا تحتاج إليه.

الخطوة الثالثة: تصميم اللوحة

تصميم المجلس
تصميم المجلس

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

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

لطلب PCB ، انتقل إلى https://jlcpcb.com/ واختر الخيار ذو الطبقتين. سيطلب منك ملف جربر. قم بتنزيل ملف ".zip" واسحبه إلى النافذة. لا تحتاج إلى فك ضغطه. يجب أن تكون الإعدادات جيدة ويمكنك المضي قدمًا وإكمال الطلب.

الخطوة 4: تصميم العلبة ونصائح التجميع

تصميم العلبة ونصائح التجميع
تصميم العلبة ونصائح التجميع
تصميم العلبة ونصائح التجميع
تصميم العلبة ونصائح التجميع
تصميم العلبة ونصائح التجميع
تصميم العلبة ونصائح التجميع
تصميم العلبة ونصائح التجميع
تصميم العلبة ونصائح التجميع

تصميم

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

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

المجسم

الآن لديك كل المكونات اللازمة للتجميع. هناك أمر لتجميع هذا الإصدار الأول لأن المفاتيح ملحومة.

1. جندى مكونات SMD. هذه هي المقاومات والمكثفات ومصابيح LED.

2. جندى اردوينو الموالية الصغيرة.

3. ضع المفاتيح الثلاثة في لوحة الغلاف المطبوعة ثلاثية الأبعاد قبل اللحام. لا يمكن إزالة الغلاف بعد لحام المفاتيح. لا ينصح بإلغاء لحام المفاتيح وقد يؤدي إلى إتلافها.

4. الآن جندى المفاتيح في مكانها. افعل ذلك في أسرع وقت ممكن لأن المفاتيح البلاستيكية يمكن أن تذوب وتدمرها أو تقلل عدد نقراتها بشكل كبير.

5. ضع لوحة الغلاف المجمعة في العلبة المطبوعة ثلاثية الأبعاد وثبتها بشريط أو استخدم البراغي إذا لم تتداخل مع أغطية المفاتيح.

6. ضع أغطية المفاتيح على المفاتيح وتكون قد انتهيت.

توصيات

قم بإلغاء أو إخفاء مصابيح LED على اردوينو بعد تحميل الكود الخاص بك. من الجيد الحصول على المصابيح إذا لم يتم تحميل التعليمات البرمجية الخاصة بك ولكن ليس من الجيد النظر إليها كمنتج نهائي. مطلوب مهارة وملاقط مدببة.

كما أن بعض أقدام المقبض الموجودة في الأسفل لطيفة لمقاومة الانزلاق والسماح لضوء rgb بالتألق.

الخطوة 5: الرمز V1 (رفض الأجهزة)

الرمز V1 (رفض الأجهزة)
الرمز V1 (رفض الأجهزة)
الرمز V1 (رفض الأجهزة)
الرمز V1 (رفض الأجهزة)

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

تحميل الكود

قم أولاً بتنزيل جميع ملفات ".ino" الثلاثة ووضعها في مجلد واحد. إذا لم يكن لديك Arduino IDE ، فما عليك سوى تنزيله مجانًا على موقع arduino الرسمي.

قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك وافتح "OSU_Keyboard_code_V1.ino". في لوحة الأدوات ، حدد "Arduino / Genuino Micro". أيضًا في الأدوات ، حدد منفذ COM الصحيح. يمكن أن يتغير هذا في بعض الأحيان ، لتحميل الكود على Arduino الخاص بك ، ما عليك سوى النقر فوق السهم الموجود في أعلى يسار الشاشة والانتظار حتى يخبرك أنه مكتمل في أسفل اليسار.

OSU_Keyboard_code_V1

بما في ذلك وتحديد

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

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

ثم بتات المنفذ لبيانات LED والساعة.

كما يتم تحديد عدد المصابيح ومتغير لزاوية عجلة الألوان.

اقامة

سيتم تنفيذ هذا الجزء من الكود مرة واحدة فقط عند توصيل اردوينو.

أولاً ، يتم تعيين دبابيس الساعة والبيانات الخاصة بمصابيح LED كمخرجات ودبابيس التبديل كمدخلات. هذه هي النسخة المتقدمة من pinMode (). إذا كنت مهتمًا بالبحث عن "التلاعب المباشر بالميناء".

Keyboard.begin () ببساطة يبدأ اتصال USB كلوحة مفاتيح.

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

حلقة

سيتكرر هذا الجزء باستمرار أثناء تشغيل اردوينو.

أنا أستخدمه فقط لتغيير لون المصابيح وتحديثها.

المقاطعات

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

أولاً ، يتحقق من الضغط على الزر أو تحريره ويرسل أمر لوحة المفاتيح الصحيح.

LED (موضحة بترتيب مختلف)

إذا كنت مهتمًا بكيفية التحكم في مصابيح LED ، فيجب أن تنظر إلى ورقة بيانات APA102.

ون بت

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

أولاً ، يتحقق مما إذا كان يجب إرسال 0 أو 1 ويقوم على التوالي بسحب دبوس البيانات منخفضًا أو مرتفعًا. ثم يكتب دبوس الساعة مرتفعًا جدًا ويكتب منخفضًا مرة أخرى.

OneByte

هذا يكرر oneBit 8 مرات مع حلقة "for". يقرأ البت الأول في البايت ويمرر قيمته إلى الدالة oneBit ويفعل الشيء نفسه بالنسبة للبتات السبعة التالية.

ليدداتا

هذا يكرر واحد بايت 4 مرات لتوفير البيانات اللازمة لمصباح واحد. يبدأ البايت الأول بـ 111xxxxx وقيمة سطوع 5 بت في مكان xxxxx. يمكن ضبط السطوع من 0 إلى 31 (2 ^ 5 = 32 مستوى).

3 بايت التالية هي للقيم الأزرق والأخضر والأحمر. بايت واحد لكل لون.

ColorWheelThisLed

هذه الوظيفة تستدعي ledData وتعطيها ألوان rgb اعتمادًا على زاوية في عجلة الألوان.

قيمة 16 بت هي المقسوم على 6 أقسام متباعدة بشكل متساوٍ من 60 درجة. قد يساعدك النظر إلى الصور على الفهم بشكل أفضل.

(يتم توفير إصدار 8 بت أيضًا ولكن تم التعليق عليه لأنه وميض للغاية)

StartEndFrame

يجب استخدام إطار البدء في كل مرة تريد فيها إرسال ألوان جديدة إلى المصابيح وتريد تحديث اللون الفعلي للمصابيح

أنا أستخدم إطار البداية فقط لأن الإطار النهائي غير ضروري. إطار البداية هو 4 بايت من 0. إطار النهاية هو 4 بايت من 255 (11111111).

الخطوة 6: الرمز V2 (برنامج Debounce With Timers)

الرمز V2 (برنامج Debounce With Timers)
الرمز V2 (برنامج Debounce With Timers)

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

لن أشرح الكود على نطاق واسع مثل الإصدار السابق لأنه يصعب شرحه قليلاً.

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

الجانب السلبي الوحيد الذي يمكنني التوصل إليه هو أنه لا يمكن استخدام وظائف تأخير اردوينو بعد الآن. لأن وظائف التأخير تستخدم Timer 0 وهذا البرنامج يستخدم Timer 0 للتراجع.

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

الخطوة 7: الرمز V3 (برنامج Debounce With Vertical Counter) (موصى به) (بدون LED)

الرمز V3 (برنامج Debounce مع العداد العمودي) (موصى به) (بدون LED)
الرمز V3 (برنامج Debounce مع العداد العمودي) (موصى به) (بدون LED)

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

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

(بصراحة ، أصبح نصف هذا المشروع على الأقل عبارة عن زر تنطيط في هذه المرحلة)

بعد بعض البحث ، عثرت على هذا المنشور:

www.compuphase.com/electronics/debouncing….

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

تفسيري

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

بت واحد لكل قيمة

من خلال تطبيق العداد الرأسي ، من الممكن إلغاء أزرار متعددة في نفس الوقت ، بالتوازي. جميع القيم من النوع Byte (uint8_t) وتتكون من 8 بتات. نحن لا نهتم بقيمة أي من هذه البايتات ، ولكننا مهتمون بالبتات وحدها. كل بوتون يتم إلغاؤه يستخدم بت واحد فقط من كل بايت. يستخدم الزر الأول البتة الأولى فقط من كل بايت ، ويستخدم الزر الثاني البتة الثانية وما إلى ذلك.

جميعهم في وقت واحد

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

مع نوع بيانات 8 بت ، من الممكن القيام بذلك لـ 8 أزرار. يسمح استخدام أنواع بيانات أكبر بمزيد من عمليات التصحيح مرة واحدة.

الانهيار

يتم تنفيذ روتين debounce كل 1 مللي ثانية بمقاطعة المؤقت.

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

تشير دلتا إلى الاختلاف بين حالة الإدخال والحالة المرتجعة. فقط عندما يكون هناك فرق سيحسب العداد. ستتم إعادة ضبط العداد عند اكتشاف ارتداد (دلتا تساوي 0).

الخطوة 8: النتيجة

Image
Image

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

لا يُقصد بالإشارات السابقة حول V2 أن تكون وعدًا ، لذا لا تؤجل هذا المشروع لأنك تريد انتظار V2.

أتمنى أن تستمتع بلوحة المفاتيح الخاصة بك!

أوسو! الاسم: Thomazzz3

استكشاف الأخطاء وإصلاحها

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

هل مفتاح واحد أو عدة مفاتيح لا تعمل؟

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

هل الأحرف التي كتبتها تتطابق مع المفاتيح التي قمت بتكوينها في Osu! ؟

قم بتغيير الأحرف في كود اردوينو في أول 3 تعريفات # ( أمر ضروري!).

أو قم بتغيير Osu الخاص بك! الإعدادات لاستخدام المفاتيح التي تم تكوينها.

هل يتكرر مفتاح واحد أم عدة مرات؟

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

إذا كنت تواجه مشاكل مع مصابيح LED الخاصة بك

هل تومض مصابيح LED؟

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

هل لا يعمل أي من المصابيح أم أن عددًا معينًا من المصابيح يتوقف عن العمل؟

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

إذا تم إصلاح هذا ، كرر لمصابيح LED التالية إذا لزم الأمر.

موصى به: