📚 قيم مدخلات النظام وحالات المخرجات
المفاهيم الأساسية
الجدول 3.2: يوضح العلاقة بين قيم مدخلات مستشعرات النظام (رطوبة التربة ودرجة الحرارة) وحالة المخرجات (سرعة المحرك).
خريطة المفاهيم
```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
##### تنفذ الشرط بشكل مستمر
قيم المدخلات وحالات المخرجات
الجدول 3.2
#### شروط تشغيل المحرك
##### مستوى رطوبة التربة (A0) ≤ 30
##### درجة الحرارة (A3) < 150
#### شروط إيقاف المحرك
##### مستوى رطوبة التربة (A0) > 30
##### درجة الحرارة (A3) ≥ 150
##### مستوى رطوبة التربة (A0) ≤ 30
##### درجة الحرارة (A3) ≥ 150
معاينة البرنامج
#### تجربة الحالات المختلفة
##### تمرير قيم المستشعرات
##### تحديد قيمة المخرج (سرعة المحرك)
#### أمثلة من شكل 3.28
##### حالة 1: رطوبة 600، حرارة 25°C → سرعة المحرك 0 دورة/دقيقة
##### حالة 2: رطوبة 300، حرارة 38°C → سرعة المحرك 0 دورة/دقيقة
##### حالة 3: رطوبة 0، حرارة 38°C → سرعة المحرك 5555 دورة/دقيقة
تمارين الدرس الرابع
4. مقارنة أردوينو أونو ونانو
#### البحث عن الاختلافات الرئيسية
#### تحديد أنواع التطبيقات لكل لوحة
5. برمجة الأردوينو باللبنات
#### ميزة البرمجة باللبنات
#### سلبيات متوقعة لهذه الطريقة
6. توسيع نظام المنزل الذكي
#### إضافة غرفة ثالثة للمراقبة
7. تعديل نظام المنزل الذكي
#### إضافة دايودين ضوئيين (أحمر، أخضر)
#### إضافة مستشعر حركة
#### ربط تشغيل الدايود بحالة المستشعر
##### حركة مكتشفة: تشغيل الدايود الأخضر
##### لا حركة: تشغيل الدايود الأحمر
شاشة الاتصال التسلسلي
الوظيفة
#### مراقبة قيم المستشعرات
#### تحديد مشكلات الدوائر
#### حل المشاكل البرمجية
#### طباعة رسائل للمستخدم
#### عرض معلومات وإرشادات
كيفية الوصول إليها
#### أسفل لوحة البرمجة
لبنة الطباعة (print to serial monitor)
#### طباعة رسائل نصية أو قيم رقمية
#### خيارات التنسيق
##### with: بدء سطر جديد
##### without: المتابعة بنفس السطر
#### أمثلة تطبيقية
##### طباعة نص بدون سطر جديد
###### مثال: طباعة "Soil Moisture:" بشكل أفقي متصل
##### طباعة قيمة تناظرية مع سطر جديد
###### مثال: طباعة قيمة الطرف A0 في سطر مستقل
##### دمج اللبنتين للتنظيم
###### مثال: طباعة "Soil Moisture:" ثم القيمة في نفس السطر
لبنة الانتظار (wait)
#### الوظيفة: إضافة تأخير زمني على تنفيذ البرنامج ومخرجاته
#### الوحدات: ثواني (secs) أو مللي ثانية
```
نقاط مهمة
- يعمل المحرك (بسرعة عالية) فقط عندما تكون رطوبة التربة منخفضة (≤ 30) ودرجة الحرارة مرتفعة (≥ 150).
- في جميع الحالات الأخرى (رطوبة عالية، أو حرارة منخفضة، أو كليهما) يكون المحرك متوقفاً (0 دورة/دقيقة).
- بعد كتابة البرنامج، يجب تجربة الحالات المختلفة عن طريق تمرير قيم للمستشعرات لمعاينة النتيجة.
- يوضح شكل 3.28 أمثلة عملية لسرعة المحرك عند قيم مختلفة للرطوبة ودرجة الحرارة.