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

ماذا نصنع؟

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

ماذا تحتاج؟

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

  • 4 × مفاتيح الضغط على زر
  • مقاومات 4 × 10kΩ
  • 1 × أي نوع لوحة اردوينو (نحن نستخدم ليوناردو)
  • سلك مطلي بالسيليكون / PVC

توصيل أزرار الضغط المتعددة باستخدام اردوينو

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

بدءًا من البساطة ، من المنطقي توصيل زر ضغط واحد مع توصيل ساقه الموجبة بدبوس 5 فولت على Arduino الخاص بنا ، والساق الأرضية للزر متصلة بكل من GND و Digital Pin 2 على Arduino مجلس. يجب توصيل المقاوم بين الساق الأرضية للزر ودبوس GND في Arduino.

instagram viewer

مع وجود زر واحد سلكيًا ، فقد حان الوقت لإضافة الأزرار الأخرى. كل زر يحتاج إلى رقم التعريف الشخصي الخاص به ؛ اخترنا 2 و 3 و 4 و 5 للأزرار الأربعة التي نستخدمها ، ولكن أي من الدبابيس الرقمية سيعمل. الآن بعد أن أصبح Arduino الخاص بك سلكيًا ، فقد حان الوقت لبدء العمل على الكود.

برمجة أزرار الضغط المتعددة باستخدام Arduino

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

تعيين الأزرار للدبابيس

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

int input4Pin = 5 ؛
int input3Pin = 4 ؛
int input2Pin = 3 ؛
int input1Pin = 2 ؛

إعداد الأزرار

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

الإعداد باطل()
{
Serial.begin (57600) ؛ // هذا يبدأ الاتصال التسلسلي بمعدل باود 57600
pinMode (input4Pin ، INPUT) ؛
pinMode (input3Pin ، INPUT) ؛
pinMode (input2Pin ، INPUT) ؛
pinMode (input1Pin ، INPUT) ؛ // تعلن هذه الأسطر كل زر من الأزرار كمدخل
}

الكشف عن مكابس الزر

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

دفع باطل (int pinNumber)

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

دفع باطل (int pinNumber) 
{
int buttonPushed = digitalRead (pinNumber) ؛
إذا (buttonPushed == مرتفع) {
// أضف الكود هنا عند الضغط على الزر
}
آخر {
// أضف الكود هنا عند عدم الضغط على الزر
}
}

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

بناء الحلقة الرئيسية

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

حلقة فارغة()
{
checkPush (5) ؛
checkPush (4) ؛
checkPush (3) ؛
checkPush (2) ؛
}

الكود النهائي

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

int input4Pin = 5 ؛
int input3Pin = 4 ؛
int input2Pin = 3 ؛
int input1Pin = 2 ؛
// هذا يوضح كل زر من الأزرار ودبابيسها
// تأكد من استخدام المسامير التي تم توصيل الأزرار بها
الإعداد باطل()
{
Serial.begin (57600) ؛ // هذا يبدأ الاتصال التسلسلي بمعدل باود 57600
pinMode (input4Pin ، INPUT) ؛
pinMode (input3Pin ، INPUT) ؛
pinMode (input2Pin ، INPUT) ؛
pinMode (input1Pin ، INPUT) ؛ // تعلن هذه الأسطر كل زر من الأزرار كمدخل
}
حلقة فارغة()
{
checkPush (5) ؛
checkPush (4) ؛
checkPush (3) ؛
checkPush (2) ؛ // يستدعي كل سطر من هذه السطور وظيفة checkPush الخاصة بنا برقم سري مختلف
}
checkPush باطلة (int pinNumber) // هذه الوظيفة تتوقع قيمة عدد صحيح عندما يتم استدعاؤها
{
int buttonPushed = digitalRead (pinNumber) ؛ // هذا يقرأ حالة الزر بناءً على رقمه السري
إذا (buttonPushed == HIGH) {// يتحقق هذا من حالة الزر
// أضف الكود هنا عند الضغط على الزر
}
آخر {
// أضف الكود هنا عند عدم الضغط على الزر
}
}

النجاح: توصيل الأسلاك وبرمجة أزرار الضغط المتعددة باستخدام Arduino

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

برمجة Arduino للمبتدئين: البرنامج التعليمي لمشروع وحدة التحكم في إشارات المرور

اقرأ التالي

يشاركسقسقةيشاركبريد الالكتروني

مواضيع ذات صلة

  • افعلها بنفسك
  • برمجة
  • اردوينو
  • إلكترونيات
  • برمجة
  • دروس مشروع DIY

عن المؤلف

صموئيل ل. غاربيت (36 مقالة منشورة)

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

المزيد من Samuel L. غاربيت

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك