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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 تمارين برمجة إنترنت الأشياء

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

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

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

```markmap

تمارين برمجة C++ لإنترنت الأشياء

التمرين 1: دالة تضخيم الإشارة

المطلوب

  • كتابة دالة بلغة C++

خصائص الدالة

  • تستقبل وسيطين
#### النوع: float

  • تستقبل إشارة تناظرية
  • تستقبل مضاعفًا

الوظيفة

  • تضخيم (مضاعفة) الإشارة
  • إرجاع الإشارة بعد التضخيم

التمرين 2: تحويل درجة الحرارة وإرسالها

المطلوب

  • رسم مخطط بلغة C++

خطوات المخطط

  • قراءة إشارة تناظرية
#### تمثل: درجة الحرارة بالفهرنهايت

  • إنشاء دالة تحويل
#### التحويل من فهرنهايت إلى مئوية

  • إرسال القيمة المحولة
#### الإرسال إلى: طرف كمخرج تناظري

التمرين 3: البحث عن خطأ قاعدي ومنطقي

الكود الأول

#### خطأ قاعدي

  • استخدام دالة `delay()` مع قيمة نصية `"1000"`
#### خطأ منطقي

  • استخدام `--counter` في حلقة `for` مما يؤدي إلى عد تنازلي لا نهائي

الكود الثاني

#### خطأ قاعدي

  • استخدام `digitalRead()` لقراءة قيمة تناظرية من `A0`
#### خطأ منطقي

  • مقارنة قيمة درجة الحرارة بـ `270` دون توضيح الوحدة (مئوية؟ فهرنهايت؟)

التمرين 4: تضخيم إشارة تناظرية في حلقة

المطلوب

  • رسم مخطط C++ للأردوينو

خطوات المخطط

  • استخدام دالة التمرين الأول
  • قراءة مدخل إشارة تناظرية
  • إنشاء تكرار `for`
#### الوظيفة داخل `for`

  • استخدام الدالة لتضخيم الإشارة الأصلية 5 مرات
  • إرسال الإشارة المضخمة في كل مرة إلى طرف كمخرج تناظري

التمرين 5: التحكم في دايودين مشعين للضوء (LEDs)

المطلوب

  • التوسع في المثال السابق

خطوات الإضافة

  • إضافة دايود مشع للضوء (LED) آخر بلون مختلف
#### وظيفة الـ LED الجديد

  • يومض كل مرة يتم فيها إيقاف تشغيل الـ LED الأول

التمرين 6: توسيع نظام إنذار باستخدام مستشعر حركة

المطلوب

  • التوسع في مثال الإنذار السابق

خطوات الإضافة

  • إضافة مستشعر حركة آخر
  • إضافة دايود مشع للضوء (LED) بلون مختلف

آلية العمل

  • يوصل كل مستشعر حركة بـ LED خاص به
  • يومض كل LED بناءً على اكتشاف مستشعر الحركة المرتبط به لشيء ما

التمرين 7: التحكم في محرك تيار مستمر بناءً على درجة الحرارة

المطلوب

  • ضبط محرك التيار المستمر في المثال السابق

آلية العمل

  • إرسال إشارة تناظرية إلى المحرك
#### أساس الإرسال: درجة الحرارة التي يكتشفها مستشعر درجة الحرارة

```

نقاط مهمة

* الصفحة تحتوي على تمرينين جديدين (6 و 7) لتوسيع أمثلة عملية سابقة.

* التمرين 6 يركز على ربط مستشعرات حركة متعددة بمؤشرات ضوئية (LEDs) مختلفة.

* التمرين 7 يركز على التحكم التناظري في محرك تيار مستمر باستخدام بيانات مستشعر درجة الحرارة.

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

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

نوع: QUESTION_HOMEWORK

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

نوع: QUESTION_HOMEWORK

قم بضبط محرك التيار المستمر في المثال الخاص باستخدام المحرك لإرسال إشارة تناظرية إلى المحرك بناء على درجة الحرارة التي يكتشفها مستشعر درجة الحرارة.

نوع: METADATA

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

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

توسع في المثال السابق الخاص بالإنذار باستخدام مستشعر الحركة، وقم بإضافة إنذار بواسطة مستشعر حركة آخر ودايود مشع للضوء بلون آخر. سيوصل كل مستشعر حركة بدايود مشع للضوء يومض بناء على اكتشاف مستشعر الحركة لشيء ما. قم بضبط محرك التيار المستمر في المثال الخاص باستخدام المحرك لإرسال إشارة تناظرية إلى المحرك بناء على درجة الحرارة التي يكتشفها مستشعر درجة الحرارة. وزارة التعليم 241 Ministry of Education 2025 - 1447

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

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

سؤال 6: توسع في المثال السابق الخاص بالإنذار باستخدام مستشعر الحركة، وقم بإضافة إنذار بواسطة مستشعر حركة آخر ودايود مشع للضوء بلون آخر. سيوصل كل مستشعر حركة بدايود مشع للضوء يومض بناء على اكتشاف مستشعر الحركة لشيء ما.

الإجابة: س 6: - التوصيل: - مستشعر 1 :(PIR1) OUT إلى D2. - مستشعر 2 :(PIR2) OUT إلى D3. - LED1: الموجب إلى D8. - LED2: الموجب إلى D9. - البرنامج (المنطق): - تعيين D2, D3 مداخل و D8, D9 مخارج. - قراءة المستشعرين باستمرار: - إذا PIR1-HIG ← يومض .LED1 - إذا PIR2-HIG ← يومض .LED2 - إذا كلاهما ← يومضان معاً. - لا توجد حركة ← إطفاء.

خطوات الحل:

  1. **الشرح:** لنفهم هذا السؤال. الفكرة هنا هي تصميم نظام إنذار متطور باستخدام مستشعرين للحركة (PIR) ودايودين مشعين للضوء (LED) بلونين مختلفين. كل مستشعر حركة سيرتبط بدايود خاص به، وعند اكتشاف أي مستشعر للحركة، سيقوم الدايود المرتبط به بالوميض. نبدأ بالتوصيلات الكهربائية: نربط الخرج (OUT) من المستشعر الأول (PIR1) إلى المنفذ الرقمي D2 على لوحة الأردوينو. ونربط الخرج من المستشعر الثاني (PIR2) إلى المنفذ الرقمي D3. ثم نربط الطرف الموجب للدايود الأول (LED1) إلى المنفذ الرقمي D8، والطرف الموجب للدايود الثاني (LED2) إلى المنفذ الرقمي D9. الأطراف السالبة للدايودين توصل إلى الأرضي (GND). أما بالنسبة للبرنامج أو المنطق، فإننا نعيّن المنافذ D2 و D3 كمداخل (Input) لقراءة إشارات المستشعرين، ونعيّن المنافذ D8 و D9 كمخارج (Output) للتحكم في الدايودين. ثم نكتب كوداً يقرأ حالة المستشعرين باستمرار. إذا كانت قراءة المستشعر الأول عالية (HIGH)، فهذا يعني اكتشاف حركة، فيقوم البرنامج بتشغيل وإطفاء الدايود الأول (LED1) ليومض. وإذا كانت قراءة المستشعر الثاني عالية، يقوم بتشغيل وإطفاء الدايود الثاني (LED2) ليومض. إذا اكتشف كلا المستشعرين حركة في نفس الوقت، فسيومض كلا الدايودين معاً. وإذا لم تكن هناك أي حركة، يبقى كلا الدايودين مطفأين. إذن الإجابة هي: **توصيل PIR1 إلى D2، و PIR2 إلى D3، و LED1 إلى D8، و LED2 إلى D9. ثم برمجة المنطق لقراءة المستشعرين من D2 و D3، والتحكم في ومياز LED1 من D8 عند اكتشاف PIR1 للحركة، والتحكم في ومياز LED2 من D9 عند اكتشاف PIR2 للحركة، مع إمكانية التشغيل المتزامن عند اكتشاف الحركة من كليهما.**

سؤال 7: قم بضبط محرك التيار المستمر في المثال الخاص باستخدام المحرك لإرسال إشارة تناظرية إلى المحرك بناء على درجة الحرارة التي يكتشفها مستشعر درجة الحرارة.

الإجابة: س 7: - التوصيل: - مستشعر الحرارة إلى A0. - المحرك عبر ترانزستور إلى PWM .)D5( - البرنامج (المنطق): (1) قراءة A0 وتحويلها لدرجة حرارة. (2) حساب قيمة PWM )0- :255( - أقل من ← C°20 توقف (0). - أعلى من ← C°40 سرعة قصوى .(255) - بينهما ← زيادة السرعة طردياً مع الحرارة. (3) إخراج الإشارة للمحرك.

خطوات الحل:

  1. **الخطوة 1 (المفهوم والهدف):** نتذكر أن المحرك الكهربائي (محرك التيار المستمر) يمكن التحكم في سرعته باستخدام إشارة تناظرية، مثل إشارة PWM (تعديل عرض النبضة). الهدف هنا هو جعل سرعة هذا المحرك تعتمد على درجة الحرارة التي يقيسها مستشعر. فكلما ارتفعت الحرارة، تزداد سرعة المحرك، والعكس صحيح.
  2. **الخطوة 2 (التوصيلات والبرمجة):** لتحقيق هذا، نقوم أولاً بتوصيل مستشعر درجة الحرارة (مثل مستشعر LM35) إلى منفذ تناظري على لوحة الأردوينو، لنفترض أنه المنفذ A0. ثم نقوم بتوصيل المحرك عبر دارة تحكم (مثل استخدام ترانزستور) إلى أحد المنافذ الرقمية التي تدعم إخراج إشارة PWM، مثل المنفذ D5. في البرنامج، نتبع المنطق التالي: 1. نقرأ القيمة التناظرية من المستشعر على A0 ونحولها إلى قيمة درجة حرارة مفهومة (بالدرجة المئوية مثلاً). 2. نحسب قيمة الإخراج PWM (التي تتراوح من 0 إلى 255) بناءً على درجة الحرارة المقاسة. نحدد أن: - إذا كانت درجة الحرارة أقل من 20°م، تتوقف السرعة (قيمة PWM = 0). - إذا كانت درجة الحرارة أعلى من 40°م، تصل السرعة إلى أقصاها (قيمة PWM = 255). - إذا كانت درجة الحرارة بين 20°م و 40°م، تزداد قيمة PWM بشكل طردي (خطي) مع زيادة درجة الحرارة. يمكن حساب ذلك باستخدام دالة خريطة (map). 3. نخرج قيمة PWM المحسوبة إلى المنفذ D5 للتحكم في سرعة المحرك.
  3. **الخطوة 3 (النتيجة):** إذن، الإجابة هي: **توصيل مستشعر الحرارة إلى A0 والمحرك عبر ترانزستور إلى D5 (PWM). ثم برمجة المنطق لقراءة الحرارة من A0، وحساب قيمة PWM بين 0 و255 بناءً عليها (توقف تحت 20°م، سرعة قصوى فوق 40°م، وتزايد خطي بينهما)، وإخراج هذه القيمة إلى D5 لتحريك المحرك.**

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

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

في نظام إنذار باستخدام مستشعرين للحركة (PIR) ودايودين مشعين للضوء (LED)، ما المنطق البرمجي الصحيح للتحكم في الومياز عند اكتشاف الحركة من كلا المستشعرين؟

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

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

الإجابة: قراءة حالة المستشعرين باستمرار، وإذا كان أحدهما نشطاً يومض الـ LED الخاص به، وإذا كان كلاهما نشطين يومضان معاً، وإذا لم تكن هناك حركة يطفآن.

الشرح: 1. تهيئة منافذ المستشعرات (مثل D2, D3) كمداخل ومنافذ الـ LEDs (مثل D8, D9) كمخارج. 2. في حلقة البرنامج الرئيسية، قراءة الحالة الرقمية لكل مستشعر. 3. تطبيق الشرط: إذا كان المستشعر 1 نشطاً (HIGH) → تشغيل/إطفاء LED1 ليومض. إذا كان المستشعر 2 نشطاً → تشغيل/إطفاء LED2 ليومض. إذا كان كلاهما نشطين → تطبيق الشرطين معاً. إذا كان كلاهما غير نشطين → إطفاء كلا الـ LEDs.

تلميح: فكر في كيفية معالجة إشارات متعددة من مداخل مستقلة وتوجيهها إلى مخارج منفصلة.

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

لضبط سرعة محرك تيار مستمر بناءً على درجة الحرارة المقاسة، باستخدام إشارة PWM، ما القاعدة الصحيحة لحساب قيمة PWM (من 0 إلى 255)؟

  • أ) تكون قيمة PWM مساوية لدرجة الحرارة مقسومة على 10، بحد أقصى 255.
  • ب) إذا كانت الحرارة أقل من 20°م تكون القيمة 0 (توقف)، وإذا كانت أعلى من 40°م تكون 255 (سرعة قصوى)، وبينهما تزداد القيمة خطياً مع الحرارة.
  • ج) تكون قيمة PWM عكسية مع درجة الحرارة: كلما زادت الحرارة قلت السرعة للحفاظ على برودة المحرك.
  • د) تكون قيمة PWM ثابتة عند 128 (منتصف المدى) لأي درجة حرارة فوق 25°م، وتتوقف تحتها.

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

الإجابة: إذا كانت الحرارة أقل من 20°م تكون القيمة 0 (توقف)، وإذا كانت أعلى من 40°م تكون 255 (سرعة قصوى)، وبينهما تزداد القيمة خطياً مع الحرارة.

الشرح: 1. قراءة قيمة المستشعر التناظري (مثل A0) وتحويلها إلى درجة حرارة. 2. تطبيق الخوارزمية الشرطية: إذا (الحرارة < 20) → PWM = 0. إذا (الحرارة > 40) → PWM = 255. وإلا (الحرارة بين 20 و 40) → استخدام دالة تعيين خطي (map) لتحويل الحرارة إلى قيمة بين 0 و 255. 3. إخراج قيمة PWM إلى المنفذ المحدد (مثل D5).

تلميح: تذكر أن إشارة PWM تتحكم في متوسط الجهد، وبالتالي السرعة. فكر في علاقة خطية بين مدى حرارة معين ومدى السرعة الكامل.

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

ما الغرض الأساسي من استخدام إشارة PWM (تعديل عرض النبضة) مع محرك التيار المستمر في مشروع يعتمد على مستشعر درجة الحرارة؟

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

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

الإجابة: التحكم التناظري في سرعة المحرك عن طريق تغيير متوسط الجهد المطبق عليه، مما يسمح بسرعات متدرجة وليست ثنائية (تشغيل/إيقاف) فقط.

الشرح: 1. المحركات الكهربائية تعمل بتيار مستمر، وسرعتها تتناسب طردياً مع الجهد المطبق. 2. الإخراج الرقمي العادي يعطي جهداً ثابتاً (HIGH = 5V, LOW = 0V)، مما يعني سرعتين فقط: قصوى أو متوقفة. 3. تقنية PWM تحاكي جهداً متوسطاً عن طريق تشغيل وإطفاء الجهد الكامل بسرعة عالية. نسبة زمن التشغيل (Duty Cycle) تحدد هذا المتوسط (مثلاً 50% تعطي 2.5V). 4. هذا يسمح بتحكم دقيق في السرعة بناءً على قيمة مستمرة مثل درجة الحرارة.

تلميح: فكر في الفرق بين الإشارة الرقمية (HIGH/LOW) والإشارة التناظرية التي يمكن أن تأخذ قيماً متعددة.

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