جدول المحتويات:

نظام المنزل الذكي من Arduino: 7 خطوات
نظام المنزل الذكي من Arduino: 7 خطوات

فيديو: نظام المنزل الذكي من Arduino: 7 خطوات

فيديو: نظام المنزل الذكي من Arduino: 7 خطوات
فيديو: في خطوات عملية - حول بيتك (سمارت هوم) بنفسك! 2024, يوليو
Anonim
نظام المنزل الذكي اردوينو
نظام المنزل الذكي اردوينو
نظام المنزل الذكي اردوينو
نظام المنزل الذكي اردوينو

في هذا Instructable ، سوف نوضح لك كيفية إنشاء نظام المنزل الذكي الخاص بك باستخدام مصمم تطبيقات MATLAB مع لوحة Sparkfun Red. يمكن استخدام Instructable للمساعدة في الحصول على فهم أساسي لمصمم تطبيقات MATLAB ، وكذلك استخدام المقاوم الضوئي ، والمحرك المؤازر ، ومستشعر الحركة PIR.

الخطوة 1: لنبدأ: المواد

يتطلب هذا المشروع المواد التالية:

- Arduino Uno (بالنسبة لهذا المشروع ، استخدمنا لوحة Sparkfun Red)

- مقاوم ضوئي واحد

- محرك سيرفو صغير

- محرك سيرفو مستمر

- مستشعر حركة PIR واحد

- مستشعر درجة حرارة واحد

- عدد 2 مصابيح LED

- أسلاك ومقاومات حسب الحاجة

الخطوة 2: الخطوة 2: الاقتراب من المشكلة لحلها

كان الهدف الرئيسي من هذا المشروع هو إنشاء نظام منزل ذكي سهل الاستخدام عن طريق ترميز لوحة Arduino Uno باستخدام MATLAB. فكرنا أولاً في العمل فقط مع مستشعر درجة الحرارة والرطوبة ، ولكن إذا بقينا مع هذين المستشعرين ، فلن يكون نظام المنزل الذكي الخاص بنا قابلاً للتسويق بسهولة للجمهور العام. قررنا أننا نريد إنشاء نظام طاقة منزلي ذكي شامل يعمل بمثابة ترموستات ذكي ونظام أمان. أخيرًا ، أردنا العمل مع AppDesigner من MATLAB حتى يتمكن المستخدم من تغيير المنزل الذكي بسهولة كما يحلو له.

الخطوة 3: الخطوة 3: تكوين تدفق الكود الأساسي وواجهة المستخدم الرسومية

الخطوة 3: تكوين تدفق الكود الأساسي وواجهة المستخدم الرسومية
الخطوة 3: تكوين تدفق الكود الأساسي وواجهة المستخدم الرسومية

للبدء ، ستحتاج إلى فتح MATLABs AppDesigner ووضع ما يلي:

حقلي تحرير رقمي لإدخال عتبة ساخنة وباردة

زر لفتح الباب

وأربعة مؤشرات للمدفأة والباب والمروحة وكشاف الضوء.

علامتان للتواصل مع المستخدم.

بالنسبة لهذا المشروع ، وجدنا أنه من الأسهل العمل مع المتغيرات العامة ووظيفة بدء التشغيل داخل المصمم. ستحتاج إلى هذه المتغيرات داخل وظيفة بدء التشغيل:

عالمي أ

a = arduino ('COM3'، 'uno'، 'Libraries'، 'Servo') ؛ عالميًا عالميًا hotUI عالميًا باردًا عالميًا يفتح عالميًا مؤقتًا عالميًا الحالي الحالي العالمي int_light

في الوقت الحالي ، لدينا مهمة فقط للمتغير حتى يتمكن جهاز الكمبيوتر الخاص بك من قراءة اردوينو. قد يختلف COM3 اعتمادًا على المنفذ الذي قد يستخدمه جهاز الكمبيوتر الخاص بك.

عند تشغيل الكود ، سيبدأ ضمن وظيفة بدء التشغيل بإنشاء المتغيرات العامة ومعايرة النظام. في نهاية هذه الوظيفة ، ستكون هناك وظيفة مؤقت تستدعي خاصية أطلقنا عليها اسم Timer. ضمن خاصية Timer هذه ، نضع الكود الذي يقوم بتشغيل النظام المنزلي حتى لا يقوم المؤقت بإعادة تشغيل رمز المعايرة.

ملاحظة: لم نعطِ أي تعليمات بخصوص الأسلاك للنظام. أشرنا إلى الدليل الذي يأتي مع لوحة SparkFun Red.

الخطوة 4: الخطوة 3: إعداد نظام الترموستات

الخطوة الثالثة: إعداد نظام الترموستات
الخطوة الثالثة: إعداد نظام الترموستات
الخطوة الثالثة: إعداد نظام الترموستات
الخطوة الثالثة: إعداد نظام الترموستات

تعمل وظيفة منظم الحرارة على النحو التالي:

سيُدخل المستخدم درجة الحرارة التي يعتبرونها شديدة الحرارة أو شديدة البرودة. بمجرد قراءة مقياس الحرارة ، إذا كان المنزل باردًا جدًا ، فسيتم تشغيل "الموقد" (مصباح LED أحمر) وتسخين المنزل. إذا كان المنزل حارًا جدًا ، فستقوم "مروحة" (محرك مؤازر مستمر) بتشغيل تبريد المنزل.

لتشفير نظام الترموستات:

سنبدأ ضمن وظيفة بدء التشغيل لعرض درجة الحرارة الحالية والسماح للمستخدم بإدخال عتباتهم الباردة والساخنة.

ع = 'A0'٪ دبوس مقاوم ضوئي

فولت = readVoltage (أ ، درجة الحرارة) ؛ celc = (فولت 0.5) * 100 ؛ cur_temp = celc * 9/5 + 32 ؛ app. Label_4. Text = num2str (current_temp) ؛ يمكن تغيير رقم التسمية ٪ وقفة (10) ؛ ٪ قد ترغب في التغيير !!!!!

ثم سنكمل نظام الثرموستات ضمن خاصية Timer.

عملة عالمية

عالمي coldUI عالمي hotUI عالمي إذا كان تطبيق Curr_temp hotUI app. FanStateLamp. Color = [0.47 0.67 0.19] ؛ ٪ Turns GUI lamp green 0.90 0.90 0.90] ؛ ٪ يؤدي هذا إلى إيقاف تشغيل جميع مصابيح واجهة المستخدم الرسومية وتطبيق الموقد. FanStateLamp. Color = [0.9 0.9 0.9] ؛ writeDigitalPin (a، 'D13'، 0) ؛ نهاية

الخطوة 5: الخطوة 4: إعداد نظام الباب

الخطوة 4: إعداد نظام الباب
الخطوة 4: إعداد نظام الباب

تعمل وظيفة الباب على النحو التالي:

عند تشغيل رمز MATLAB لأول مرة ، سيطلب منك التطبيق فتح الباب حتى يتمكن المقاوم الضوئي من قراءة الضوء الأولية. بمجرد اكتمال ذلك ، سيتم تنشيط المؤقت وسيأخذ المقاوم الضوئي قراءات ضوئية ثانوية. إذا كانت قراءة الضوء الثانوية أخف من القراءة الأولية ، فسيقفل محرك سيرفو الباب. إذا أراد المستخدم فتح الباب ، فيمكنه الضغط على زر في التطبيق لفتح الباب.

لتكوين محرك سيرفو ومقاوم ضوئي:

لترميز نظام الباب:

سنبدأ ضمن وظيفة بدء التشغيل لأخذ قراءات الضوء الأولية.

s = مؤازرة (a، 'D9')٪ قد يتغير على أساس الأسلاك

app. Label_4. Text = 'الرجاء فتح الباب لمعايرة النظام' ؛ وقفة (15) ؛ ٪ هذا يعطي الوقت للمستخدم لفتح الباب int_light = readVoltage (أ ، ع) ؛ app. Label_4. Text = 'يمكنك إزالة إصبعك' ؛

بعد ذلك ، سنكمل الرمز داخل خاصية Timer

فتح عالمي

global int_light global s global a٪ احصل على قراءة ضوئية حالية لمقارنةurr_light = readVoltage (أ ، ع) ؛ ٪ - قفل الباب - إذا كان int_light <tor_light writePosition (s ، 1) ٪ قد تختلف مواضع المؤازرة لكل توقف مؤقت للمحرك (0.5) ؛ app. DoorStateLamp. Color = [0.47 0.67 0.19] ؛ النهاية ٪ - فتح الباب - في حالة الفتح == 1234 وقفة (0.5) ؛ writePosition (s،.52) app. DoorStateLamp. Color = [0.85 0.33 0.10] ؛ نهاية

أخيرًا ، سننشئ رد الاتصال على زر فتح. بمجرد أن يضغط المستخدم على زر إلغاء القفل ، سيتم تخصيص رقم لإلغاء تأمين المتغير العام يمكنه إكمال عبارة if النهائية في خاصية Timer.

فتح عالمي

فتح = 1234 ؛

الخطوة 6: الخطوة 6: إعداد نظام ضوء الفيضانات

الخطوة 6: إعداد نظام ضوء الفيضانات
الخطوة 6: إعداد نظام ضوء الفيضانات

تعمل وظيفة ضوء الفيضان على النحو التالي:

عند بدء تشغيل رمز MATLAB ، سيبدأ مستشعر الحركة PIR في اكتشاف الحركة. بمجرد أن يكتشف نوعًا من الحركة ، فإنه سيقطع إشارة الطاقة. بمجرد قطع هذه الإشارة ، سيضيء ضوء غامر خارج المنزل.

لتكوين نظام الضوء الغامر:

لتشفير نظام الضوء الغامر:

هذه المرة يمكننا التخطي إلى خاصية Timer لأننا لسنا بحاجة إلى كتابة أي متغيرات إضافية.

human_detected = readDigitalPin (a، 'D2') ؛ قد يتغير٪ Pin بناءً على التكوين إذا تم اكتشاف human_detected == 0 writeDigitalPin (a، 'D7'، 1)٪ Pin قد يغير app. FloodLightStateLamp. Color = [0.47 0.67 0.19] ؛ elseif human_detected == 1 app. FloodLightStateLamp. Color = [0.9 0.9] ؛ writeDigitalPin (a، "D7"، 0) النهاية

الخطوة 7: الخاتمة

الآن بعد أن أصبح لديك مسودة من واجهة المستخدم الرسومية الخاصة بك مع مصمم التطبيق ورمز Arduino الخاص بك ، فأنت جاهز لإجراء تعديلاتك الخاصة أو توصيل Arduino الخاص بك والانطلاق!

موصى به: