- المكونات مطلوبة
- مخطط الرسم البياني
- اتصال Bluetooth باستخدام نافذة أوامر MATLAB
- اتصال Bluetooth باستخدام MATLAB GUI
يعد Bluetooth هو البروتوكول الأبسط والأكثر شيوعًا للاتصالات اللاسلكية قصيرة المدى في الأنظمة المضمنة. لا تستخدم تقنية Bluetooth لنقل البيانات من جهاز إلى آخر فحسب ، بل تستخدم أيضًا للتحكم في الأجهزة لاسلكيًا. تتمتع كل أداة إلكترونية تقريبًا بدعم Bluetooth في أيامنا هذه ، لذا فمن الحكمة أن يكون لديك خيار تحكم Bluetooth في التطبيق المضمن.
هنا في هذا البرنامج التعليمي ، سوف نتعلم كيفية استخدام Bluetooth في MATLAB للتواصل لاسلكيًا. سنستخدم تقنية Bluetooth المدمجة في الكمبيوتر مع MATLAB في جانب واحد و HC-05 مع Arduino في الجانب الآخر. هناك طريقتان لإعداد الاتصال بين MATLAB و Arduino عبر البلوتوث ، إحداهما تستخدم نافذة الأوامر والأخرى تستخدم MATLAB GUI. سيبقى كود Arduino لكلتا الطريقتين كما هو. إذا كنت جديدًا على MATLAB ، فمن المستحسن أن تبدأ مع برنامج وميض LED بسيط مع MATLAB وتعلم المصطلحات الأساسية المستخدمة في MATLAB. يمكنك استكشاف المزيد من مشاريع MATLAB:
- الاتصال التسلسلي بين MATLAB و Arduino
- التحكم في محرك التيار المستمر باستخدام MATLAB و Arduino
- التحكم في السائر باستخدام MATLAB و Arduino
- الشروع في معالجة الصور باستخدام MATLAB
المكونات مطلوبة
- الكمبيوتر المحمول المثبت MATLAB (الأفضلية: R2016a أو الإصدارات الأحدث)
- اردوينو UNO
- وحدة بلوتوث (HC-05)
- LED (أي لون)
- مقاوم (330 أوم)
- أسلاك توصيل
لمعرفة المزيد حول HC-05 وتفاعله مع Arduino ، راجع المقالات التالية.
- محرك سيرفو يتم التحكم فيه عن طريق البلوتوث باستخدام Arduino
- مصابيح LED يتم التحكم فيها بالصوت باستخدام Arduino و Bluetooth
- التحكم في الهاتف الخلوي AC باستخدام Arduino و Bluetooth
مخطط الرسم البياني
فيما يلي مخططات اتصال Bluetooth بين MATLAB و Arduino :
اتصال Bluetooth باستخدام نافذة أوامر MATLAB
هذه هي الطريقة البسيطة لإعداد اتصال Bluetooth بين Arduino و MATLAB. هنا ، يستخدم MATLAB بلوتوث الكمبيوتر المحمول لتوصيل HC-05 المتصل بـ Arduino. أولاً ، يتعين علينا ترميز Arduino لقراءة البيانات التسلسلية الواردة القادمة من MATLAB (باستخدام Bluetooth في الكمبيوتر المحمول).
ثم يمكن استخدام البيانات المنقولة عبر البلوتوث من MATLAB للتحكم في أي شيء متصل بـ Arduino. لقد قمنا هنا بتوصيل LED بـ Arduino والذي يمكن التحكم فيه من LAPTOP باستخدام MATLAB.
أولاً ، قم بتحميل كود Arduino المحدد في Arduino UNO ثم ابدأ الترميز في نافذة أوامر MATLAB.
#تضمن
ثم انسخ والصق رمز MATLAB أدناه في نافذة الأوامر لاتصال Bluetooth بين MATLAB و Arduino.
instrhwinfo ("Bluetooth" ، "HC-05") ؛ bt = بلوتوث ('HC-05'، 1) ؛ fopen (BT) ؛
في الكود أدناه ، يتم استخدام الأمر fprintf (bt ، '0') لإيقاف تشغيل LED عن طريق إرسال "0" إلى Arduino. الآن ، إذا كنت تريد تشغيل LED ، فما عليك سوى إرسال "1" بدلاً من "0" باستخدام الأمر أدناه.
fprintf (bt، '1') ؛
للتحقق من المعلومات حول الأجهزة المتوفرة ، استخدم الأمر أدناه
instrhwinfo ('type'، 'Name of device')؛
لفتح منفذ البلوتوث ، استخدم الأمر أدناه
fopen (BT) ؛
تحقق من الفيديو أدناه لفهم العملية الكاملة لإرسال البيانات من MATLAB إلى Arduino باستخدام Bluetooth.
اتصال Bluetooth باستخدام MATLAB GUI
لإظهار اتصال Bluetooth باستخدام MATLAB GUI ، سننشئ ثلاثة أزرار رسومية في MATLAB لتشغيل وإيقاف وميض مؤشر LED المتصل بـ Arduino. سيتم إرسال البيانات عبر البلوتوث من MATLAB إلى HC-05 عند النقر على تلك الأزرار الرسومية. يحتوي Arduino على الكود الخاص باستقبال بيانات Bluetooth المرسلة من MATLAB إلى HC-05 والتحكم في مؤشر LED وفقًا للبيانات المستلمة. سيظل كود Arduino كما هو في السابق ، والفرق الوحيد هو أننا كنا نرسل البيانات "1" و "0" في السابق من خلال نافذة أوامر MATLAB ، والآن سيتم إرسال نفس البيانات عند النقر على ثلاثة أزرار رسومية.
لبدء تشغيل واجهة المستخدم الرسومية ، اكتب الأمر أدناه في نافذة الأوامر
يرشد
ستفتح نافذة منبثقة ، ثم حدد واجهة مستخدم رسومية جديدة فارغة كما هو موضح في الصورة أدناه ،
اختر الآن ثلاثة أزرار انضغاطية لتشغيل وإيقاف وميض LED ، كما هو موضح أدناه ،
لتغيير حجم الأزرار الانضغاطية أو تغيير شكلها ، ما عليك سوى النقر عليها وستكون قادرًا على سحب زوايا الزر. من خلال النقر المزدوج على زر الضغط ، يمكنك تغيير لون وخيط وعلامة هذا الزر المعين. لقد قمنا بتخصيص ثلاثة أزرار ضغط كما هو موضح في الصورة أدناه.
يمكنك تخصيص الأزرار حسب اختيارك. الآن عند حفظ هذا ، سيتم إنشاء رمز في نافذة محرر MATLAB. قم بتحرير هذا الرمز وفقًا للمهمة التي تريد تنفيذها بواسطة Arduino عند تلقي بيانات Bluetooth باستخدام MATLAB GUI. أدناه قمنا بتحرير كود MATLAB. يمكنك معرفة المزيد حول نافذة الأوامر ، ونافذة المحرر ، وما إلى ذلك في دليل بدء استخدام MATLAB.
يتم تقديم رمز MATLAB الكامل ، للتحكم في LED من MATLAB عبر البلوتوث ، في نهاية هذا المشروع. علاوة على ذلك ، نقوم بتضمين ملف GUI (.fig) وملف الكود (.m) هنا للتنزيل ، والذي يمكنك من خلاله تخصيص الأزرار وفقًا لمتطلباتك. فيما يلي بعض التعديلات التي قمنا بها للتحكم في LED المتصل بـ Arduino.
انسخ والصق الكود أدناه في السطر رقم. 74 لإعداد أو توصيل MATLAB ببلوتوث الكمبيوتر المحمول.
امسح الكل؛ عالمي bt instrhwinfo ("Bluetooth" ، "HC-05") ؛ bt = بلوتوث ('HC-05'، 1) ؛ fopen (BT) ؛
حيث يتم استخدام fopen (bt) لفتح منفذ Bluetooth لنقل البيانات.
الآن ، عند التمرير لأسفل ، سترى أن هناك ثلاث وظائف تم إنشاؤها لثلاثة أزرار ضغط في واجهة المستخدم الرسومية. الآن اكتب الكود في الوظائف وفقًا للمهمة التي تريد القيام بها عند النقر.
في وظيفة زر LED ON ، انسخ والصق الرمز أدناه قبل نهاية الوظيفة مباشرة لتشغيل مؤشر LED. في الكود أدناه ، يتم استخدام fprintf (bt، '1') لإرسال '1' من MATLAB إلى HC-05 باستخدام Bluetooth في الكمبيوتر المحمول. سوف يتلقى Arduino هذه البيانات '1' من خلال HC-05 ويضيء مؤشر LED بجعل دبوسه الحادي عشر مرتفعًا.
عالمي bt fprintf (bt، '1') ؛
في وظيفة زر LED OFF ، انسخ والصق الرمز أدناه قبل نهاية الوظيفة مباشرة لإيقاف تشغيل LED. في الكود أدناه ، يتم استخدام fprintf (bt، '0') لإرسال "0" من MATLAB إلى HC-05 باستخدام Bluetooth في الكمبيوتر المحمول. سوف يتلقى Arduino "0" من خلال HC-05 ويقوم بإيقاف تشغيل مؤشر LED بجعل دبوسه الحادي عشر منخفضًا.
عالمي bt fprintf (bt، '0') ؛
في وظيفة زر BLINK ، استخدم الكود أدناه لميض مؤشر LED. A ل يستخدم حلقة ميض LED 10 مرات.
عالمي bt لـ i = 1:10 fprintf (bt، '1') ؛ وقفة (0.5) ؛ fprintf (bt، '0') ؛ وقفة (0.5) ؛ النهاية
بعد الانتهاء من ترميز MATLAB GUI وإعداد الأجهزة وفقًا لمخطط الدائرة ، ما عليك سوى النقر على زر التشغيل لتشغيل الكود المحرر في ملف.m.
قد يستغرق MATLAB بضع ثوانٍ للرد ، لا تنقر على أي زر واجهة مستخدم رسومية حتى يظهر MATLAB مؤشر BUSY ، والذي يمكنك رؤيته في الزاوية السفلية اليسرى من الشاشة كما هو موضح أدناه ،
عندما يكون كل شيء جاهزًا ، انقر فوق الزر LED-ON و LED OFF و BLINK لتشغيل وإيقاف ووميض LED على التوالي. يمكن تنزيل جميع ملفات الأكواد الخاصة بهذا المشروع من هنا أو يمكنك استخدام الكود الوارد أدناه.
تحقق من الفيديو أدناه لفهم العملية الكاملة لإرسال البيانات من MATLAB إلى Arduino عبر Bluetooth باستخدام MATLAB GUI.