صفحة 149 - كتاب إنترنت الأشياء - الصف 11 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب إنترنت الأشياء - الصف 11 - الفصل 1 | المادة: إنترنت الأشياء | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

📚 معلومات الصفحة

الكتاب: كتاب إنترنت الأشياء - الصف 11 - الفصل 1 | المادة: إنترنت الأشياء | المرحلة: الصف 11 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

📝 ملخص الصفحة

📚 تمارين تطبيقية - مشروع الحديقة الذكية

المفاهيم الأساسية

لا تحتوي هذه الصفحة على تعريفات جديدة للمفاهيم.

خريطة المفاهيم

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

```markmap

تطوير وبرمجة الأردوينو

مشروع الحديقة الذكية بالأردوينو

المكونات المطلوبة

  • مستشعر الحرارة (Temperature Sensor)

توصيل المكونات

#### توصيل مستشعر درجة الحرارة

  • توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
  • توصيل طرف Vout (الجهد) للمستشعر بالطرف التناظري A2 في الأردوينو (سلك أخضر).
  • توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
  • #### توصيل مستشعر رطوبة التربة

  • توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
  • توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
  • توصيل طرف Signal (الإشارة) للمستشعر بالطرف التناظري A4 في الأردوينو (سلك أخضر).
  • #### الدائرة بصورتها النهائية

    • توصيل الأطراف بالمكونات
    • المكونات المتصلة:
    - مستشعر رطوبة التربة (Soil Moisture Sensor)

    - ترانزستور (TMP)

    - محرك (Motor)

    #### الدائرة المادية (Physical Circuit)

    • صورة الدائرة بمكوناتها المادية
    • المكونات الظاهرة:
    - مستشعر رطوبة التربة (Capacitive Soil Moisture Sensor v1.2)

    - لوحة الأردوينو (Arduino Uno R3)

    - لوحة التوصيل (Breadboard)

    - محرك التيار المستمر (DC Motor)

    برمجة المكونات

    #### الخطوات البرمجية

  • استدعاء المكتبات المطلوبة (pyfirmata, time)
  • تكوين منفذ الاتصال والأطراف (COM4، محرك DC، مستشعر درجة الحرارة، مستشعر الرطوبة)
  • إعداد الاتصال بين PyFirmata ولوحة الأردوينو
  • تنفيذ دالة التحكم في محرك التيار المستمر (water_plant)
  • #### استكشاف الأخطاء وإصلاحها

    ##### التحقق من صحة بيانات المستشعر

    • استخدام حلقة تكرار لا نهائية (`while True`)
    • قراءة القيم غير المعالجة من الأطراف التناظرية
    • إضافة شرط `if` للتحقق من أن القيم ليست `None`
    ##### معالجة وتحويل البيانات

    • تحويل قيمة درجة الحرارة إلى درجات مئوية
    • تحويل مستوى الرطوبة إلى نسبة مئوية
    ##### إدخال شروط الري

    • كتابة شرط التحكم في الري:
    - إذا كانت `(temperature >= 24.0) and (moisture <= 40.0)`

    - استدعاء دالة `water_plant(dc_motor_pin)`

    ##### عرض التقارير

    • طباعة تقرير درجة الحرارة: `"Temperature : " + str(temperature) + " C"`
    • طباعة تقرير الرطوبة: `"Moisture : " + str(round(moisture, 2)) + "%"`
    • إضافة `time.sleep(10)` في نهاية الحلقة

    تمارين التطبيق

    #### 1. كفاءة PWM للتحكم في محرك DC

    • السؤال: مناقشة كفاءة استخدام PWM للتحكم في محرك التيار المستمر.
    #### 2. مقارنة المتحكمات الدقيقة

    • السؤال: مقارنة بين Arduino و micro:bit من حيث عدد أطراف الإدخال/الإخراج لتحديد الأفضل لنظام الحديقة الذكية.
    #### 3. معالجة بيانات المستشعرات

    • السؤال: شرح سبب اختلاف الصيغة الرياضية لمعالجة قيم المدخلات التناظرية باختلاف نوع المستشعر.
    #### 4. فحص جودة بيانات المستشعرات

    • السؤال: ما أهمية إجراء عمليات فحص البيانات المجمعة لمعرفة ما إذا كانت المستشعرات ترسل فارغة أو تالفة؟
    #### 5. مقارنة محركات الري

    • السؤال: هل تعتقد أن استخدام محرك السيرفو (Servo Motor) هو الأفضل لري النباتات بشكل أكثر دقة وكفاءة؟ اعرض أفكارك أدناه.
    #### 6. تطوير برنامج التقارير

    • السؤال: قم بإعادة كتابة برنامج البايثون باستخدام أوامر الطباعة لإنشاء تقرير حول قراءات البيئة المحيطة كل 30 ثانية.
    ```

    نقاط مهمة

    * تحتوي هذه الصفحة على ثلاثة تمارين تطبيقية جديدة لمشروع الحديقة الذكية.

    * التمارين تركز على: فحص جودة البيانات، مقارنة أنواع المحركات، وتطوير برنامج التقارير.

    * هذه التمارين هي استمرار للتمارين السابقة في نفس المشروع.

    📋 المحتوى المنظم

    📖 محتوى تعليمي مفصّل

    4

    نوع: QUESTION_HOMEWORK

    ما أهمية إجراء عمليات فحص البيانات المجمعة لمعرفة ما إذا كانت المستشعرات ترسل فارغة أو تالفة؟

    5

    نوع: QUESTION_HOMEWORK

    هل تعتقد أن استخدام محرك السيرفو (Servo Motor) هو الأفضل لري النباتات بشكل أكثر دقة وكفاءة؟ اعرض أفكارك أدناه.

    6

    نوع: QUESTION_HOMEWORK

    قم بإعادة كتابة برنامج البايثون باستخدام أوامر الطباعة لإنشاء تقرير حول قراءات البيئة المحيطة كل 30 ثانية.

    نوع: METADATA

    وزارة التعليم Ministry of Education 2025 - 1447

    📄 النص الكامل للصفحة

    --- SECTION: 4 --- ما أهمية إجراء عمليات فحص البيانات المجمعة لمعرفة ما إذا كانت المستشعرات ترسل فارغة أو تالفة؟ --- SECTION: 5 --- هل تعتقد أن استخدام محرك السيرفو (Servo Motor) هو الأفضل لري النباتات بشكل أكثر دقة وكفاءة؟ اعرض أفكارك أدناه. --- SECTION: 6 --- قم بإعادة كتابة برنامج البايثون باستخدام أوامر الطباعة لإنشاء تقرير حول قراءات البيئة المحيطة كل 30 ثانية. وزارة التعليم Ministry of Education 2025 - 1447

    ✅ حلول أسئلة الكتاب الرسمية

    عدد الأسئلة: 3

    سؤال 4: ما أهمية إجراء عمليات فحص البيانات المُجمَّعة لمعرفة ما إذا كانت المُستشعرات تُرسل بيانات فارغة أو تالفة؟

    الإجابة: س 4: يضمن فحص البيانات صحة القراءات وموثوقية النظام، ويكتشف القيم التالفة مبكرًا لتجنب القرارات الخاطئة (مثل تشغيل الري بالخطأ) وتنبيه المستخدم لأي خلل.

    خطوات الحل:

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

    سؤال 5: هل تعتقد أنَّ استخدام مُحرك السيرفو (Servo Motor) هو الأفضل لري النباتات بشكل أكثر دقة وكفاءة؟ اعرض أفكارك أدناه.

    الإجابة: س 5: مفيد للدقة (توجيه الرشاش) لكنه ليس دائما الأفضل. - يناسب التحكم بزاوية الصمام. - للتشغيل الطويل: المضخة والصمام الكهربائي أفضل. - للكفاءة: اربطه بحساس رطوبة وتدفق وقسم المناطق.

    خطوات الحل:

    1. **الخطوة 1 (المفهوم):** نتذكر أن محرك السيرفو (Servo Motor) هو محرك كهربائي يمكن التحكم بدقة في موضعه أو زاويته، حيث يتحرك إلى زوايا محددة بدقة عالية بناءً على إشارة كهربائية. **الخطوة 2 (التطبيق):** وبتطبيق هذا على سؤال ري النباتات، نجد أن محرك السيرفو مفيد في الحالات التي تحتاج إلى تحكم دقيق في اتجاه أو زاوية شيء ما، مثل توجيه رشاش ماء إلى منطقة محددة في الحديقة. هذا يمكن أن يحسن الدقة في توزيع الماء. **الخطوة 3 (النتيجة):** لذلك، بينما محرك السيرفو مفيد للدقة في توجيه الرشاش أو فتحة الصمام، فهو ليس دائماً الخيار الأفضل لكفاءة التشغيل الطويل أو الشامل. للتشغيل المستمر لفترات طويلة (مثل تشغيل مضخة ماء)، تكون المضخة أو الصمام الكهربائي العادي أكثر ملاءمة من حيث المتانة والكفاءة. ولتحقيق أقصى كفاءة في نظام الري، يُفضل ربط محرك السيرفو (إذا استخدم) مع حساسات مثل حساس الرطوبة وحساس تدفق الماء، وتقسيم منطقة الري إلى مناطق يتم ريها حسب الحاجة الفعلية. إذن الإجابة هي: **مفيد للدقة (توجيه الرشاش) لكنه ليس دائماً الأفضل. - يناسب التحكم بزاوية الصمام. - للتشغيل الطويل: المضخة والصمام الكهربائي أفضل. - للكفاءة: اربطه بحساس رطوبة وتدفق وقسم المناطق.**

    سؤال 6: قم بإعادة كتابة برنامج البايثون باستخدام أوامر الطباعة لإنشاء تقرير حول قراءات البيئة المحيطة كل 30 ثانية.

    الإجابة: س 6: يُكتب البرنامج في حلقة تكرارية: 1) قراءة المستشعرات 2) طباعة تقرير (الوقت والقيم) 3) الانتظار 30 ثانية ثم تكرار العملية.

    خطوات الحل:

    1. **الخطوة 1 (المعطيات):** لنحدد ما لدينا: - المهمة: كتابة برنامج بلغة بايثون. - الوظيفة: إنشاء تقرير عن قراءات البيئة المحيطة (مثل درجة الحرارة، الرطوبة، إلخ). - التكرار: يجب أن يحدث كل 30 ثانية. - الأداة: استخدام أوامر الطباعة (print) لعرض التقرير.
    2. **الخطوة 2 (المنطق):** نحتاج إلى تصميم برنامج يعمل في حلقة تكرارية لا نهائية أو لفترة محددة. في كل دورة من الحلقة، يقوم البرنامج بما يلي: 1. قراءة البيانات من المستشعرات (هذه الخطوة تتطلب عادةً مكتبات أو دوال خاصة بالمستشعرات، لكن في البرنامج سنفترض وجود دالة تقرأ القيم). 2. استخدام أمر الطباعة (print) لعرض تقرير يضم الوقت الحالي والقيم المقروءة من المستشعرات. 3. الانتظار لمدة 30 ثانية قبل تكرار العملية.
    3. **الخطوة 3 (الحل):** بكتابة هذا المنطق في كود بايثون، سيكون الشكل العام للبرنامج كالتالي: python import time # افترض أن لدينا دالة تقرأ المستشعرات وتُرجع قيماً # def read_sensors(): # temperature = ... # قراءة درجة الحرارة # humidity = ... # قراءة الرطوبة # return temperature, humidity while True: # 1) قراءة المستشعرات # temperature, humidity = read_sensors() # هنا سنستخدم قيم افتراضية للتوضيح temperature = 25.5 humidity = 60.0 # 2) طباعة التقرير current_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) print(f"التقرير البيئي - الوقت: {current_time}") print(f" درجة الحرارة: {temperature}°C") print(f" الرطوبة: {humidity}%") print("-" * 30) # خط فاصل للوضوح # 3) الانتظار 30 ثانية time.sleep(30) **الخطوة 4 (النتيجة):** إذن، البرنامج يعمل في حلقة تكرارية حيث: 1) يقرأ المستشعرات (هنا استخدمنا قيماً افتراضية للتوضيح). 2) يطبع تقريراً يظهر الوقت والقيم المقروءة. 3) ينتظر 30 ثانية ثم يعيد الكرة. لذلك الإجابة هي: **يُكتب البرنامج في حلقة تكرارية: 1) قراءة المستشعرات 2) طباعة تقرير (الوقت والقيم) 3) الانتظار 30 ثانية ثم تكرار العملية.**

    🎴 بطاقات تعليمية للمراجعة

    عدد البطاقات: 3 بطاقة لهذه الصفحة

    ما الهدف الأساسي من فحص البيانات المجمعة من المستشعرات في نظام إنترنت الأشياء؟

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

    الإجابة الصحيحة: b

    الإجابة: ضمان صحة القراءات وموثوقية النظام، واكتشاف القيم التالفة مبكراً لتجنب القرارات الخاطئة وتنبيه المستخدم لأي خلل.

    الشرح: 1. البيانات الفارغة أو التالفة لا تمثل الواقع الحقيقي الذي يقيسه المستشعر. 2. اتخاذ قرارات بناءً على بيانات خاطئة (مثل تشغيل الري) يؤدي إلى هدر الموارد. 3. الفحص المبكر ينبه إلى وجود خلل في المستشعر أو الاتصال، مما يسمح بالإصلاح السريع. 4. النتيجة: ضمان صحة القراءات وموثوقية النظام.

    تلميح: فكر في عواقب اتخاذ قرار بناءً على بيانات غير صحيحة.

    التصنيف: مفهوم جوهري | المستوى: متوسط

    أي من العبارات التالية تصف بشكل دقيق دور محرك السيرفو (Servo Motor) في نظام ري ذكي؟

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

    الإجابة الصحيحة: c

    الإجابة: محرك السيرفو مفيد للتحكم الدقيق في زاوية أو اتجاه مكون مثل رشاش الماء، مما يحسن دقة التوزيع.

    الشرح: 1. محرك السيرفو يتحكم بدقة في موضعه أو زاويته بناءً على إشارة كهربائية. 2. في أنظمة الري، يمكن استخدامه لتوجيه رشاش الماء إلى منطقة محددة. 3. هذه الدقة تحسن من توزيع الماء وتقليل الهدر. 4. النتيجة: محرك السيرفو مفيد للتحكم الدقيق في الزاوية لتحسين دقة الري.

    تلميح: تذكر خاصية التحكم الدقيق في الموضع أو الزاوية التي يتميز بها محرك السيرفو.

    التصنيف: مفهوم جوهري | المستوى: متوسط

    ما الهيكل المنطقي الأساسي لبرنامج بايثون يهدف إلى طباعة تقرير عن قراءات المستشعرات كل 30 ثانية؟

    • أ) دالة رئيسية واحدة تستدعى مرة عند بدء التشغيل فقط، وتطبع جميع القراءات المسجلة مسبقاً.
    • ب) شرطية (if) تتحقق من مرور 30 ثانية منذ آخر طباعة، ثم تطبع التقرير مرة واحدة فقط.
    • ج) حلقة تكرارية تحتوي على: 1) قراءة المستشعرات، 2) طباعة التقرير (الوقت والقيم)، 3) الانتظار 30 ثانية، ثم تكرار العملية.
    • د) عدة دوال منفصلة: واحدة للقراءة، وأخرى للطباعة، وثالثة للانتظار، يتم تنفيذها بشكل عشوائي.

    الإجابة الصحيحة: c

    الإجابة: حلقة تكرارية تحتوي على: 1) قراءة المستشعرات، 2) طباعة التقرير (الوقت والقيم)، 3) الانتظار 30 ثانية، ثم تكرار العملية.

    الشرح: 1. المهمة تتطلب تكراراً مستمراً (كل 30 ثانية). 2. الهيكل المناسب هو حلقة تكرارية لا نهائية (while True). 3. داخل الحلقة: أولاً، تقرأ البيانات من المستشعرات. 4. ثانياً، تطبع التقرير باستخدام أمر print لعرض الوقت والقيم. 5. ثالثاً، توقف التنفيذ لمدة 30 ثانية باستخدام دالة مثل time.sleep(). 6. النتيجة: حلقة تكرارية تقرأ وتطبع وتنتظر.

    تلميح: فكر في كيفية تنفيذ مهمة متكررة بفاصل زمني ثابت في البرمجة.

    التصنيف: صيغة/خطوات | المستوى: صعب