📚 تنفيذ التعليمات البرمجية
المفاهيم الأساسية
لبنة الطباعة إلى شاشة الاتصال التسلسلي (print to serial monitor): تساعد على معاينة القيم التي تكتشفها المستشعرات بشكل واضح في بيئتها.
لبنة الانتظار (wait (1): تساعد في تخفيف ازدحام شاشة الاتصال التسلسلي بالمخرجات وذلك بإيقاف التنفيذ مؤقتاً.
لبنة (if then else (): تنفذ الشرط مرة واحدة فقط.
لبنة (forever): تنفذ الشرط بشكل مستمر.
خريطة المفاهيم
```markmap
تطبيقات على المتحكمات الدقيقة
إنشاء نظام ري النباتات
الهدف من المشروع
#### محاكاة نظام ري آلي
##### عند اكتشاف انخفاض رطوبة التربة
##### عند اكتشاف ارتفاع درجة الحرارة
المكونات المطلوبة
#### لوحة أردوينو أونو R3 (Arduino UNO R3)
##### خطوات إضافتها في بيئة المحاكاة
###### 1. سحب وإفلات اللوحة من مكتبة المكونات
###### 2. تدوير اللوحة 90 درجة
#### محرك تيار مستمر (DC motor)
##### خطوات إضافته في بيئة المحاكاة
###### 1. البحث عنه في مكتبة المكونات
###### 2. سحبه وإفلاته في مساحة العمل
##### خطوات توصيله الفعلي باللوحة
###### 1. توصيل الطرف 1 (GND) من المحرك بـ GND في الأردوينو (سلك أسود)
###### 2. توصيل الطرف 2 من المحرك بالطرف التناظري A5 في الأردوينو (سلك أحمر)
#### مستشعر درجة الحرارة (TMP36)
##### خطوات إضافته في بيئة المحاكاة
###### 1. البحث عنه في مكتبة المكونات
###### 2. سحبه وإفلاته في مساحة العمل
##### خطوات توصيله الفعلي باللوحة
###### 1. توصيل طرف الطاقة (Power) بـ 5V في الأردوينو (سلك أحمر)
###### 2. توصيل طرف مخرج الجهد (Vout) بـ A3 في الأردوينو (سلك أصفر)
###### 3. توصيل الطرف الأرضي (GND) بـ GND في الأردوينو (سلك أسود)
#### مستشعر رطوبة التربة
##### خطوات إضافته في بيئة المحاكاة
###### 1. البحث عنه في مكتبة المكونات
###### 2. سحبه وإفلاته في مساحة العمل
##### خطوات توصيله الفعلي باللوحة
###### 1. توصيل طرف الطاقة (Power) بـ 5V في الأردوينو (سلك أحمر)
###### 2. توصيل الطرف الأرضي (GND) بـ GND في الأردوينو (سلك أسود)
###### 3. توصيل طرف الإشارة (Signal) بالطرف A0 في الأردوينو (سلك أخضر)
تنفيذ البرنامج
خطوات البرنامج
#### 1. قراءة المستشعرات وطباعة القيم
##### قراءة درجة الحرارة من الطرف التناظري A3
##### طباعة قيم رطوبة التربة ودرجة الحرارة على شاشة الاتصال التسلسلي
#### 2. التحقق من الشروط
##### الشرط الأول: رطوبة التربة أقل من 150
##### الشرط الثاني: درجة الحرارة تزيد عن 30
#### 3. تنفيذ الإجراء
##### إذا تحقق كلا الشرطين: تشغيل المحرك (ضبط الطرف HIGH)
##### إذا لم يتحقق الشرطان: إيقاف المحرك (ضبط الطرف LOW)
#### 4. إضافة تأخير
##### استخدام لبنة (wait (1) ثانية لتجنب ازدحام شاشة الاتصال التسلسلي
اللبنات المستخدمة
#### لبنة if then else ()
##### تنفذ الشرط مرة واحدة فقط
#### لبنة forever
##### تنفذ الشرط بشكل مستمر
تمارين الدرس الرابع
4. مقارنة أردوينو أونو ونانو
#### البحث عن الاختلافات الرئيسية
#### تحديد أنواع التطبيقات لكل لوحة
5. برمجة الأردوينو باللبنات
#### ميزة البرمجة باللبنات
#### سلبيات متوقعة لهذه الطريقة
6. توسيع نظام المنزل الذكي
#### إضافة غرفة ثالثة للمراقبة
7. تعديل نظام المنزل الذكي
#### إضافة دايودين ضوئيين (أحمر، أخضر)
#### إضافة مستشعر حركة
#### ربط تشغيل الدايود بحالة المستشعر
##### حركة مكتشفة: تشغيل الدايود الأخضر
##### لا حركة: تشغيل الدايود الأحمر
شاشة الاتصال التسلسلي
الوظيفة
#### مراقبة قيم المستشعرات
#### تحديد مشكلات الدوائر
#### حل المشاكل البرمجية
#### طباعة رسائل للمستخدم
#### عرض معلومات وإرشادات
كيفية الوصول إليها
#### أسفل لوحة البرمجة
لبنة الطباعة (print to serial monitor)
#### طباعة رسائل نصية أو قيم رقمية
#### خيارات التنسيق
##### with: بدء سطر جديد
##### without: المتابعة بنفس السطر
#### أمثلة تطبيقية
##### طباعة نص بدون سطر جديد
###### مثال: طباعة "Soil Moisture:" بشكل أفقي متصل
##### طباعة قيمة تناظرية مع سطر جديد
###### مثال: طباعة قيمة الطرف A0 في سطر مستقل
##### دمج اللبنتين للتنظيم
###### مثال: طباعة "Soil Moisture:" ثم القيمة في نفس السطر
لبنة الانتظار (wait)
#### الوظيفة: إضافة تأخير زمني على تنفيذ البرنامج ومخرجاته
#### الوحدات: ثواني (secs) أو مللي ثانية
```
نقاط مهمة
- مستشعر درجة الحرارة يبعث إشارات تناظرية، ويحتاج لبنات خاصة لقراءة الدرجة المئوية أو الفهرنهايتية.
- منطق التحكم في نظام الري: تشغيل المحرك فقط إذا تحقق شرطان معاً (رطوبة التربة < 150 و درجة الحرارة > 30).
- لبنة `if then else ()` تنفذ الشرط مرة واحدة، بينما `forever` تنفذه باستمرار.
- استخدام لبنة `wait` ضروري لإضافة تأخير زمني وتجنب ازدحام شاشة الاتصال التسلسلي بالمخرجات.