نحن جميعًا على دراية بكلمة "أتمتة" ، حيث يكون التفاعل البشري ضئيلًا ويمكن التحكم في الأشياء تلقائيًا أو عن بُعد. تحظى أتمتة المنزل بشعبية كبيرة ومفهوم متطلب في مجال الإلكترونيات ، ونحن نبذل قصارى جهدنا أيضًا لجعل هذا المفهوم سهل الفهم والإدارة كمشاريع إلكترونيات لقد قمنا سابقًا بتطوير عدة أنواع من مشاريع أتمتة المنزل باستخدام فيديو ورمز عاملين ، يرجى التحقق من:
- أتمتة المنزل القائم على DTMF
- أتمتة المنزل على أساس GSM باستخدام Arduino
- أتمتة المنزل المتحكم به بواسطة الكمبيوتر الشخصي باستخدام Arduino
- التحكم الآلي بالمنزل عن طريق البلوتوث باستخدام 8051
- التحكم الآلي بالمنزل عن بعد بالأشعة تحت الحمراء باستخدام Arduino
وفي هذا المشروع ، سنقوم ببناء مشروع أتمتة المنزل التالي باستخدام MATLAB و Arduino ، وهو نظام أتمتة للمنزل يعتمد على واجهة المستخدم الرسومية باستخدام Arduino و MATLAB
المكونات:
- اردوينو UNO
- كابل USB
- ULN 2003
- ريلاى 5 فولت
- لمبة مع حامل
- توصيل الأسلاك
- حاسوب محمول
- مزود الطاقة
- PVT
شرح العمل:
في هذا المشروع ، نستخدم MATLAB مع Arduino للتحكم في الأجهزة المنزلية ، من خلال واجهة مستخدم رسومية في الكمبيوتر. استخدمنا هنا الاتصال السلكي لإرسال البيانات من الكمبيوتر (MATLAB) إلى Arduino. في جانب الكمبيوتر ، استخدمنا واجهة المستخدم الرسومية في MATLAB لإنشاء بعض الأزرار للتحكم في الأجهزة المنزلية. للتواصل بين Arduino و MATLAB ، نحتاج أولاً إلى تثبيت " دعم MATLAB و Simulink لـ Arduino " أو " حزمة Arduino IO ". للقيام بذلك ، اتبع الخطوات التالية أو تحقق من الفيديو أدناه:
- قم بتنزيل حزمة Arduino IO Package من هنا. تحتاج إلى التسجيل قبل التنزيل.
- ثم قم بنسخ / تحميل ملف adioe.pde إلى Arduino باستخدام Arduino IDE. يمكن العثور على ملف adioe.pde في حزمة Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- ثم افتح برنامج MATLAB ، وانتقل إلى مجلد Arduino IO ، وافتح ملف install_arduino.m وقم بتشغيله في Matlab. سترى رسالة "تمت إضافة مجلدات Arduino إلى المسار" في نافذة أوامر MATLAB ، مما يعني تحديث مسار MATLAB إلى مجلدات Arduino.
هذه هي الطريقة التي نصنع بها Arduino ، ونتواصل مع MATLAB. الطريقة أعلاه مناسبة لـ "MATLAB R2013b أو الإصدارات السابقة" ، إذا كنت تستخدم إصدارًا أعلى من MATLAB (مثل R2015b أو R2016a) ، يمكنك النقر مباشرةً على علامة تبويب الوظائف الإضافية في MATLAB ثم النقر فوق "الحصول على حزم دعم الأجهزة" ، حيث يمكنك تثبيت حزم Arduino لـ MATLAB.
بعد تثبيت الملفات ، يمكنك الآن إنشاء واجهة مستخدم رسومية لمشروع أتمتة المنزل. بشكل أساسي في واجهة المستخدم الرسومية ، نقوم بإنشاء أزرار ضغط للتحكم في الأجهزة المنزلية من الكمبيوتر. يمكن إنشاء الأزرار بالذهاب إلى "واجهة المستخدم الرسومية" في قائمة "جديد" في MATLAB. علاوة على ذلك ، يمكننا تعيين اسم وألوان هذه الأزرار ، لقد أنشأنا 8 أزرار ، ستة منها لتشغيل وإيقاف ثلاثة أجهزة منزلية وزرين لتشغيل وإيقاف تشغيل جميع الأجهزة في وقت واحد.
الآن بعد إنشاء الأزرار ، عند النقر فوق الزر "تشغيل" في نافذة واجهة المستخدم الرسومية ، سيطلب منك حفظ ملف واجهة المستخدم الرسومية هذا (بامتداد.fig) ، المعروف أيضًا باسم " ملف التين". بمجرد حفظ الملف ، سيقوم تلقائيًا بإنشاء ملف رمز (بامتداد.m) ، والمعروف أيضًا باسم " ملف M" (انظر أدناه لقطة الشاشة) ، حيث يمكنك وضع الرمز (الوارد في قسم الكود أدناه). يمكنك تنزيل ملف GUI وملف الشفرة لهذا المشروع من هنا: Home_Automation_system.fig و Home_Automation_system.m (انقر بزر الماوس الأيمن وحدد حفظ الرابط باسم…) ، أو يمكنك إنشاءهما بنفسك كما أوضحنا.
بعد الترميز ، يمكنك الآن تشغيل ملف.m من نافذة التعليمات البرمجية ، وسترى "محاولة الاتصال.." في نافذة الأوامر. ثم تظهر رسالة "تم توصيل Arduino بنجاح" ، إذا سارت الأمور على ما يرام. وأخيرًا سترى واجهة المستخدم الرسومية (أزرار) التي تم إنشاؤها مسبقًا في نافذة واجهة المستخدم الرسومية ، حيث يمكنك التحكم في الأجهزة المنزلية بمجرد النقر على الأزرار الموجودة في جهاز الكمبيوتر الخاص بك. تأكد من أن Arduino متصل بـ Arduino عبر كابل USB. هنا في هذا المشروع ، استخدمنا 3 لمبات للتوضيح ، مما يدل على المروحة والضوء والتلفزيون.
يمكن فهم عمل المشروع بأكمله ، بدءًا من تثبيت حزمة دعم Arduino MATLAB إلى تشغيل أو إيقاف تشغيل الجهاز ، في الفيديو في النهاية.
شرح الدائرة:
حلبة هذا المشروع سهلة للغاية. هنا استخدمنا لوحة Arduino UNO و Relay Driver ULN2003 لقيادة المرحلات. يتم توصيل ثلاث مرحلات SPDT بجهد 5 فولت بمنفذ Arduino رقم 3 و 4 و 5 ، من خلال برنامج تشغيل الترحيل ULN2003 ، للتحكم في LIGHT و FAN و TV على التوالي.
شرح البرمجة:
عندما نضغط على أي زر من نافذة واجهة المستخدم الرسومية ، فإنه يرسل بعض الأوامر إلى Arduino ثم يقوم Arduino بهذه العملية. بعد تثبيت حزمة دعم Arduino MATLAB IO ، يمكننا الوصول إلى Arduino من MATLAB باستخدام وظائف Arduino نفسها ، مع بعض الاختلافات الصغيرة ، مثل:
لعمل دبوس عالي في Arduino ، نكتب رمزًا ككتابة رقمية (دبوس ، مرتفع)
في MATLAB سنستخدم هذه الوظيفة بمساعدة كائن أو متغير مثل ،
وبالمثل وهلم جرا.
قبل القيام بذلك ، يتعين علينا تهيئة متغير مثل هذا:
في هذا المشروع ، لا يوجد كود Arduino باستثناء كود أو ملف حزمة دعم Arduino MATLAB. كما أوضحنا سابقًا ، يتم إنشاء ملف التعليمات البرمجية هذا (ملف.m) تلقائيًا أثناء حفظ ملف GUI (ملف.fig). هناك بالفعل بعض التعليمات البرمجية المكتوبة مسبقًا في ملف.m. هذه وظائف رد الاتصال لأزرار الضغط ، مما يعني أنه يمكننا تحديد ما يجب أن يحدث عند النقر على أزرار الضغط هذه.
في كود MATLAB ، نقوم أولاً بتهيئة المنفذ التسلسلي وجعله كائنًا باستخدام متغير. وبعد ذلك يمكننا بدء البرمجة مثل Arduino باستخدام المتغير.
ع واضح ع العالمية ؛ ar = اردوينو ('COM13') ؛ ar.pinMode (3، 'OUTPUT') ؛ ar.pinMode (4، "الإخراج") ؛ ar.pinMode (5، 'OUTPUT') ؛ ar.pinMode (13، 'OUTPUT') ؛
في وظيفة معاودة الاتصال لكل زر ، قمنا بكتابة الكود المرتبط بتشغيل أو إيقاف تشغيل الأجهزة المنزلية المعنية ، المتصلة بـ Arduino عبر Relay. على سبيل المثال ، وظيفة رد الاتصال للضوء ON مذكورة أدناه:
الدالة light_on_Callback (hObject ، وبيانات الأحداث ، والمقابض)٪ hObject handle to light_on (انظر GCBO)٪ eventdata محفوظة - ليتم تعريفها في إصدار مستقبلي من هيكل مقابض MATLAB٪ مع مقابض وبيانات المستخدم (انظر GUIDATA) عالمي ar ؛ ar.digitalWrite (3 ، 1) ؛ ar.digitalWrite (13 ، 1) ؛
وبالمثل يمكننا كتابة الكود في وظائف رد الاتصال لجميع الأزرار ، للتحكم في الأجهزة المنزلية الأخرى المتصلة ، تحقق من كود MATLAB الكامل أدناه (ملف.m).