صفحة 186 - كتاب الهندسة - الصف 11 - الفصل 1 - المملكة العربية السعودية

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

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

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

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

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

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

📝 ملخص الصفحة

📚 تمارين برمجة Micro:bit

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

مصفوفة الدايودات المشعة للضوء (LED Matrix): شاشة صغيرة على لوحة Micro:bit لعرض الرموز والأشكال.

دالة `led.plot_bar_graph()`: دالة تستخدم لعرض قراءة مستشعر (مثل درجة الحرارة) على شكل رسم بياني عمودي على مصفوفة الـ LED.

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

```markmap

الوحدة 5: محاكاة نظام التحكم الدقيق

استخدام Micro:bit في TinkerCAD Circuits

بيئة المحاكاة

هيكل المشروع

#### القسم الأول (الدائرة)

#### القسم الثاني (البرمجة)

مكونات لوحة Micro:bit في المحاكي

البرمجة بلغة بايثون في المحرر النصي

#### أوامر أساسية

##### basic.pause(1000)

##### def on_forever():

##### basic.show_leds(""". . # . . ...""")

مشروع: عرض الأرقام على LED Matrix

#### الهدف

#### خطوات الإعداد

##### إضافة المايكروبيت

فتح محرر الأوامر البرمجية النصي

#### خطوات التحويل من المحرر المرئي إلى النصي

#### ملاحظة مهمة

#### كتابة الأوامر البرمجية

##### خطوات التنفيذ

##### مثال على الكود

مستشعرات المايكروبيت

#### مؤشرات درجة الحرارة

##### الدالة: led.plot_bar_graph(input.temperature(), 50)

  • أقصى قيمة للمستشعر: 50 درجة مئوية.
##### مثال تطبيقي

  • الكود:
def on_forever ():

led_plot_bar_graph (input.temperature (), 50)

basic.forever (on_forever)

  • مخرجات المحاكاة:
- عند 50°C: قيمة الرسم البياني = 128

- عند 40°C: قيمة الرسم البياني = 128

- عند 21°C: قيمة الرسم البياني = 128

#### مؤشرات حساسية الإضاءة

##### الدالة: led.plot_bar_graph(input.light_level(), 255)

  • أقصى قيمة للمستشعر: 255 (في محاكي تينكركاد).
  • المعامل الثاني في `plot_bar_graph()` يمثل القيمة القصوى للمخطط.
##### مثال تطبيقي

  • الكود:
def on_forever():

led.plot_bar_graph(input.light_level(), 255)

basic.forever(on_forever)

  • مخرجات المحاكاة:
- عند مستوى الضوء 255: تضيء مصفوفة LED بالكامل (أقصى إضاءة).

- عند مستوى الضوء 128: تضيء مصفوفة LED جزئياً (حوالي النصف، إضاءة متوسطة).

- عند مستوى الضوء 34: تضيء مصفوفة LED بشكل طفيف (الصف السفلي فقط، إضاءة منخفضة جداً).

#### أوضاع الحركة

#### ضبط الخصائص

##### شكل 5.14: ضبط خصائص مستشعرات المايكروبيت

  • واجهة محاكاة تعرض منزلقات للتحكم.
  • مستشعر درجة الحرارة (مؤشر أحمر، قراءة مثل 21°C).
  • مستشعر حساسية الإضاءة (مؤشر أزرق، قراءة مثل 128).

تمارين

أسئلة

#### 1. كيف يمكنك استخدام جهاز التحكم الدقيق؟

#### 2. ما مزايا استخدام أجهزة التحكم الدقيقة؟

#### 3. صل العناصر مع مسمياتها

##### مكونات إلكترونية

  • مُستشعر الحركة (PIR)
  • محرك مُوّازر
  • طنان كهربائي
  • مقاومة متغيرة
  • محرك تيار مستمر

تمارين تطبيقية (صفحة 186)

#### 4. برنامج عرض الأحرف A, S, K

  • المطلوب: عرض الأحرف بالتناوب لمدة ثانية.
  • التعديل: جعل كل حرف يومض مرتين بسرعة قبل الحرف التالي.
  • إضافة: إيقاف مؤقت مع مصفوفة إضاءة فارغة في نهاية الحلقة.
#### 5. استخدام القيمة 50 مع `led.plot_bar_graph`

  • السؤال: لماذا تستخدم القيمة 50 كقيمة قصوى لدرجة الحرارة؟
  • الاستكشاف: ماذا يحدث إذا استخدمت قيمة أخرى؟ (شغل المحاكي ولاحظ).
#### 6. برنامج عرض سهم حسب درجة الحرارة

  • المطلوب: عرض سهم للأعلى إذا كانت درجة الحرارة > 21°C، وسهم للأسفل إذا كانت < 21°C.
  • التأكد: من معالجة حالة تساوي درجة الحرارة مع 21°C.
  • التعديل: جعل البرنامج يعمل بشكل صحيح في جميع الظروف.
```

نقاط مهمة

  • تمارين الصفحة 186 تركز على البرمجة التطبيقية لـ Micro:bit باستخدام المحاكي.
  • التمرين 4 يتعلق بالتحكم في توقيت العرض ونمط الوميض على مصفوفة الـ LED.
  • التمرين 5 يستكشف وظيفة المعامل الثاني في دالة `plot_bar_graph()` وتأثير تغيير القيمة القصوى.
  • التمرين 6 يتطلب كتابة برنامج اتخاذ قرار بناءً على قراءة المستشعر، مع الاهتمام بحالة المساواة في الشرط.

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

--- SECTION: 4 --- أنشئ برنامجا يعرض كلا من الأحرف الإنجليزية "A" ، و "S"، و"K" على مصفوفة الدايودات المشعة للضوء وذلك لثانية واحدة بالتناوب ودون توقف. غير البرنامج لجعل كل حرف يومض مرتين بسرعة قبل عرض الحرف الآتي، ثم أضف إيقافا مؤقتًا مع مصفوفة إضاءة فارغة في نهاية حلقة التكرار. --- SECTION: 5 --- لماذا تستخدم القيمة 50 كقيمة قصوى لدرجة الحرارة عند استخدام دالة sled.plot_bar_graph؟ ماذا سيحدث إذا استخدمت قيمة أخرى ؟ شغل المحاكي ووضح ما تلاحظه. --- SECTION: 6 --- أنشئ برنامجًا في المايكروبت يعرض سهما نحو الأعلى إذا تجاوزت درجة الحرارة 21 درجة مئوية، ويعرض سهما نحو الأسفل إذا كانت درجة الحرارة أقل من 21 درجة . ما الذي يجب التأكد منه؟ عدل البرنامج ليعمل بشكل صحيح في جميع ظروف درجات الحرارة. وزارة التعليم Ministry of Education 2025-1447 186

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

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

سؤال 4: أنشئ برنامجا يعرض كلا من الأحرف الإنجليزية "A" ، و "S"، و"K" على مصفوفة الدايودات المشعة للضوء وذلك لثانية واحدة بالتناوب ودون توقف. غير البرنامج لجعل كل حرف يومض مرتين بسرعة قبل عرض الحرف الآتي، ثم أضف إيقافا مؤقتًا مع مصفوفة إضاءة فارغة في نهاية حلقة التكرار.

الإجابة: س 4: داخل حلقة: اعرض A, S, K لثانية. التعديل: وميض مرتين لكل حرف، ثم إيقاف ومصفوفة فارغة في النهاية.

خطوات الحل:

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

سؤال 5: لماذا تُستخدم القيمة 50 كقيمة قصوى لدرجة الحرارة عند استخدام دالة led.plot_bar_graph؟

الإجابة: س 5: تُستخدم 50 كحد أعلى متوقع للحرارة؛ لتظهر الأعمدة بنسبة صحيحة (مثلاً 25 تظهر كنصف المخطط).

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** دالة `led.plot_bar_graph` في micro:bit تستخدم لعرض قيمة (مثل درجة الحرارة) على شكل أعمدة على مصفوفة LED. تحتاج الدالة إلى معرفة القيمة الحالية والقيمة القصوى المتوقعة.
  2. **الخطوة 2 (التطبيق):** القيمة القصوى (مثل 50) تُحدد نطاق العرض. إذا كانت درجة الحرارة الحالية 25، فستظهر الأعمدة مملوءة بنسبة 25/50 = 50% (نصف المخطط). لذلك تُستخدم 50 كحد أعلى معقول لدرجات الحرارة في بيئة عادية، مما يجعل العرض واضحاً ونسبياً.
  3. **الخطوة 3 (النتيجة):** إذن السبب: **لتحديد نطاق مرجعي يجعل نسبة امتلاء الأعمدة على المخطط واضحة ومعبرة عن القيمة الحالية مقارنة بالحد الأقصى المتوقع.**

سؤال 5: ماذا سيحدث إذا استخدمت قيمة أخرى ؟

الإجابة: س: ماذا سيحدث إذا استخدمت قيمة أخرى؟ قيمة أصغر: يمتلئ المخطط بسرعة. قيمة أكبر: يظهر المخطط شبه فارغ.

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** دالة `led.plot_bar_graph` في micro:bit تستخدم لعرض قيمة (مثل درجة الحرارة) على شكل أعمدة على مصفوفة LED. تحتاج الدالة إلى معرفة القيمة الحالية والقيمة القصوى المتوقعة.
  2. **الخطوة 2 (التطبيق):** القيمة القصوى (مثل 50) تُحدد نطاق العرض. إذا كانت درجة الحرارة الحالية 25، فستظهر الأعمدة مملوءة بنسبة 25/50 = 50% (نصف المخطط). لذلك تُستخدم 50 كحد أعلى معقول لدرجات الحرارة في بيئة عادية، مما يجعل العرض واضحاً ونسبياً.
  3. **الخطوة 3 (النتيجة):** إذن السبب: **لتحديد نطاق مرجعي يجعل نسبة امتلاء الأعمدة على المخطط واضحة ومعبرة عن القيمة الحالية مقارنة بالحد الأقصى المتوقع.**

سؤال 5: شغل المحاكي ووضح ما تلاحظه.

الإجابة: س: شغل المحاكي ووضح ما تلاحظه يزداد ارتفاع الأعمدة مع الحرارة. تغيير الحد الأقصى يغير نسبة الامتلاء.

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** دالة `led.plot_bar_graph` في micro:bit تستخدم لعرض قيمة (مثل درجة الحرارة) على شكل أعمدة على مصفوفة LED. تحتاج الدالة إلى معرفة القيمة الحالية والقيمة القصوى المتوقعة.
  2. **الخطوة 2 (التطبيق):** القيمة القصوى (مثل 50) تُحدد نطاق العرض. إذا كانت درجة الحرارة الحالية 25، فستظهر الأعمدة مملوءة بنسبة 25/50 = 50% (نصف المخطط). لذلك تُستخدم 50 كحد أعلى معقول لدرجات الحرارة في بيئة عادية، مما يجعل العرض واضحاً ونسبياً.
  3. **الخطوة 3 (النتيجة):** إذن السبب: **لتحديد نطاق مرجعي يجعل نسبة امتلاء الأعمدة على المخطط واضحة ومعبرة عن القيمة الحالية مقارنة بالحد الأقصى المتوقع.**

سؤال 6: أنشئ برنامجًا في المايكروبت يعرض سهما نحو الأعلى إذا تجاوزت درجة الحرارة 21 درجة مئوية، ويعرض سهما نحو الأسفل إذا كانت درجة الحرارة أقل من 21 درجة . ما الذي يجب التأكد منه؟ عدل البرنامج ليعمل بشكل صحيح في جميع ظروف درجات الحرارة.

الإجابة: س 6: يجب تغطية حالة (الحرارة = 21). التعديل: استخدم if/elif/else لتشمل: 21 < (سهم لأعلى)، 21 > (سهم لأسفل)، 21 = (رمز محايد).

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** البرنامج المطلوب يعتمد على قراءة درجة الحرارة واتخاذ قرار عرض سهم (أعلى أو أسفل) على مصفوفة LED. القرار مبني على مقارنة درجة الحرارة بالقيمة 21.
  2. **الخطوة 2 (التطبيق):** يجب التأكد من تغطية جميع الحالات الممكنة لدرجة الحرارة: 1. إذا كانت الحرارة **أكبر من** 21 → عرض سهم لأعلى. 2. إذا كانت الحرارة **أقل من** 21 → عرض سهم لأسفل. 3. إذا كانت الحرارة **تساوي** 21 بالضبط → هذه حالة خاصة يجب التعامل معها (مثلاً عرض رمز محايد أو عدم عرض سهم). بدون تغطية حالة التساوي (=21)، قد لا يعمل البرنامج بشكل صحيح عند هذه القيمة بالذات.
  3. **الخطوة 3 (النتيجة):** إذن التعديل الصحيح: **استخدام هيكل تحكم مثل `if/elif/else` لمعالجة الحالات الثلاث: >21 و <21 و ==21، لضمان عمل البرنامج بشكل صحيح في جميع ظروف درجات الحرارة.**

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

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

ما الغرض من استخدام قيمة قصوى (مثل 50) مع دالة `led.plot_bar_graph` في برمجة micro:bit لعرض درجة الحرارة؟

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

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

الإجابة: لتحديد نطاق مرجعي يجعل نسبة امتلاء الأعمدة على المخطط واضحة ومعبرة عن القيمة الحالية مقارنة بالحد الأقصى المتوقع.

الشرح: 1. الدالة `led.plot_bar_graph` تعرض قيمة على شكل أعمدة. 2. تحتاج إلى معرفة القيمة الحالية والقيمة القصوى. 3. القيمة القصوى تحدد نطاق العرض المرجعي. 4. مثال: درجة الحرارة 25 مع حد أقصى 50 تعني امتلاء 50% من الأعمدة. 5. النتيجة: النطاق المرجعي يجعل العرض النسبي واضحاً.

تلميح: فكر في كيفية تحويل القيمة المقاسة (مثل 25 درجة) إلى تمثيل مرئي على شاشة صغيرة.

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

عند استخدام دالة `led.plot_bar_graph`، ماذا سيحدث إذا استخدمت قيمة قصوى أصغر من القيمة الحالية لدرجة الحرارة؟

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

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

الإجابة: ستمتلئ جميع الأعمدة بالكامل حتى لو كانت القيمة الحالية أعلى من الحد الأقصى المحدد.

الشرح: 1. الدالة تقارن القيمة الحالية بالقيمة القصوى. 2. إذا كانت القيمة الحالية أكبر من القيمة القصوى، فإن النسبة المحسوبة ستتجاوز 100%. 3. الدالة ستظهر الأعمدة ممتلئة بالكامل (100%). 4. النتيجة: فقدان الدقة في تمثيل القيم الأعلى من الحد المحدد.

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

التصنيف: تفكير ناقد | المستوى: متوسط

عند برمجة micro:bit لعرض سهم (أعلى/أسفل) بناءً على مقارنة درجة الحرارة بالقيمة 21، ما الحالة التي يجب التأكد من تغطيتها لضمان عمل البرنامج في جميع الظروف؟

  • أ) حالة كون درجة الحرارة سالبة.
  • ب) حالة تساوي درجة الحرارة 21 درجة مئوية بالضبط.
  • ج) حالة كون درجة الحرارة أعلى من 50 درجة.
  • د) حالة عدم توفر مستشعر الحرارة.

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

الإجابة: حالة تساوي درجة الحرارة 21 درجة مئوية بالضبط.

الشرح: 1. البرنامج يقارن درجة الحرارة بـ 21. 2. الحالات الممكنة: أكبر من، أقل من، تساوي. 3. استخدام `if` (لأكبر من) و `else` (للباقي) سيعالج حالة 'أقل من' و'يساوي' بنفس الطريقة، وهو خطأ. 4. يجب استخدام `if/elif/else` لتغطية الحالات الثلاث بشكل منفصل. 5. النتيجة: حالة التساوي حالة خاصة تحتاج معالجة محددة.

تلميح: عادة ما نستخدم `if` للشرط الأول و `else` للباقي. هل هذا يكفي هنا؟

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

ما الهيكل البرمجي الأمثل لبرنامج micro:bit يعرض سهمًا لأعلى إذا كانت الحرارة >21، وسهمًا لأسفل إذا كانت <21، ولا يعرض شيئًا (أو رمزًا محايدًا) إذا كانت =21؟

  • أ) حلقة `while True` فقط.
  • ب) استخدام هيكل التحكم `if/elif/else`.
  • ج) استخدام أمر `display.scroll` لعرض القيمة.
  • د) استخدام دالة `random.randint` لاختيار السهم عشوائيًا.

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

الإجابة: استخدام هيكل التحكم `if/elif/else`.

الشرح: 1. اقرأ درجة الحرارة. 2. استخدم `if` temperature > 21: اعرض سهمًا لأعلى. 3. استخدم `elif` temperature < 21: اعرض سهمًا لأسفل. 4. استخدم `else:` (وهي حالة التساوي) اعرض رمزًا محايدًا أو أطفئ الشاشة. 5. النتيجة: هيكل `if/elif/else` يغطي جميع الاحتمالات بدقة.

تلميح: أنت بحاجة إلى اتخاذ ثلاثة قرارات مختلفة بناءً على نتيجة المقارنة.

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