ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ
في هذا المشروع ، سنرى كيفية استخدام Arduino Joystick Shield . هناك إصدارات مختلفة ، لكننا سنستخدم الإصدار 2.4 ، والذي يحتوي على بعض الميزات المثيرة للاهتمام وبعض الأزرار الإضافية التي يمكن استخدامها في التطبيق بطرق مختلفة .
يوفر Arduino Joystick Shield v2.4 سبعة مفاتيح زر للضغط (ستة أزرار ضغط منفصلة وزر ضغط على زر عصا التحكم) وعصا التحكم مع اثنين من مقاييس الجهد . يمنح هذا الدرع الاردوينو الخاص بك الوظيفة الموجودة على وحدات تحكم Nintendo القديمة . يمكن استخدام عصا التحكم للتحكم في المخرجات مثل البكسل على الشاشة . يمكن استخدام الأزرار للملاحة أو التحكم في اللعبة .
منتجات المشروع
التجربة 1: قراءة قيم عصا التحكم
يحتوي ذراع التحكم على مقاييس جهد ، يمكنك توصيلها بدبابيس تمثيلية A0 و A1 على الاردوينو . تتوافق قيمة A0 مع موضع X . وقيمة A1 تتوافق مع موضع Y . لقراءة هذه القيم التناظرية ، استخدم دالة AnalogRead () .
الخطوات :
- إرفق درع عصا التحكم الخاص بك إلى لوحة اردوينو .
- قم بتوصيل لوحة اردوينو بجهاز الكمبيوتر الخاص بك
- سوف تضيء LED على درع عصا التحكم ، لتُظهر أنها تعمل بشكل صحيح .
- قم بتحميل الكود على لوحتك ؛ من الممارسات الجيدة .
- بعد تحميل الكود ، قم بتشغيل جهاز العرض التسلسلي لمراقبة القيم .
- حرك عصا التحكم في اتجاهات مختلفة وستلاحظ أن القيم على الشاشة التسلسلية ستتغير .
يمكنك تحريك عصا التحكم في 8 اتجاهات: أعلى ، يمين لأعلى ، يمين ، لأسفل يمين ، أسفل ، يسار ، يسار لأسفل ، يسار لأعلى . إذا تغيرت القيم على جهاز العرض التسلسلي ، فإن درعك يعمل بشكل صحيح مبروك …
سيعرض هذا الكود شيئًا كهذا إذا كان الدرع متصلاً بـ 5 فولت .
الكود البرمجي للتجربة 1
التجربة 2 : استخدام عصا التحكم للسيطرة على الحركة :
للتحكم في الحركة على طول المحور السيني ، يتعين عليك أولاً قراءة موضع مقياس الجهد للمحور السيني وتحديد ما إذا كان المستخدم يضغط عنصر التحكم على اليمين أو اليسار ، أو لا يضغط عليه على الإطلاق .
عندما لا يتم الضغط عليه يمينًا أو يسارًا ، تكون قيمة A0 هي 523 عادةً . من أجل مراعاة بعض الاختلافات في تلك القراءة بين وحدات الدرع المختلفة ، سنقوم بتعيين درجة تحمل تساوي 30 .
وهذا يعني أننا عندما نقرأ قيمة بين 493 و 553 ، سنفترض أن المستخدم لا يضغط على عصا التحكم . تعني قراءة أقل من 493 أن المستخدم يضغط على عصا التحكم إلى اليسار ويريد أن يتحرك بالعصا إلى اليسار . تعني قراءة أكثر من 553 أن المستخدم يضغط على عصا التحكم إلى اليمين ويريد أن يتحرك بالعصا إلى اليمين .
سيعرض هذا الكود شيئًا مثل هذا :
الكود البرمجي للتجربة 2
التجربة 3: قراءة مفاتيح الضغط على زر عصا التحكم
ترتبط مفاتيح الضغط بكل بساطة مع دبابيس الاردوينو الرقمية I / O كما هو مبين في الجدول أدناه :
عند الضغط على المفتاح A ، سيتم إرسال إشارة رقمية إلى D2 وما إلى ذلك . سوف نستخدم وظيفة digitalRead () لتحديد حالة الأزرار .
نظرًا لعدم وجود مقاومات متصلة بهذه الأزرار الموجودة على درع ذراع التحكم ، يتعين عليك تمكين مقاومات السحب على الاردوينو . يوجد أدناه الكود البرمجي لتمكين مقاومات السحب وقراءة القيم الرقمية .
عندما يضغط المستخدم على زر ضغط ، يعرض الاردوينو قيمة الزر على الشاشة التسلسلية .
الكود البرمجي للتجربة 3
لتحميل الكود البرمجي اضغط هنا
أنتهت !!!
نشكركم