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

مربع زر سباق سيم: 8 خطوات
مربع زر سباق سيم: 8 خطوات

فيديو: مربع زر سباق سيم: 8 خطوات

فيديو: مربع زر سباق سيم: 8 خطوات
فيديو: ميزة روووعة في هواتف شاومي استخدمها من الان ( لوز اللوز #7 ) 2024, شهر نوفمبر
Anonim
مربع زر سباق سيم
مربع زر سباق سيم

نرحب مدمني سباقات سيم!

هل نفدت روابط المفاتيح لتعيين جميع عناصر التحكم في سيارتك إليها؟ ربما تحتاج إلى مربع زر! في هذا Instructable ، سننشئ واحدًا من البداية. سيحتوي مربع الزر على 32 حالة زر متوفرة (!). لا يلزم وجود برامج إضافية لاستخدام مربع الزر هذا. ستتعلم كيفية إعداد مصفوفة الأزرار وكتابة (أو نسخ) الكود لتحميله على Arduino.

من المهم معرفة أن مربع الزر لا يدعم الكثير من الأزرار التي يتم الضغط عليها في نفس الوقت.

هيا بنا نبدأ!

الخطوة 1: الإعداد

التحضير
التحضير

ستحتاج إلى بعض الأدوات والأزرار والمزيد من العناصر لإنشاء مربع الزر. لا تتردد في إنشاء مربع الزر حسب رغبتك.

الإلكترونيات:

  • أزرار
  • يبدل
  • المشفرات الدوارة
  • اردوينو برو مايكرو
  • كابل USB صغير إلى USB
  • الأسلاك

أدوات:

  • تدريبات
  • جندى
  • الفرجار
  • المفكات
  • القاطع
  • مفتاح الربط

برمجة:

  • اردوينو IDE
  • Photoshop / الرسام (اختياري ، يمكن الرسم باليد)

آخر:

  • الضميمة (صندوق ، يمكن شراؤها أو الطباعة ثلاثية الأبعاد المخصصة)
  • التفاف الفينيل الكربون (اختياري)
  • مقابض التشفير الدوارة
  • أغطية التبديل (اختياري)
  • طابعة ملصقات (اختياري)
  • مطاط الجروميت

بمجرد حصولك على جميع العناصر (أو ما يكفي للبدء) ، يمكننا البدء في تصميم تخطيط مربع الزر.

الخطوة 2: تصميم تخطيط الصندوق

الأدوات المطلوبة لهذه الخطوة:

Photoshop / الرسام (اختياري ، يمكن الرسم باليد)

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

  • 4x ثلاثة مفاتيح تبديل
  • 2x طريقة واحدة تبديل التبديل
  • 10x أزرار ضغط بسيطة
  • 4 × جهاز تشفير دوار مع زر بسيط

ثلاثة مفاتيح تبديل:

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

طريقة واحدة تبديل التبديل:

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

أزرار ضغط بسيطة:

يمكن استخدام مثل هذه الأزرار بمجرد دفعها (إيقاف / تشغيل). سيعطينا هذا عشرة (10) أزرار.

المشفرات الدوارة بزر ضغط بسيط:

يمكن تحويل معظم (إن لم يكن كل) المشفرات الدوارة إلى كلا الاتجاهين بلا حدود. في كل مرة تقوم فيها بتدويرها إلى اتجاه يتم استخدامه كضغط على الزر. يمكن أيضًا الضغط على هذه المشفرات الدوارة لمنحهم زرًا آخر. توفر المشفرات الدوارة اثني عشر (12 = 4x3 ؛ تدوير لليسار / تدوير لليمين / دفع).

32 زرًا:

إن وجودهم جميعًا معًا يعطينا 32 ضغطة زر (8 + 2 + 10 + 12)!

راضي عن التصميم؟ حان الوقت لبدء البناء!

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

القياس والحفر
القياس والحفر
القياس والحفر
القياس والحفر

الأدوات المطلوبة لهذه الخطوة:

  • الفرجار
  • تدريبات
  • الإلكترونيات (الأزرار ، المفاتيح ، إلخ.)

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

قم بتمييز النقاط المركزية للإلكترونيات على وجه العلبة الخاصة بك وحفر ثقوبًا بالأحجام الصحيحة. هل تتطلع إلى جعل العلبة أكثر إرضاءً من الناحية الجمالية؟ انتظر مع تركيب الأزرار!

بمجرد الانتهاء من حفر الثقوب ، يمكننا جعلها تبدو وكأنها مربع زر حقيقي!

الخطوة 4: قم بملاءمة الأزرار والدوارات والمفاتيح

تناسب الأزرار والدوارات والمفاتيح
تناسب الأزرار والدوارات والمفاتيح
تناسب الأزرار والدوارات والمفاتيح
تناسب الأزرار والدوارات والمفاتيح

الأدوات المطلوبة لهذه الخطوة:

  • الإلكترونيات (الأزرار ، المفاتيح ، إلخ.)
  • مفتاح الربط
  • التفاف الفينيل الكربون (اختياري)
  • القاطع (اختياري)

يجب أن تأتي جميع الأجهزة الإلكترونية الخاصة بك مع صامولة لتثبيتها في مكانها. ان لم؛ قم بقياسها وشراء الجوز بالحجم الصحيح.

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

بعد ارتداء الغلاف (أو عدمه) ، يمكنك تركيب الأجهزة الإلكترونية لإنشاء الجزء الأمامي من مربع الزر الخاص بك. يجب أن يكون لديك الآن شيء يشبه بالفعل بالفعل! للأسف ، لم يعمل بعد …

الخطوة 5: تصميم مخطط الأسلاك

تصميم مخطط الأسلاك
تصميم مخطط الأسلاك

الأدوات المطلوبة لهذه الخطوة:

Photoshop / الرسام (اختياري ، يمكن الرسم باليد)

إنشاء مصفوفة:

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

صمم المصفوفة الخاصة بك أو استخدم التخطيط من هذا Instructable. سنستخدم في المصفوفة خمس مجموعات. المجموعات متصلة بـ pinouts التالية على Arduino:

  • 15: أربعة شفرات دوارة
  • A0: خمسة أزرار ضغط
  • A1: مفتاحان ثلاثيان وزر ضغط واحد
  • A2: مفتاحان ثلاثيان وزر ضغط واحد
  • A3: خمسة أزرار ضغط

الخطوة 6: اللحام

لحام
لحام
لحام
لحام

الأدوات المطلوبة لهذه الخطوة:

  • لحام حديد
  • جندى
  • الإلكترونيات (مثبتة على العلبة الخاصة بك)
  • اردوينو برو مايكرو
  • الأسلاك

اختياري:

قم بتحميل الكود من الخطوة التالية أولاً إذا كنت قلقًا بشأن اللحام. سيسمح لك هذا بالتحقق من اتصالاتك

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

بعض النصائح:

  • قم بعمل مجموعة واحدة في ذلك الوقت
  • قم بتوصيل Arduino بجهاز الكمبيوتر الخاص بك للاختبار من حين لآخر
  • لا تقم بتسخين الأزرار البلاستيكية كثيرًا لأنها يمكن أن تذوب وتكسر الوصلات
  • لا تستخدم الكثير من اللحام ، فالقليل هو الأفضل
  • استخدم أسلاكًا ملونة مختلفة لكل مجموعة / أرضية

الخطوة السابعة: كتابة الكود

الأدوات المطلوبة لهذه الخطوة:

  • اردوينو IDE
  • مكتبة جويستيك
  • Keypad.h (Arduino IDE> Sketch> Include Library> Manage Libraries…> ابحث عن لوحة المفاتيح وقم بتثبيت تلك التي تم إنشاؤها بواسطة Mark Stanley و Alexander Brevig)

# تضمين # تضمين

#define ENABLE_PULLUPS

#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5

أزرار البايت [NUMROWS] [NUMCOLS] = {

{0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}, {10, 11, 12, 13, 14}, {15, 16, 17, 18, 19}, {20, 21, 22, 23}, };

هيكل rotariesdef {

بايت pin1 ؛ بايت pin2 ؛ int ccwchar ؛ int cwchar دولة شار متقلبة غير موقعة ؛ } ؛

rotariesdef rotaries [NUMROTARIES] {

{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };

#define DIR_CCW 0x10

#define DIR_CW 0x20 # تعريف R_START 0x0

#ifdef HALF_STEP

#define R_CCW_BEGIN 0x1 # تعريف R_CW_BEGIN 0x2 # تعريف R_START_M 0x3 # تعريف R_CW_BEGIN_M 0x4 # تعريف R_CCW_BEGIN_M 0x5 غير موقعة char ttable [6] [4] = {// R_START ، R_START (00T_} {R_CIN_M R_CCW_BEGIN {R_START_M | DIR_CCW ، R_START ، R_CCW_BEGIN ، R_START} ، // R_CW_BEGIN {R_START_M | DIR_CW ، R_CW_BEGIN ، R_START ، R_START} ، // R_START_M (11) {R_START_M ، R_CCW_BEGIN_M ، R_CW_BEGIN_M ، R_START} ، // R_CW_BEGIN_M {R_START_M ، R_STAR_BEGIN_M ، R_CW_BEGIN_M ، R_START} ، // R_CW_BEGIN_M {R_START_M ، R_STAR_MART ، R_C DIR_CW} ، // R_CCW_BEGIN_M {R_START_M ، R_CCW_BEGIN_M ، R_START_M ، R_START | DIR_CCW} ،} ، #else #define R_CW_FINAL 0x1 # تعريف R_CW_BEGIN 0x2 # تعريف R_CW_NEXT 0x3 # تعريف R_CCW_BEGIN 0x4 # تعريف R_CCW_FINAL 0x5 # تعريف R_CCW_NEXT 0x6

جدول أحرف غير موقعة [7] [4] = {

// R_START {R_START، R_CW_BEGIN، R_CCW_BEGIN، R_START}، // R_CW_FINAL {R_CW_NEXT، R_START، R_CW_FINAL، R_START | DIR_CW} ، // R_CW_BEGIN {R_CW_NEXT ، R_CW_BEGIN ، R_START ، R_START} ، // R_CW_NEXT {R_CW_NEXT ، R_CW_BEGIN ، R_CW_FINAL ، R_START} ، // R_CCW_BEGIN {R_CCW_NEXT ، R_START ، R_START | DIR_CCW} ، // R_CCW_NEXT {R_CCW_NEXT ، R_CCW_FINAL ، R_CCW_BEGIN ، R_START} ،} ؛ #إنهاء إذا

بايت rowPins [NUMROWS] = {21، 20، 19، 18، 15} ؛

البايت colPins [NUMCOLS] = {14، 16، 10، 9، 8} ؛

Keypad buttbx = لوحة المفاتيح (makeKeymap (أزرار) ، rowPins ، colPins ، NUMROWS ، NUMCOLS) ؛

جويستيك_ جويستيك (JOYSTICK_DEFAULT_REPORT_ID ،

JOYSTICK_TYPE_JOYSTICK، 32، 0، false، false، false، false، false، false، false، false، false، false، false) ؛

الإعداد باطل() {

Joystick.begin () ، rotary_init () ؛}

حلقة فارغة() {

CheckAllEncoders () ،

CheckAllButtons () ؛

}

CheckAllButtons باطلة (باطلة) {

إذا (buttbx.getKeys ()) {لـ (int i = 0 ؛ i

rotary_init باطل () {

لـ (int i = 0 ؛ i

عملية char rotary_process غير الموقعة (int _i) {

غير موقعة char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (الدوارات [_i].pin1) ؛ الدوارات [_i].state = ttable [الدوارات [_i]. الحالة & 0xf] [pinstate] ؛ العودة (الدوارات [_i]. الحالة & 0x30) ؛ }

CheckAllEncoders باطلة (باطلة) {لـ (int i = 0؛ i <NUMROTARIES؛ i ++) {

نتيجة char غير الموقعة = rotary_process (i) ؛ إذا (النتيجة == DIR_CCW) {Joystick.setButton (rotaries .ccwchar، 1) ؛ تأخير (50) ؛ Joystick.setButton (الدوارات .ccwchar، 0) ؛ } ؛ إذا (النتيجة == DIR_CW) {Joystick.setButton (rotaries .cwchar، 1) ؛ تأخير (50) ؛ Joystick.setButton (الدوارات .cwchar، 0) ؛ } ؛ }}

  1. قم بتوصيل Arduino Pro Micro بجهاز الكمبيوتر الخاص بك عن طريق توصيل كابل USB
  2. لتحميل الكود ، حدد نوع Arduino بالانتقال إلى Tools> Board:…> Arduino / Genuino Micro.
  3. لتحديد منفذ USB الصحيح ، انتقل إلى Tools> Port:> COM x (Arduino / Genuino Micro)
  4. تحقق من الرسم بالنقر فوق ✓ في الزاوية اليسرى العلوية (أسفل ملف)
  5. اضغط على → بجانبه لتحميله على Arduino

الخطوة 8: أضف إلى الحفارة الخاصة بك

أضف إلى الحفارة الخاصة بك
أضف إلى الحفارة الخاصة بك

تهانينا! لقد قطعت شوطاً طويلاً. حان الوقت الآن للسباق!

موصى به: