- المكونات المطلوبة:
- إنشاء واجهة للروبوت باستخدام تطبيق RemoteXY:
- مخطط الدائرة وشرحها:
- شرح الكود:
- كيفية تشغيله:
في هذه المقالة ، سنقوم بالتحكم في سيارة الروبوت من خلال مستشعر G بهاتفنا المحمول وستكون قادرًا على تحريك الروبوت فقط عن طريق إمالة الهاتف. سنستخدم أيضًا تطبيق Arduino و RemoteXY لهذا الروبوت G-Sensor الذي يتم التحكم فيه. يستخدم تطبيق RemoteXY لإنشاء واجهة في الهاتف الذكي للتحكم في الروبوت. سنضيف عصا التحكم في الواجهة بحيث يمكن أيضًا التحكم في الروبوت بواسطة عصا التحكم وكذلك عن طريق إمالة الهاتف.
مستشعر G-Sensor أو مستشعر الجاذبية هو مقياس تسارع في الهاتف الذكي يستخدم للتحكم في اتجاه شاشة الهاتف. يستشعر مقياس التسارع اتجاهات X و Y و Z لقوة الجاذبية ويقوم بتدوير الشاشة وفقًا لمحاذاة الهاتف. في أيامنا هذه ، يتم استخدام مستشعر جيروسكوب أكثر حساسية ودقة في الهواتف المحمولة لتحديد اتجاه الشاشة. في مشروعنا ، ستتحرك سيارة الروبوت ، وفقًا للاتجاه الذي يميل فيه الهاتف ، مثل عندما نميل الهاتف إلى الأمام ، ثم تتحرك السيارة للأمام ونميلها لأسفل ثم تتحرك السيارة للخلف. هذا مشابه لما نلعبه في بعض ألعاب السيارات على الهاتف المحمول ، يستخدمون أيضًا مستشعر G لتحريك السيارة وفقًا لذلك. تحقق من الفيديو في النهاية ، وتحقق أيضًا من مشاريع الروبوتات الأخرى هنا.
المكونات المطلوبة:
- هيكل سيارة روبوت ثنائي العجلات
- اردوينو UNO
- وحدة تحكم المحرك L298N
- وحدة بلوتوث HC-06 (ستعمل HC-05 أيضًا)
- مزود الطاقة أو الخلايا
- توصيل الأسلاك
إنشاء واجهة للروبوت باستخدام تطبيق RemoteXY:
لإنشاء واجهة للتحكم في Robot Car باستخدام تطبيق RemoteXY ، سيتعين عليك الانتقال إلى الرابط التالي
remotexy.com/en/editor/ ستبدو صفحة الويب بهذا الشكل
ثم من الجانب الأيسر من الشاشة ، اختر زر التبديل وعصا التحكم ووضعهما في واجهة الهاتف المحمول. سيقوم الزر بتشغيل الضوء في الرقم 13 المتصل داخليًا في Arduino وستقوم عصا التحكم بتحريك سيارة الروبوت. ستبدو صفحة الويب بعد وضع المفتاح وعصا التحكم هكذا.
ثم سيتعين علينا وضع زر تمكين / تعطيل مستشعر G جنبًا إلى جنب مع عصا التحكم ، حتى نتمكن من تحريك سيارة الروبوت عن طريق إمالة الهاتف في الاتجاه الأيسر والأيمن والأعلى والأسفل. باستخدام هذا الزر ، يمكننا تمكين مستشعر G وتعطيله ، عندما يتم تعطيل مستشعر G ، يمكن التحكم في السيارة عن طريق تحريك عصا التحكم. لذلك لوضع زر تمكين / تعطيل مستشعر G ، انقر فوق عصا التحكم التي وضعتها في الواجهة وعلى الجانب الأيسر سيكون هناك قسم خصائص ، وسيكون هناك خيار في النهاية لوضع زر مستشعر G بالقرب من عصا التحكم ، لذلك ضع زر مستشعر G في أي مكان تريده. ستبدو صفحة الويب التي تلي ذلك بهذا الشكل.
بعد ذلك ، انقر فوق الزر "الحصول على شفرة المصدر" واحفظه على جهاز الكمبيوتر الخاص بك. قم بتنزيل المكتبة من هنا واحفظها في مجلد مكتبة Arduino. قم بتجميع الكود الذي تم تنزيله للتحقق من عدم وجود أخطاء. هذا ليس الكود الذي سيقوم بتشغيل الروبوت ولكنه سيساعد في استخدام التطبيق مع Arduino. قم بتنزيل التطبيق من هنا أو انتقل إلى متجر Play وقم بتنزيل تطبيق RemoteXY من هناك من أجل هاتف Android الذكي.
مخطط الدائرة وشرحها:
بادئ ذي بدء ، سنقوم بتوصيل وحدة التحكم في المحرك L298N مع Arduino. قم بتوصيل دبوس ENA و ENB الخاص بوحدة التحكم في المحرك بدبوس Arduino 12 و 11 على التوالي. هذان الطرفان مخصصان للتحكم في PWM للمحرك. باستخدام هذه الدبابيس ، يمكننا زيادة أو تقليل سرعة السيارة. ثم قم بتوصيل IN1 و IN2 و IN3 و IN4 بدبابيس Arduino 10 و 9 و 8 و 7 على التوالي. ستقوم هذه المسامير بتدوير المحركات في كلا الاتجاهين (في اتجاه عقارب الساعة وعكس اتجاه عقارب الساعة).
لتشغيل المحرك ، قم بتوصيل الموجب والسالب للبطارية بجهد 12 فولت وأرض وحدة التحكم في المحرك. ثم قم بتوصيل 5V والأرض من وحدة التحكم في المحرك إلى Arduino Vin والأرض.
ثم سنقوم بتوصيل وحدة البلوتوث HC-06 مع اردوينو. إذا كان لديك HC-05 ، فسيعمل أيضًا. قم بتوصيل VCC وأرض وحدة Bluetooth بجهد 5 فولت وأرض Arduino. ثم قم بتوصيل دبوس TX الخاص بوحدة Bluetooth بالدبوس 2 من Arduino ودبوس RX بالدبوس 3 من Arduino. تحقق أيضًا من سيارة اللعب التي يتم التحكم فيها عن طريق Bluetooth باستخدام Arduino لمعرفة المزيد حول استخدام Bluetooth مع Arduino.
شرح الكود:
يتم تقديم رمز Arduino الكامل لسيارة الروبوت المتحكم فيها بواسطة الهاتف المحمول أدناه في قسم الكود ، وهنا سوف نفهم كيفية عمل هذا الرمز.
بادئ ذي بدء ، قمنا بتضمين مكتبات البرامج التسلسلية و RemoteXY. ستساعدنا مكتبة RemoteXY في ضبط التطبيق باستخدام Arduino ، والذي من خلاله سنتحكم في سيارة الروبوت. بعد ذلك ، حددنا دبابيس وحدة Bluetooth ، يتم توصيل TX من وحدة Bluetooth بالدبوس 2 من Arduino وهو دبوس RX من Arduino و RX من وحدة Bluetooth متصل بالدبوس 3 من Arduino والذي هو دبوس TX في Arduino وقم بتعيين معدل البث بالباود لوحدة Bluetooth على 9600.
#define REMOTEXY_MODE__SOFTWARESERIAL # تضمين
الكود التالي سيزيد أو يقلل من سرعة المحرك. عندما تكون عصا التحكم في المركز ، ستكون السرعة صفرية وعندما تكون في الاتجاه الأمامي ستزيد السرعة من صفر إلى 100. ستنخفض السرعة من 0 إلى -100 عندما تتحرك السيارة في غير إتجاه. يمكن أيضًا تحريك السيارة بسرعة معينة ، ويمكن القيام بذلك عن طريق إعطاء إشارة PWM. سيتم إعطاء إشارة pwm للمحركات وفقًا لدوران عصا التحكم.
إذا (motor_speed> 100) motor_speed = 100 ؛ إذا (motor_speed <-100) motor_speed = -100 ؛ if (motor_speed> 0) {digitalWrite (pointer، HIGH)؛ الكتابة الرقمية (المؤشر ، منخفضة) ؛ analogWrite (المؤشر ، سرعة المحرك * 2.55) ؛ } else if (motor_speed <0) {digitalWrite (pointer، LOW)؛ الكتابة الرقمية (المؤشر ، عالية) ؛ analogWrite (المؤشر ، (-motor_speed) * 2.55) ؛ } else {digitalWrite (pointer، LOW)؛ الكتابة الرقمية (المؤشر ، منخفضة) ؛ analogWrite (المؤشر ، 0) ؛ }
في الكود التالي ، حددنا الوظيفة التي سيتم استدعاؤها كلما سنحرك عصا التحكم في التطبيق. عندما نقوم بتشغيل المفتاح في التطبيق ، سيتم إعطاء المنطق 1 للدبوس 13 من Arduino الذي يقوم بتشغيل دبوس LED. أثناء تحريك السيارة الآلية في الاتجاهين الأمامي والخلفي ، سيتم استدعاء وظيفة السرعة .
حلقة باطلة () {RemoteXY_Handler () ، digitalWrite (ledpin، (RemoteXY.switch_1 == 0)؟ LOW: HIGH) ؛ السرعة (المحرك الأول ، RemoteXY.joystick_1_y - RemoteXY.joystick_1_x) ؛ السرعة (المحرك_الثاني ، RemoteXY.joystick_1_y + RemoteXY.joystick_1_x) ؛ }
كيفية تشغيله:
أضف مكتبة RemoteXY إلى مكتبات Arduino وقم بتحميل الكود في Arduino IDE. ثم قم بتنزيل التطبيق في هاتفك المحمول ثم قم بتشغيل Bluetooth. ستبدو واجهة التطبيق هكذا
ثم انتقل إلى Bluetooth وقم بتشغيل Bluetooth هناك. بعد تشغيله ، سيُظهر لك أجهزة Bluetooth. حدد وحدة HC-06 Bluetooth الخاصة بك من هناك ، وسوف يأخذك إلى الواجهة ، حيث يمكنك التحكم في Robot Car.
هذه هي الطريقة التي يمكننا بها استخدام مستشعر الجاذبية داخل هاتفنا المحمول لتحريك الروبوت. يمكنك إجراء مزيد من التجارب والعثور على استخدام أكثر إثارة للاهتمام لمستشعر G للتحكم في الأشياء الخارجية عن طريق ربط Microcontorller بينهما (مثل Arduino).