بعد تطوير عدد قليل من المشاريع الروبوتية الشهيرة مثل روبوت تتبع الخطوط ، روبوت تجنب الحافة ، روبوت DTMF ، روبوت يتم التحكم فيه بالإيماءات ، وما إلى ذلك في هذا المشروع ، سنقوم بتطوير سيارة روبوت يتم التحكم فيها عن طريق البلوتوث. استخدمنا هنا وحدة Bluetooth للتحكم في السيارة ، وهو أيضًا تطبيق قائم على نظام Android.
مكونات
- اردوينو UNO
- دي سي موتورز
- وحدة بلوتوث HC-05
- سائق موتور L293D
- بطارية 9 فولت وبطارية 6 فولت
- موصل البطارية
- سيارة لعبة
يتم التحكم في السيارة التي يتم التحكم فيها عن طريق البلوتوث باستخدام الهاتف المحمول الذي يعمل بنظام Android بدلاً من أي طريقة أخرى مثل الأزرار والإيماءات وما إلى ذلك. هنا تحتاج فقط إلى لمس الزر في هاتف android للتحكم في السيارة في الاتجاهات الأمامية والخلفية واليسرى واليمنى. لذلك يتم استخدام هاتف android كجهاز إرسال ويتم استخدام وحدة Bluetooth الموضوعة في السيارة كجهاز استقبال. سينقل هاتف Android الأمر باستخدام البلوتوث المدمج في السيارة حتى تتمكن من التحرك في الاتجاه المطلوب مثل التحرك للأمام والعكس والانعطاف إلى اليسار والانعطاف يمينًا والتوقف.
وحدة بلوتوث
تتكون وحدة HC Bluetooth من شيئين أحدهما هو وحدة واجهة Bluetooth التسلسلية ومحول Bluetooth. تُستخدم وحدة Bluetooth التسلسلية لتحويل المنفذ التسلسلي إلى Bluetooth.
كيف تعمل وحدة بلوتوث؟
يمكنك استخدام وحدة Bluetooth مباشرة بعد الشراء من السوق ، لأنه لا توجد حاجة لتغيير أي إعداد لوحدة Bluetooth. معدل الباود الافتراضي لوحدة Bluetooth الجديدة هو 9600 بت في الثانية. تحتاج فقط إلى توصيل rx و tx بوحدة التحكم أو المحول التسلسلي وإعطاء مصدر طاقة منظم 5 فولت تيار مستمر للوحدة.
تحتوي وحدة Bluetooth على وضعين أحدهما هو الوضع الرئيسي والثاني هو وضع الرقيق. يمكن للمستخدم ضبط أي من الوضعين باستخدام بعض أوامر AT. حتى يمكن للمستخدم ضبط إعداد الوحدة باستخدام أمر AT. فيما يلي بعض استخدامات الأوامر:
بادئ ذي بدء ، يحتاج المستخدم إلى الدخول في وضع AT بمعدل باود 38400 بت في الثانية عن طريق الضغط على زر EN في وحدة Bluetooth أو بإعطاء مستوى عالي عند دبوس EN. ملاحظة: يجب أن تنتهي كافة الأوامر بـ \ r \ n (0x0d و 0x0a) أو ENTER KEY من لوحة المفاتيح.
بعد ذلك ، إذا أرسلت AT إلى الوحدة النمطية ، فستستجيب الوحدة بـ OK
AT → اختبار القيادة
AT + ROLE = 0 ← اختيار الوضع التابع
AT + ROLE = 1 ← اختيار الوضع الرئيسي
AT + NAME = xyz → تعيين اسم البلوتوث
AT + PSWD = xyz → تعيين كلمة المرور
في + UART =
على سبيل المثال. في + UART = 9600،0،0
دبوس وصف مقياس التسارع
- STATE → فتح
- Rx → دبوس الاستلام التسلسلي
- TX → دبوس الإرسال التسلسلي
- GND → الأرض
- Vcc → + 5 فولت تيار مستمر
- AR → للدخول في وضع AT
شرح العمل
في هذا المشروع ، استخدمنا سيارة لعبة للتوضيح. هنا اخترنا سيارة لعبة RF مع ميزة توجيه يسار يمين متحركة. بعد شراء هذه السيارة ، استبدلنا دائرة RF بدائرة Arduino الخاصة بنا. تحتوي هذه السيارة على محركي تيار مستمر في جانبها الأمامي والخلفي. يستخدم محرك الجانب الأمامي لإعطاء اتجاه للسيارة يعني انعطاف الجانب الأيسر أو الأيمن (مثل ميزة توجيه السيارة الحقيقية). ويستخدم محرك الجانب الخلفي لقيادة السيارة في الاتجاه الأمامي والخلفي. يتم استخدام وحدة Bluetooth لتلقي الأوامر من هاتف android ويستخدم Arduino UNO للتحكم في النظام بأكمله.
تتحرك السيارة التي يتم التحكم فيها عن طريق البلوتوث وفقًا للزر الذي تم لمسه في تطبيق android Bluetooth للجوال. لتشغيل هذا المشروع ، نحتاج أولاً إلى تنزيل تطبيق Bluetooth من متجر Google play. يمكننا استخدام أي تطبيق Bluetooth يدعم أو يمكنه إرسال البيانات. إليك بعض أسماء التطبيقات التي قد تعمل بشكل صحيح.
- بلوتوث Spp pro
- تحكم بلوتوث
بعد تثبيت التطبيق ، تحتاج إلى فتحه ثم البحث عن جهاز Bluetooth وتحديد جهاز Bluetooth المطلوب. ثم قم بتكوين المفاتيح. هنا في هذا المشروع ، استخدمنا تطبيق وحدة تحكم Bluetooth.
- قم بتنزيل وتثبيت وحدة تحكم Bluetooth.
- تم تشغيل بلوتوث المحمول.
- افتح الآن تطبيق وحدة تحكم Bluetooth
- اضغط على scan
- حدد جهاز Bluetooth المطلوب
- الآن قم بتعيين المفاتيح عن طريق الضغط على الأزرار الموجودة على الشاشة. لضبط المفاتيح ، نحتاج إلى الضغط على "زر ضبط" وتعيين المفتاح وفقًا للصورة الواردة أدناه:
بعد تحديد المفاتيح اضغط موافق.
عندما نلمس زر الأمام في تطبيق وحدة تحكم Bluetooth ، تبدأ السيارة في التحرك في الاتجاه الأمامي وتستمر الحركة للأمام حتى يأتي الأمر التالي.
عندما نلمس زر الرجوع للخلف في تطبيق وحدة تحكم Bluetooth ، تبدأ السيارة في التحرك في الاتجاه العكسي وتستمر الحركة في الاتجاه المعاكس حتى يأتي الأمر التالي.
عندما نلمس الزر الأيسر في تطبيق وحدة تحكم Bluetooth ، تبدأ السيارة في التحرك في الاتجاه الأيسر وتستمر الحركة يسارًا حتى يأتي الأمر التالي. في هذه الحالة ، يدير المحرك الجانبي الأمامي العجلات الأمامية الأمامية في الاتجاه الأيسر ويعمل المحرك الخلفي في الاتجاه الأمامي.
عندما نلمس الزر الأيمن في تطبيق وحدة تحكم Bluetooth ، تبدأ السيارة في التحرك في الاتجاه الصحيح وتستمر الحركة حتى يأتي الأمر التالي. في هذه الحالة ، يدير المحرك الجانبي الأمامي العجلات الأمامية في الاتجاه الصحيح ويعمل المحرك الخلفي في الاتجاه الأمامي.
ومن خلال لمس زر التوقف يمكننا إيقاف السيارة.
مخطط الدائرة وشرحها
يظهر مخطط الدائرة للسيارة التي يتم التحكم فيها عن طريق البلوتوث في الشكل أعلاه. سائق محرك متصل بـ arduino لتشغيل السيارة. تتصل دبابيس إدخال سائق المحرك 2 و 7 و 10 و 15 برقم التعريف الرقمي الخاص بـ arduino 12 و 11 و 10 و 9 على التوالي. استخدمنا هنا محركي تيار مستمر لسائق السيارة حيث يتم توصيل محرك واحد عند طرف خرج سائق المحرك 3 و 6 ويتم توصيل محرك آخر عند 11 و 14. كما يتم استخدام بطارية 6 فولت لتشغيل سائق المحرك لمحركات القيادة. تتصل دبابيس rx و tx بوحدة Bluetooth مباشرة في TX و rx من Arduino. ويتم توصيل vcc والدبوس الأرضي لوحدة Bluetooth عند +5 فولت و gnd من Arduino. ويتم استخدام بطارية 9 فولت لتزويد الدائرة الكهربائية في دبوس فين Arduino
شرح البرنامج
في البرنامج ، قمنا أولاً بتعريف دبابيس الإخراج للمحركات.
#define m11 11 // rear motor #define m12 12 #define m21 10 // front motor #define m22 9
ثم في الإعداد ، قدمنا توجيهات للتثبيت.
إعداد باطل () {Serial.begin (9600) ؛ pinMode (m11 ، الإخراج) ؛ pinMode (m12 ، الإخراج) ؛ pinMode (m21 ، الإخراج) ؛ pinMode (m22 ، الإخراج) ؛ }
بعد ذلك نقرأ المدخلات باستخدام وحدة Bluetooth من نموذج الاتصال التسلسلي ونقوم بتنفيذ العملية وفقًا لذلك.
الحلقة الفارغة () {while (Serial.available ()) {char ch = Serial.read () ؛ str = الفصل ؛ if (str == '1') {Serial.println ("Forward") ؛ إلى الأمام()؛ أنا = 0 ؛ } else if (str == '2') {Serial.println ("Left")؛ حق()؛ أنا = 0 ؛ } else if (str == '3') {Serial.println ("Right")؛ اليسار()؛ أنا = 0 ؛ }
ثم قمنا بإنشاء وظائف لاتجاهات مختلفة للسيارة. هناك خمسة شروط لهذه السيارة التي يتم التحكم فيها عن طريق البلوتوث والتي تستخدم لإعطاء التوجيهات:
تم لمس الزر في تطبيق وحدة تحكم Bluetooth |
خرج محرك الجانب الأمامي لإعطاء الاتجاه |
خرج محرك الجانب الخلفي للتحرك للأمام أو الاتجاه المعاكس |
|||
زر |
م 11 |
م 12 |
م 21 |
م 22 |
اتجاه |
قف |
0 |
0 |
0 |
0 |
قف |
إلى الأمام |
0 |
0 |
0 |
1 |
إلى الأمام |
الى الوراء |
0 |
0 |
1 |
0 |
الى الوراء |
حق |
1 |
0 |
0 |
1 |
حق |
اليسار |
0 |
1 |
0 |
1 |
اليسار |