- إنشاء واجهة مستخدم رسومية MATLAB لرسم الرسم البياني
- كود MATLAB لتخطيط الرسم البياني
- المواد المطلوبة
- مخطط الرسم البياني
- ارسم الرسم البياني باستخدام MATLAB
تساعد الرسوم البيانية دائمًا في تصور البيانات ويصبح من السهل جدًا العثور على الاتجاهات والأنماط من خلال النظر إليها. هناك العديد من البرامج المتاحة لرسم الرسوم البيانية بناءً على قيم الإدخال ، وسنستخدم اليوم MATLAB لرسم الرسم البياني بناءً على بيانات درجة الحرارة من مستشعر LM35. سيعطيك هذا البرنامج التعليمي فكرة أساسية حول كيفية رسم رسم بياني في الوقت الفعلي باستخدام MATLAB. يستخدم Arduino Uno هنا للحصول على بيانات درجة الحرارة من مستشعر درجة الحرارة LM35.
قبل المضي قدمًا ، إذا كنت جديدًا على MATLAB ، يمكنك التحقق من دروس MATLAB السابقة الخاصة بنا للحصول على فهم أفضل:
- الشروع في العمل مع MATLAB: مقدمة سريعة
- واجهة اردوينو مع MATLAB - وميض LED
- الاتصال التسلسلي بين MATLAB و Arduino
- التحكم في محرك التيار المستمر باستخدام MATLAB و Arduino
- التحكم في السائر باستخدام MATLAB و Arduino
إنشاء واجهة مستخدم رسومية MATLAB لرسم الرسم البياني
أولاً ، يتعين علينا إنشاء واجهة المستخدم الرسومية (GUI) لرسم رسم بياني ببيانات درجة الحرارة. لبدء تشغيل واجهة المستخدم الرسومية ، اكتب الأمر أدناه في نافذة الأوامر
يرشد
ستفتح نافذة منبثقة ، ثم حدد واجهة مستخدم رسومية جديدة فارغة كما هو موضح في الصورة أدناه ،
الآن يتعين علينا اختيار زر ضغط واحد ومحورين ومربع نص واحد لواجهة MATLAB الرسومية . سيتم استخدام زر الضغط لبدء استشعار درجة الحرارة ، محورين لرسم الرسم البياني ومربع النص لإظهار القيمة الحالية لدرجة الحرارة.
لتغيير حجم الزر أو المحاور أو زر تحرير النص أو تغييره ، ما عليك سوى النقر فوقه وستتمكن من سحب زوايا الزر. من خلال النقر المزدوج على أي من هذه ، ستتمكن من تغيير لون وسلسلة وعلامة هذا الزر المحدد. بعد التخصيص سيبدو هكذا
يمكنك تخصيص الأزرار حسب اختيارك. الآن عند حفظ هذا ، يتم إنشاء رمز في نافذة محرر MATLAB. لجعل Arduino الخاص بك يقوم بأداء أي مهمة معينة تتعلق بمشروعك ، عليك دائمًا تحرير هذا الرمز الذي تم إنشاؤه. أدناه قمنا بتحرير كود MATLAB. يمكنك معرفة المزيد حول نافذة الأوامر ، ونافذة المحرر ، وما إلى ذلك في دليل بدء استخدام MATLAB.
كود MATLAB لتخطيط الرسم البياني
يتم تقديم كود MATLAB الكامل لتصميم مقياس حرارة باستخدام LM35 و Arduino ، في نهاية هذا المشروع. علاوة على ذلك ، نقوم بتضمين ملف GUI (.fig) وملف الكود (.m) هنا للتنزيل ، والذي يمكنك من خلاله تخصيص الأزرار أو حجم المحاور وفقًا لمتطلباتك. لقد قمنا بتحرير الرمز الذي تم إنشاؤه كما هو موضح أدناه.
انسخ والصق الكود أدناه في السطر رقم. 74 للتأكد من أن Arduino يتحدث مع MATLAB في كل مرة تقوم فيها بتشغيل ملف m .
امسح الكل؛ العالمية أ ؛ أ = اردوينو () ؛
عندما تقوم بالتمرير لأسفل ، سترى أن هناك وظيفتين تم إنشاؤهما لـ Pushbutton و Edit Text في واجهة المستخدم الرسومية ، ولن يتم إنشاء أي وظيفة للمحاور. اكتب الآن الكود في وظيفة Pushbutton (زر البدء) وفقًا للمهمة التي تريد تنفيذها.
في وظيفة الزر " ابدأ " ، انسخ الكود أدناه والصقه قبل نهاية الوظيفة مباشرة لبدء استشعار درجة الحرارة. للاستشعار المستمر والعرض والتخطيط البياني لدرجة الحرارة ، نستخدم حلقة while . لقد قدمنا وقفة لمدة ثانية واحدة بعد كل تكرار لذلك سيتم تحديث قيمة درجة الحرارة كل ثانية.
س = 0 ؛ اذهب = صحيح ؛ العالمية أ ؛ بينما تذهب القيمة = readVoltage (a ، 'A1') ؛ temp = (القيمة * 100) ؛ ديس (درجة الحرارة) ؛ س = ؛ مؤامرة (مقابض ، محاور 1 ، س) ؛ الشبكة مفعلة؛ xlabel ('الوقت (بالثواني)') ylabel ('درجة الحرارة (درجة مئوية)') ؛ العنوان ("الرسم البياني لدرجة الحرارة في الوقت الفعلي") ؛ مجموعة drawnow (handles.edit1 ، 'String'، num2str (temp)) ؛ وقفة (1) ؛ النهاية
الآن ، دعنا نرى كيف يعمل الرمز. في السطر الأقل من ثلاثة أسطر ، قمنا بتعيين القيمة الأولية لـ ' x ' إلى الصفر ، وحددنا ' go ' على أنه حقيقي لبدء حلقة while وأعلننا ' global a' لاستدعاء Arduino في الوظيفة.
س = 0 ؛ اذهب = صحيح ؛ العالمية أ ؛
يتم استخدام سطر الكود أدناه لاستشعار قيمة الجهد من الدبوس التمثيلي A1 في Arduino المتصل بدبوس "OUT" لمستشعر درجة الحرارة LM35. سيكون الناتج هو قيمة الجهد وليس القيمة التناظرية.
القيمة = readVoltage (a ، 'A1') ؛
هنا يمكننا تحويل قيمة الجهد مباشرة إلى قيمة درجة الحرارة (درجة مئوية) ، بضربها في 10
temp = (القيمة * 100) ؛
الآن ، لرسم مخطط الرسم البياني (handles.axes1، x) يتم استخدام وظيفة ، حيث يمثل المحور 1 مرجع أو اسم منطقة الرسم البياني. لذلك إذا كنت تقوم بالتخطيط لأكثر من رسم بياني ، فعليك فقط تغيير اسم المحاور ، كما لو كنت ترسم رسمًا بيانيًا آخر ، يمكنك كتابة مخطط (handles.axes2 ، x)
يتم استخدام "Grid on" في عرض الشبكة للرسم البياني ، يتم استخدام "xlabel" و "ylabel" و " title " لتسمية المحور x والمحور y والعنوان.
مؤامرة (مقابض ، محاور 1 ، س) ؛ الشبكة مفعلة؛ xlabel ('الوقت (بالثواني)') ylabel ('درجة الحرارة (درجة مئوية)') ؛ العنوان ("الرسم البياني لدرجة الحرارة في الوقت الفعلي") ؛
يستخدم " Drawnow" لتحديث التمثيل الرسومي في الوقت الفعلي.
سحبناو
ل عرض قيمة درجة الحرارة في مربع تحرير النص في يستخدم كل ثانية الأمر أدناه،
مجموعة (handles.edit1، 'String'، num2str (temp)) ؛
المواد المطلوبة
- الكمبيوتر المحمول المثبت MATLAB (الأفضلية: R2016a أو الإصدارات الأحدث)
- اردوينو UNO
- LM35 - مستشعر درجة الحرارة
- توصيل الأسلاك
- اللوح
مخطط الرسم البياني
ارسم الرسم البياني باستخدام MATLAB
بعد ضبط الجهاز وفقًا لمخطط الدائرة ، ما عليك سوى النقر على زر التشغيل لتشغيل الكود المحرر في ملف.m
قد يستغرق MATLAB بضع ثوانٍ للرد ، لا تنقر على أي أزرار واجهة المستخدم الرسومية حتى تظهر MATLAB رسالة مشغول في الزاوية اليسرى السفلية كما هو موضح أدناه ،
عندما يكون كل شيء جاهزًا ، انقر فوق زر البدء وستبدأ في الحصول على بيانات درجة الحرارة في منطقة الرسوم وفي مربع تحرير النص . سيتم تحديث القيمة تلقائيًا في كل ثانية. هذه الفاصل الزمني لمدة ثانية واحدة يمكنك تغييره في رمز MATLAB وفقًا لذلك.
سيبدو الإخراج مثل الصورة الموضحة أدناه ،
هذه هي الطريقة التي يمكنك بها رسم الرسم البياني لأي قيمة واردة من Arduino باستخدام MATLAB.
تحقق من الفيديو التوضيحي أدناه لفهم صحيح.