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

سوف نستخدم الـKeypadمكتبة للتعامل مع لوحة المفاتيح، تتيح لنا اكتشاف المفتاح المضغوط بسهولة. سيعرض البرنامج الذي سننفذه المفتاح المضغوط على المراقب التسلسلي ويتخذ إجراءً عند الضغط على مفتاح محدد، مثل المفتاح '4'. لمزيد من الإرشادات المرئية، تأكد من مشاهدة الفيديو عند 00:00.
شرح الأجهزة
المكوّن الرئيسي في هذا المشروع هو لوحة مفاتيح مرنة 4×4، والتي تتكون من 16 زرًا مرتبة في شبكة. يتصل كل زر بدبوس محدد على الأردوينو، مما يسمح للأردوينو بالكشف عندما يتم ضغط الزر. تعمل لوحة المفاتيح باستخدام طريقة مسح المصفوفة، حيث تُفعّل الصفوف والأعمدة بالتتابع لتحديد أي مفتاح تم الضغط عليه.
لتوصيل لوحة المفاتيح، ستحتاج إلى استخدام ثمانية دبابيس رقمية على لوحة Arduino. عادةً ما تُوصَل الصفوف بالدبابيس من 2 إلى 5، بينما تتصل الأعمدة بالدبابيس من 6 إلى 9. يتيح هذا الترتيب للـ Arduino قراءة حالة كل مفتاح بشكل فعّال.
تفاصيل ورقة البيانات
| العرض | 69 مم |
|---|---|
| الطول | 76 مم |
| طول الكابل | 84 مم |
| عرض الموصل | 20 مم |
| تباعد ثقوب الموصل | 2.56 مم |
- تأكد من توصيل دبابيس الصف والعمود بشكل صحيح لتجنب القراءات الخاطئة.
- استخدم مقاومات السحب إلى الأعلى إذا لزم الأمر لاستقرار قراءات الإدخال
- طبق إلغاء الارتداد للمفاتيح في البرنامج لتجنب قراءات متعددة عند الضغط مرة واحدة.
- اختبر كل مفتاح على حدة للتأكد من عمله.
- حافظ على لوحة المفاتيح جافة ونظيفة للحفاظ على الأداء.
تعليمات التوصيل الكهربائي

لتوصيل لوحة مفاتيح 4x4 بالأردوينو، قم بتوصيل دبابيس صفوف لوحة المفاتيح بالمخارج الرقمية على الأردوينو كما يلي: قم بتوصيل الصف الأول بالدبوس2, الصف الثاني للتثبيت3, الصف الثالث للتثبيت4، والصف الرابع لتثبيت5. بالنسبة لدبابيس الأعمدة، قم بتوصيل العمود الأول بالدبوس6، لتثبيت العمود الثاني7، العمود الثالث للتثبيت8، والعمود الرابع للتثبيت9.
يتيح هذا الإعداد للوحة Arduino مسح الصفوف والأعمدة بكفاءة. تأكد جيدًا من الاتصالات لضمان أن كل دبوس يتطابق بشكل صحيح مع الصف أو العمود المخصص له. في الفيديو تُناقش بإيجاز تكوينات توصيل بديلة (في الفيديو عند 01:15). إذا اخترت توصيل الأسلاك بطريقة مختلفة، فما عليك سوى تحديث أرقام الدبابيس في الكود وفقًا لذلك.
أمثلة على الكود وشرح تفصيلي
في الكود، نبدأ بتضمين الـKeypadالمكتبة وتعريف تخطيط لوحة المفاتيح. يتم إعداد الصفوف والأعمدة باستخدام مصفوفات، حيثrowPinsيرتبط بالدبابيس الرقمية المتصلة بالصفوف وcolPinsيتم تعيينه إلى الأعمدة.
const byte ROWS = 4; //four rows
const byte COLS = 4; //four columns
char keys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};في هذا المقتطف، نُحدد عدد الصفوف والأعمدة، بالإضافة إلى تخطيط الأحرف على المفاتيح. هذا الإعداد حاسم لتحديد أي مفتاح تم الضغط عليه بناءً على الصف والعمود النشطين.
void setup(){
Serial.begin(9600);
}الsetupتقوم الدالة بتهيئة الاتصال التسلسلي بسرعة 9600 بود. هذا مهم لإرسال بيانات ضغطات المفاتيح إلى المراقب التسلسلي لغرض تصحيح الأخطاء والتحقق.
void loop(){
char key = keypad.getKey();
if (key){
Serial.println(key);
}
if (key =='4'){
Serial.println("Key 4 is pressed");
}
}في الـloopفي الدالة، نتحقق باستمرار من وجود مفتاح مضغوط باستخدامkeypad.getKey()إذا تم الضغط على أي مفتاح، فإنه يطبع قيمة المفتاح إلى المراقب التسلسلي. بالإضافة إلى ذلك، إذا تم الضغط على المفتاح '4'، فإنه يطبع رسالة محددة تشير إلى أن المفتاح '4' قد تم تفعيله. تتيح هذه الجزئية من الشيفرة التفاعل في الوقت الحقيقي بناءً على مدخلات المستخدم.
عرض توضيحي / ما الذي تتوقعه
بمجرد تجهيز كل شيء ورفع الكود إلى لوحة Arduino الخاصة بك، ينبغي أن ترى المفاتيح المضغوطة معروضة في مراقب السيريال. إذا ضغطت المفتاح '4'، ستظهر الرسالة "Key 4 is pressed" مؤكدة أن الإدخال تم اكتشافه بنجاح. كن حذراً من الأخطاء الشائعة، مثل الإدخالات الطافية أو التوصيل غير الصحيح، التي قد تؤدي إلى قراءات خاطئة (في الفيديو عند 02:30).
علامات زمنية للفيديو
- 00:00- مقدمة عن لوحة المفاتيح
- 01:15تعليمات الأسلاك
- 02:30- شرح الكود وعرض توضيحي
الأشياء التي قد تحتاجها
-
أمازونPurchase 4x4 keypad from Amazonamzn.to
-
علي إكسبريسPurchase soft keypad from Aliexpresss.click.aliexpress.com
الموارد والمراجع
لا توجد موارد حتى الآن.