في هذه الجلسة سنقوم بتوصيل جويستيك مع Raspberry Pi. يتم استخدام عصا التحكم بشكل أساسي للعب ألعاب مختلفة. على الرغم من سهولة توصيل عصي التحكم من نوع USB ، إلا أننا سنقوم اليوم بتوصيل جويستيك من خلال دبابيس Raspberry Pi GPIO ، سيكون هذا مفيدًا في كثير من الحالات.
وحدة Raspberry Pi وعصا التحكم:
تتوفر أذرع التحكم بأشكال وأحجام مختلفة. يتم عرض وحدة جويستيك نموذجية في الشكل أدناه. توفر وحدة جويستيك هذه عادةً مخرجات تناظرية وتستمر الفولتية الناتجة التي توفرها هذه الوحدة في التغيير وفقًا للاتجاه الذي نحركه فيه. ويمكننا الحصول على اتجاه الحركة من خلال تفسير تغيرات الجهد هذه باستخدام بعض الميكروكونترولر. في السابق استخدمنا AVR Microcontroller مع جويستيك.
تحتوي وحدة عصا التحكم هذه على محورين كما ترى. هم المحور السيني والمحور ص. كل محور من JOY STICK مثبت على مقياس جهد أو وعاء. يتم إخراج النقاط الوسطى من هذه الأواني مثل Rx و Ry. لذا فإن Rx و Ry هما نقاط متغيرة لهذه الأواني. عندما يكون جويستيك في وضع الاستعداد ، يعمل Rx و Ry كمقسم جهد.
عندما يتم تحريك عصا التحكم على طول المحور الأفقي ، يتغير الجهد عند دبوس Rx. وبالمثل ، عندما يتم تحريكه على طول المحور الرأسي ، يتغير الجهد في Ry pin. لذلك لدينا أربعة اتجاهات من جويستيك على اثنين من مخرجات ADC. عندما يتم تحريك العصا ، فإن الجهد على كل دبوس يرتفع أو ينخفض حسب الاتجاه.
كما نعلم لا يحتوي Raspberry Pi على آلية ADC داخلية (محول تناظري إلى رقمي). لذلك لا يمكن توصيل هذه الوحدة مباشرة بـ Pi. سنستخدم مقارنات تستند إلى Op-amp للتحقق من مخرجات الجهد. توفر OP-Amps هذه إشارات إلى Raspberry Pi ويقوم Pi بتبديل مصابيح LED للاعتماد على الإشارات. استخدمنا هنا أربعة مصابيح LED للإشارة إلى حركة جويستيك في أربعة اتجاهات. تحقق من الفيديو التوضيحي في النهاية.
لا يمكن لكل من 17 دبوس GPIO أن يأخذ جهدًا أعلى من + 3.3 فولت ، لذلك لا يمكن أن تكون مخرجات Op-amp أعلى من 3.3 فولت. ومن ثم اخترنا op-amp LM324 ، هذا IC يحتوي على مضخم تشغيلي رباعي يمكنه العمل في 3V. مع هذا IC ، لدينا مخرجات مناسبة لمخرجات Raspberry pi GPIO Pins. تعرف على المزيد حول دبابيس GPIO الخاصة بـ Raspberry Pi هنا. تحقق أيضًا من سلسلة دروس Raspberry Pi التعليمية جنبًا إلى جنب مع بعض مشاريع إنترنت الأشياء الجيدة.
المكونات المطلوبة:
نحن هنا نستخدم Raspberry Pi 2 Model B مع نظام التشغيل Raspbian Jessie OS. تمت مناقشة جميع متطلبات الأجهزة والبرامج الأساسية مسبقًا ، يمكنك البحث عنها في مقدمة Raspberry Pi و Raspberry PI LED Blinking للبدء ، بخلاف ما نحتاج إليه:
- مكثف 1000 درجة فهرنهايت
- وحدة جويستيك
- LM324 Op-amp IC
- 1KΩ المقاوم (12 قطعة)
- LED (4 قطع)
- 2.2KΩ المقاوم (4 قطع)
مخطط الرسم البياني:
توجد أربعة مقارنات OP-AMP داخل LM324 IC لاكتشاف أربعة اتجاهات لعصا التحكم. يوجد أدناه مخطط LM324 IC من ورقة البيانات الخاصة به.
يتم عرض التوصيلات التي تم إجراؤها لوحدة Interfacing Joystick مع Raspberry Pi في مخطط الدائرة أدناه. U1: A، U1: B، U1: C، U1: D تشير إلى المقارنات الأربعة داخل LM324. لقد أظهرنا كل مقارنة في مخطط الدائرة مع رقم الدبوس المقابل. من LM324 IC.
شرح العمل:
لاكتشاف حركة جويستيك على طول المحور ص ، لدينا OP-AMP1 أو U1: A و OP-AMP2 أو U1: B ، ولاكتشاف حركة عصا التحكم على طول المحور X ، لدينا OP-AMP3 أو U1: C و OP-AMP4 أو U1: D.
يكتشف OP-AMP1 الحركة السلبية لعصا التحكم على طول المحور Y:
الطرف السالب للمقارن U1: A مزود بـ 2.3V (باستخدام دائرة مقسم الجهد بمقدار 1K و 2.2K) والطرف الموجب متصل بـ Ry. عند تحريك عصا التحكم لأسفل على طول المحور Y ، يزداد جهد Ry. بمجرد أن يرتفع هذا الجهد عن 2.3 فولت ، يوفر OP-AMP + خرج 3.3 فولت عند مخرجه Pin. سيتم اكتشاف هذا الإخراج المنطقي العالي لـ OP-AMP بواسطة Raspberry Pi ويستجيب Pi عن طريق تبديل مؤشر LED.
يكتشف OP-AMP2 الحركة الصعودية لعصا التحكم على طول المحور Y:
الطرف السالب للمقارن U1: B مزود بجهد 1.0 فولت (باستخدام دائرة مقسم الجهد بمقدار 2.2 كلفن و 1 كلفن) والطرف الموجب متصل بـ راي. عند تحريك عصا التحكم على طول المحور Y الخاص به ، ينخفض جهد Ry. بمجرد أن ينخفض هذا الجهد عن 1.0 فولت ، يصبح خرج OP-AMP منخفضًا. سيتم اكتشاف هذا الإخراج المنطقي المنخفض لـ OP-AMP بواسطة Raspberry Pi ويستجيب Pi عن طريق تبديل مؤشر LED.
يكتشف OP-AMP3 حركة الجانب الأيسر لعصا التحكم على طول المحور X:
الطرف السالب للمقارن U1: C مزود بـ 2.3 فولت (باستخدام دائرة مقسم الجهد بمقدار 1 ك و 2.2 كلفن) والطرف الموجب متصل بـ Rx. عند تحريك عصا التحكم إلى اليسار على طول المحور السيني ، يزداد جهد Rx. بمجرد أن يرتفع هذا الجهد عن 2.3 فولت ، يوفر OP-AMP + خرج 3.3 فولت عند مخرجه Pin. سيتم اكتشاف هذا الإخراج المنطقي العالي لـ OP-AMP بواسطة Raspberry Pi ويستجيب Pi عن طريق تبديل مؤشر LED.
يكتشف OP-AMP4 حركة الجانب الأيمن لعصا التحكم على طول المحور X:
يتم توفير الطرف السالب للمقارن U1: 4 مع 1.0 فولت (باستخدام دائرة مقسم الجهد بمقدار 2.2 كيلو و 1 كيلو) ويتم توصيل الطرف الموجب بـ Rx. عند تحريك عصا التحكم على طول المحور السيني ، ينخفض جهد Rx. بمجرد أن ينخفض هذا الجهد عن 1.0 فولت ، يصبح خرج OP-AMP منخفضًا. سيتم اكتشاف هذا الإخراج المنطقي المنخفض لـ OP-AMP بواسطة Raspberry Pi ويستجيب Pi عن طريق تبديل مؤشر LED.
بهذه الطريقة ، تتصل جميع المنطق الأربعة ، التي تحدد الاتجاهات الأربعة لعصا التحكم ، بـ Raspberry Pi. يأخذ Raspberry Pi مخرجات هذه المقارنات كمدخلات ويستجيب وفقًا لذلك عن طريق تبديل مصابيح LED. فيما يلي النتائج المعروضة على محطة Raspberry Pi ، حيث قمنا أيضًا بطباعة اتجاه جويستيك على الجهاز باستخدام كود Python الخاص بنا.
كود Python والفيديو معطى أدناه. الكود سهل ويمكن فهمه من خلال التعليقات الواردة في الكود.