الدرس الأول إنشاء نظام منزل ذكي (٢)
انظر إلى الشكل: نحن الآن بصدد توصيل مقاومات الدايودات المشعة للضوء بلوحة الأردوينو. اتبع الخطوات الثلاث المرقمة بدقة. في الخطوة الأولى، صل أحد طرفي المقاومة بالطرف الرقمي 6 من لوحة الأردوينو، وغير لون السلك إلى اللون البني كما هو محدد. وفي الخطوة الثانية، صل المقاومة الأخرى بالطرف الرقمي 7 من لوحة الأردوينو، وغير لون السلك إلى البني أيضاً. أما في الخطوة الثالثة، فصل مهبطي الدايودات المشعة للضوء بالعمود السالب في لوحة توصيل الدوائر الصغيرة. انتبه للأسلاك البنية التي تربط الدايودات بالمنافذ الرقمية 6 و7 لتكتمل الدائرة بشكل صحيح.
يقوم الدرس على إنشاء نظام منزل ذكي باستخدام لوحة الأردوينو ومستشعرات الحركة والدايودات المشعة للضوء لتنفيذ نظام محاكاة آلي. الفكرة الأساسية تعتمد على ربط المكونات البرمجية عبر منصة تينكركاد لتطبيق شروط منطقية. أهم ما في الدرس هو استخدام لبنة التكرار المستمرforever، والتحقق من الشروط عبر لبنة if ثم else، وتوصيل أطراف الإدخال الرقمية بالأطراف 8 و9، وتوصيل أطراف الإخراج بالأطراف 6 و7. مثال سريع: عندما يكتشف مستشعر الحركة في الغرفة الأولى وجود حركة عبر قراءة الطرف الرقمي 8 كقيمة مرتفعةHIGH، ينفذ البرنامج أمراً بتشغيل الدايود المشع للضوء في تلك الغرفة برفع قيمة الطرف الرقمي 6 إلى HIGH، وإذا انعدمت الحركة تتحول القيمة إلى منخفضةLOW فيتوقف الضوء.
الفكرة الأساسية
تعتمد الفكرة الأساسية على محاكاة نظام منزل ذكي عبر ربط الأجهزة المادية ببرنامج حاسوبي. تقوم اللوحة بقراءة الإشارات الواردة من مستشعرات الحركة وتطبيق شروط برمجية لتشغيل أو إيقاف الدايودات المشعة للضوء تلقائياً لكل غرفة على حدة.
الشرح
نبدأ بتوصيل المكونات على لوحة توصيل الدوائر الصغيرة Breadboard Small. نوصل مقاومة الدايود المشع للضوء الخاص بالغرفة الأولى بالطرف الرقمي 6، ومقاومة الغرفة الثانية بالطرف الرقمي 7. ثم نوصل مستشعر الحركة الأول بالطرف الرقمي 8، ومستشعر الحركة الثاني بالطرف الرقمي 9، مع توصيل الأقطاب الموجبة والسالبة بأعمدة الطاقة والأرضي GND.
في الجانب البرمجي، نستعين بلبنة التكرار المستمرforever لضمان عمل البرنامج بلا توقف. داخل هذه اللبنة، نضع لبنة الشرط if ثم else. تفحص لبنة الإدخالread digital pin الحالة المنطقية للطرف المتصل بمستشعر الحركة. إذا كانت الحالة تساوي مرتفعةHIGH، فهذا يعني وجود حركة، وهنا ينفذ النظام أمراً عبر لبنة الإخراجset pin لجعل طرف الإضاءة يرتفع إلى مستوىHIGH ليعمل الضوء. وإذا لم تكن هناك حركة، تصبح الحالة منخفضةLOW فينطفئ الضوء تلقائياً.
مثال محلول خطوة بخطوة
لنفترض أنك تريد برمجة الغرفة الأولى للعمل بالشروط التالية: إذا تحرك شخص أمام مستشعر الحركة الموصل بالطرف 8، تضيء لمبة الغرفة الموصلة بالطرف 6. الخطوات هي:
- اسحب لبنة forever من فئة التحكم Control وضعه في مساحة العمل البرمجية.
- ضع بداخله لبنة if ثم else.
- ضع في خانة الشرط لبنة read digital pin للطرف 8 واجعلها مساوية للقيمة HIGH.
- ضع تحت خيار then لبنة set pin للطرف 6 واجعل قيمتها HIGH.
- ضع تحت خيار else لبنة set pin للطرف 6 واجعل قيمتها LOW. بهذا، لو مر شخص أمام المستشعر وسجل الطرف 8 قيمة صواب True أو 1، يتحول الطرف 6 إلى 5 فولت ويضيء المصباح.
أخطاء شائعة
- الخلط بين أطراف الإدخال وأطراف الإخراج عند سحب لبناتset pin وread digital pin.
- نسيان توصيل السلك الأرضي GND الخاص بمستشعر الحركة بالعمود السالب في لوحة التوصيل.
- وضع أوامر الإضاءة خارج لبنة التكرار المستمرforever مما يجعل البرنامج ينفذ مرة واحدة ويتوقف.
سؤالان للتدريب مع الإجابة
السؤال الأول: ما حالة الطرف الرقمي عندما لا يمر أي جهد كهربائي خلاله في نظام المحاكاة؟ الإجابة: تكون الحالة منخفضةLOW، وتفسر رقمياً بالقيمة 0 أو خطأ False.
السؤال الثاني: ما فائدة استخدام لبنة التكرار المستمرforever في مشروع المنزل الذكي؟ الإجابة: تجعل البرنامج يتحقق من حالة مستشعرات الحركة باستمرار وبدون توقف طوال فترة عمل محاكاة النظام.