المدونةالفصل الثانيإنترنت الأشياء 1-1إنشاء نظام منزل ذكي | الوحدة الثالثة | الدرس الأول

إنشاء نظام منزل ذكي | الوحدة الثالثة | الدرس الأول

إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي هو عنوان الدرس الأول من الوحدة الثالثة التي تحمل اسم “إنشاء تطبيقات إنترنت الأشياء باستخدام الأردوينو” من مقرر “إنترنت الأشياء 1 – 1”.

سنتعرف في هذا الموضوع على أجهزة تحكُّم الأردوينو الدقيقة المختلفة، واستكشاف مكوِّنات جهاز أردوينو أونو R3، والتمييز بين المستشعرات الخارجية الملحقة، وتطبيق إنشاء نظام المنزل الذكي عبر محاكي تينكركاد، بالإضافة إلى استخدام لبِنات التعليمات البرمجية.

إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

لذا قم بقراءة نواتج التعلُّم بعناية، ثم أعِد قراءتها وتأكَّد من تحصيل محتواها بعد انتهائك من دراسة الموضوع.

نواتج التعلُّم

  • معرفة أجهزة تحكُّم الأردوينو الدقيقة المختلفة.
  • التمييز بين خصائص نماذج لوحات الأردوينو.
  • استكشاف مكوِّنات جهاز أردوينو أونو R3.
  • التمييز بين المُستشعِرات الخارجية الملحقة.
  • تطبيق إنشاء نظام المنزل الذكي عبر محاكي تينكركاد.
  • استخدام لبنات التعليمات البرمجية.

هيا لنبدأ!

أجهزة تحكُّم الأردوينو الدقيقة (Arduino Microcontrollers)

يتم تصميم أجهزة التحكُّم الدقيقة لاستخدامها في الحواسيب المُصغَّرة أحادية اللوحة، وذلك على نطاقٍ أوسع بكثير من استخدامها في الحواسيب المكتبية أو الشخصية.

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

من لوحات الأردوينو الأكثر شيوعًا:

إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

ملاحظة

يُمكِن تصنيع وحدات التحكُّم الدقيقة بسرعة وسهولة بالمقارنة مع صناعة الحواسيب الشخصية أو المحمولة؛ مما يُقلِّل تكلفة الإنتاج بشكل كبير.

أردوينو أونو R3 (Arduino UNO R3)

تعتمد لوحة أردوينو R3 (Arduino UNO R3) على جهاز تحكُّم دقيق من نوع ATmega.

تحتوي هذه اللوحة على 14 منفذ إدخال وإخراج رقمي، حيث يُمكِن استخدام 6 منها كمُخرجات يُطلق عليها تسمية تضمين عرض النبضة (Pulse Width Modulation – PWM)، ويتم استخدام 2 منها لإرسال البيانات التسلسلية (Tx→1)، ولاستقبالها (Rx←0)، ويتم استخدام 6 منها كمداخل تناظرية، ومنفذ لتوصيل USB، ومقبس للطاقة، وزر لإعادة الضبط.

لمعرفة المزيد من المعلومات عن أردوينو، قم بالاطّلاع على الرابط التالي:

آردوينو – ويكيبيديا

أمثلة على مُستشعرات خارجية مُلحقة بأجهزة التحكُّم الدقيقة (Some Examples of External Sensors for Microcontrollers)

  • مستشعرات رطوبة التربة (Soil Moisture Sensors)

تقيس مستشعرات رطوبة التربة حجم الماء الموجود داخل التربة، ونظرًا لأن هذا القياس ينطوي على كمٍ كبير من عمليات معالجة التربة، فإنّ رطوبة التربة تقاس بشكلٍ غير مباشر، وذلك باستخدام خصائص أخرى للتربة مثل المقاومة الكهربائية (كلما زادت الرطوبة قلت المقاومة)، وتعدُّ مستشعرات رطوبة التربة ضرورية في مجال الزراعة، كما يتم استخدامها في تطبيقات المراقبة مثل التحكُّم في الري لأغراض الصناعة، والأغراض المنزلية، وري النباتات المكتبية والحدائق الطبيعية.

إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

  • مستشعرات درجة الحرارة (Temperature Sensors)

يتم استخدام مستشعر درجة الحرارة TMP36 في قياس درجة الحرارة، ويقوم بإنتاج جهد إخراج تناظري يتناسب مع درجة الحرارة التي يستشعرها، ويقوم بتحويل هذا الجهد إلى قراءة لدرجة الحرارة بالدرجات المئوية.

يُمكِن لهذا المستشعر قياس درجات الحرارة في نطاق يتراوح بين -40 وحتى 125 درجة مئوية، ويتم استخدام المستشعر TMP36 بشكل أساسي في التطبيقات التي تتضمن تنظيم درجة الحرارة وقياسها، ويتميز بعدم حاجته إلى المعايرة، وبالتالي يُمكِن استخدامه دون أي ملحقات إضافية.

  • مستشعرات الحركة (PIR Sensors)

تستكشف مستشعرات الحركة (Passive Infrared Sensors – PIR Sensors) الإلكترونية وجود الأشياء ضمن مجال معيَّن، وتعمل هذه المستشعرات عن طريق قياس إشارات الموجات تحت الحمراء الموجودة في مجال رؤيتها.

  • مستشعرات الغاز (Gas Sensors)

هي مقاومات كيميائية تكتشف وجود مستويات مرتفعة من الدخان والغازات الأخرى، مثل: البروبان، والهيدروجين، وأول أكسيد الكربون، حيث تتغير قيمة المقاومة الكيميائية عند ملامسة الغاز لها، ويُمكِن لهذه المستشعرات اكتشاف تركيز غاز بين 200 و10,000 جزء في المليون، كما يتم استخدام مثل هذه المستشعرات لمراقبة المناطق التي قد تتعرض لخطر الحرائق أو انبعاث غازات سامة.

إنشاء نظام المنزل الذكي (Build a Smart Home System)

يزداد كل يوم تجهيز المنازل بمستشعرات ذكية، حيث يتم استخدام هذه المستشعرات لتحسين جودة الحياة وتسهيل القيام بالأعمال المنزلية، وتتمثل إحدى التقنيات “الذكية” في تقنية المصابيح المنزلية الذكية التي يكون تشغيلها وإيقافها تلقائيًّا عن طريق استشعار حركة الأشخاص في غُرف المنزل.

ستستخدم في هذا المثال لوحة جهاز التحكُّم الدقيق أردوينو أونو R3 (Arduino UNO R3) لمحاكاة نظام تلقائي لإضاءة غرفة في منزل ذكي، وذلك في محاكي تينكركاد (Tinkercad)، كما ستستخدم مستشعري حركة (PIR sensors) ليكتشفا وجود أي كائن ضمن مجال رؤيتهما (Field of View) في أي من الغرفتين، وعند وجود شخص في مجال رؤية المستشعر، سيضيء الدايود المشع للضوء المُلحق به، وعند مغادرته ستنطفئ الإنارة.

سيُمثِّل المُستشعر الثاني غرفةً أخرى تنتظر دخول شخصٍ ما.

ستستخدم المكوِّنات الآتية لهذا المشروع:

  • لوحة أردوينو أونو R3 (Arduino UNO R3).
  • مستشعران للحركة (PIR٩ يعملان بالموجات تحت الحمراء.
  • دايودان مشعان للضوء (LEDs).
  • مقاومتان (Resistors).
  • لوحة توصيل الدوائر الصغيرة (Breadboard Small).
إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

ابدأ الآن بتصميم دائرة جديدة في محاكي تينكركاد (Tinkercad).

إن دوائر تينكركاد (Tinkercad Circuits) هي محاكي قائم على الويب يتم استخدامه في إنشاء نماذج أوليَّة للدوائر الإلكترونية، وبرمجتها باستخدام أجهزة تحكُّم دقيقة مثل الأردوينو.

افتح دوائر تينكركاد من موقع الويب https://www.tinkercad.com واختر Circuits (الدوائر) لفتح النافذة الرئيسة للمحاكي.

قم بمراجعة محتوى موضوع “إنشاء نظام منزل ذكي” حتى هذه النقطة عن طريق الرابط التالي:

أضف مكوِّنًا إلى التصميم بالضغط على المُكوِّن من مكتبة المُكوِّنات (Components)، ثم اضغط على أي مكان في مساحة العمل.

ابحث عن المُكوِّنات التي ستحتاج إليها لهذا المشروع وانقلها إلى مساحة العمل، ثم ابحث عن لوحة أردوينو أونو R3 (Arduino UNO R3) وقم بإضافتها، وكرِّر الشيء نفسَه لإضافة مستشعري الحركة (PIR)، واثنين من الدايودات المُشعة للضوء (LED) ومقاومتين (Resistor)، ولوحة توصيل الدوائر الصغيرة (Breadboard small) في مساحة العمل.

لإضافة المكوِّنات إلى مساحة العمل:

  1. ابحث عن Arduino UNO R3 (لوحة أردوينو أونو R3) في مكتبة Components (المكونات).
  2. ثم اسحبها وأفلتها في مساحة العمل.
  3. ابحث عن Breadboard Small (لوحة توصيل الدوائر الصغيرة) في مكتبة Components (المكونات)، واسحبها وأفلتها في مساحة العمل.

ستضيف الآن مقاومتين إلى لوحة توصيل الدوائر الصغيرة (Breadboard Small).

لإضافة المقاومات إلى لوحة توصيل الدوائر:

  1. اسحب وأفلت Resistors (المقاومات) من مكتبة Components (المكونات) على Breadboard Small (لوحة توصيل الدوائر الصغيرة).
  2. من Inspector panel (لوحة المعاينة)، اضبط قيمة كل مقاومة (Resistor) إلى 220.
  3. ثم اضبط الوحدة Ω.
إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

استمر بإضافة دايودين مشعين للضوء إلى لوحة توصيل الدوائر، وآخرين من مستشعرات الحركة.

ستحتاج إلى توصيل مِصعد كل دايود مشع للضوء على التوالي مع مقاومته المُقابلة.

لإضافة المكوِّنات إلى لوحة توصيل الدوائر:

  1. اسحب وأفلت PIR sensors (مستشعرات الحركة) من مكتبة Components (المكونات) وضعها في Breadboard Small (لوحة توصيل الدوائر الصغيرة).
  2. اسحب وأفلت LEDs (الدايودات المشعة للضوء) من مكتبة Components (المكونات)، ثم صِل مِصعد كل دايود مشع للضوء بالتوازي مع مقاومته المقابلة في Breadboard Small (لوحة توصيل الدوائر الصغيرة).

قُم بتوصيل لوحة الأردوينو بلوحة توصيل الدوائر الصغيرة (Breadboard Small) عن طريق توصيل طرف جهد 5 فولت (5V) بالعمود الموجب، والطرف الأرضي (GND) بالعمود السالب.

لتوصيل لوحة الأردوينو أونو R3 (Arduino UNO R3):

  1. قُم بتوصيل 5V (جهد 5 فولت) في لوحة الأردوينو بالعمود الموجب من Breadboard Small (لوحة توصيل الدوائر الصغيرة) وغيِّر لون السلك إلى Red (الأحمر).
  2. قُم بتوصيل GND (الطرف الأرضي) من لوحة الأردوينو أونو R3 بالعمود السالب من Breadboard Small (لوحة توصيل الدوائر الصغيرة) وغيِّر لون السلك إلى black (الأسود).
إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

بعد ذلك قُم بتوصيل مقاومات الدايودات المُشعة للضوء بمنافذ الأردوينو الرقمية 6 و7.

لتوصيل مقاومات الدايودات المُشعَّة للضوء:

  1. قُم بتوصيل أحد المقاومات بـ Digital pin 6 (الطرف الرقمي 6) من لوحة الأردوينو، وغيِّر لون السلك إلى البني.
  2. قُم بتوصيل المقاومة الأخرى بـ Digital pin 7 (الطرف الرقمي 7) من لوحة الأردوينو، وغيِّر لون السلك إلى البني.
  3. قُم بتوصيل مِهبطي الدايودات المُشعة للضوء بالعمود السالب في Breadboard Small (لوحة توصيل الدوائر الصغيرة).

ختامًا ولإتمام التوصيلات، ستحتاج إلى توصيل مستشعر حركة الغرفة الأولى (PIR Room1) ومستشعر حركة الغرفة الثانية (PIR Room2) بلوحة الأردوينو وبالأعمدة السالبة والموجبة في لوحة توصيل الدوائر الصغيرة.

لتوصيل مستشعرات الحركة:

  1. قُم بتوصيل طرف إشارة PIR Sensor (مستشعر الحركة) بـ Digital pin 8 (الطرف الرقمي 8)، وغيِّر لون السلك إلى اللون green (الأخضر).
  2. قُم بتوصيل طرف طاقة PIR Sensor (مستشعر الحركة) بالعمود الموجب من Breadboard Small (لوحة توصيل الدوائر الصغيرة)، وغيِّر لون السلك إلى اللون red (الأحمر).
  3. قُم بتوصيل Ground (الطرف الأرضي) لمستشعر الحركة بالعمود السالب من Breadboard Small (لوحة توصيل الدوائر الصغيرة)، وغيِّر لون السلك إلى black (الأسود).
  4. قُم بتوصيل طرف إشارة PIR Sensor (مستشعر الحركة) بـ Digital pin 9 (الطرف الرقمي 9)، وغيِّر لون السلك إلى اللون orange (البرتقالي).
  5. قُم بتوصيل طرف طاقة PIR Sensor (مستشعر الحركة) بالعمود الموجب من Breadboard Small (لوحة توصيل الدوائر الصغيرة)، وغيِّر لون السلك إلى اللون red (الأحمر).
  6. قُم بتوصيل Ground (الطرف الأرضي) لمستشعر الحركة بالعمود السالب من Breadboard Small (لوحة توصيل الدوائر الصغيرة)، وغيِّر لون السلك إلى black (الأسود).
إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

قم بمراجعة محتوى موضوع “إنشاء نظام منزل ذكي” حتى نهاية هذا القسم من خلال الرابط التالي:

لبنات التعليمات البرمجية (Code Blocks)

الآن وبعد أن انتهيت من أعداد المكوِّنات، ستستكشف بيئة البرمجة التي ستستخدمها في هذه الوحدة.

يوفِّر تينكركاد تقنية البرمجة القائمة على اللبنات البرمجية لتبسيط عملية برمجة وحدة التحكُّم الدقيقة.

تصنيفات اللبنات البرمجية

  • الإخراج (Output)

تسمح لك فئة لبِنات الإخراج (Output) بتحديد المنافذ الرقمية (Digital) والتناظرية (Analog) وإرسال الأوامر إلى مكوِّنات وحدة التحكُّم الدقيقة.

  • الإدخال (Input)

تسمح لك فئة لبِنات الإدخال (Input) بقراءة البيانات من وحدة التحكُّم الدقيقة.

  • التعليقات (Notation)

تسمح لك فئة لبِنات التعليقات (Notation) باستخدام التعليقات على التعليمات البرمجية الخاصة بك.

  • التحكُّم (Control)

تسمح فئة لبِنات التحكُّم (Control) بإضافة أحداث وتحديد التكرارات البرمجية لتكرار الإجراءات واستخدام العبارات الشرطية لاتّخاذ القرارات.

  • العمليات الرياضية (Math)

تسمح لك فئة اللبنات الرياضية (Math) باستخدام الرموز والعمليات الرياضية.

  • المتغيِّرات (Variables)

تسمح لك فئة لبِنات المتغيِّرات (Variables) بإنشاء متغيِّرات.

ملاحظة

تعتبر لبنات التعليمات البرمجية الرسومية في تينكركاد مفيدة في إنشاء برامج الأردوينو، كما تساعد في تجنُّب الأخطاء الشائعة، مثل: أخطاء تراكيب الجُمل، وأخطاء كتابة أسماء الدوال، ونسيان الفاصلة المنقوطة (؛)، وغيرها من الأخطاء.

بعض اللبِنات المهمة المُستخدَمة في هذا المشروع:

إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

التعليمات البرمجية (Let’s Take a Look at the Code)

سيُنفِّذ برنامجك بلا توقُّف forever، وسيتم تنفيذ لبنتي else / if، إحداها للغرفة الأولى (Room1) والأخرى للغرفة الثانية (Room2). سوف تتحقق مستشعرات الحركة من وجود أي حركة داخل الغُرفتين.

إذا اكتشف مستشعر الحركة أي تحرُّك، فسيشتغل الدايود المشع للضوء الخاص به، وعند توقفه عن استشعار الحركة، سيتوقف الدايود المشع للضوء عن الإضاءة.

تُحاكي هذه الدائرة تطبيق المنزل الذكي (Smart Home) الذي يقوم بإنارة الغرفة تلقائيًّا بمجرد دخول أي شخص إلى الغرفة.

ابدأ المحاكاة بالضغط على زر بِدء المحاكاة (Start Simulation) لاختبار برنامجك.

إنشاء نظام منزل ذكي

إنشاء نظام منزل ذكي

قم بمراجعة محتوى موضوع “إنشاء نظام منزل ذكي” بدايةً من عنوان “لبنات التعليمات البرمجية” حتى نهاية الموضوع من خلال الرابط التالي:

إلى هنا يكون قد انتهى موضوع “إنشاء نظام منزل ذكي“، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!

روابط هامة

مقررات الفصل الدراسي الثاني

مشاركة المقال عبر:

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *