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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 الانتقال من لبنات تينكركاد إلى لغة C++

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

البرمجة بلغة C++ في تينكركاد: يمكن البرمجة بلغة C++ في تينكركاد وذلك بتحويل نوع التحرير من لبنات (Blocks) إلى نص (Text).

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

```markmap

الانتقال من البرمجة باللبنات المرئية إلى C++

بيئة تينكركاد

محاكاة برمجة الأردوينو بالنمذجة

لا تتطلب أردوينو فعلي

الإعلان عن المتغيرات والعمليات في تينكركاد

استخدام مجموعة أوامر المتغيرات (Variables)

استخدام مجموعة أوامر الحساب (Math)

أمثلة على اللبنات البرمجية

إعلان متغير باسم x

تعيين قيمة للمتغير

مقارنة العمليات بين تينكركاد و C++

تغيير قيمة متغير بقيمة محددة

#### لبنة تينكركاد: change x by 5

#### C++: x += 5;

تنفيذ عملية رياضية بين متغيرين

#### لبنة تينكركاد: set x to x - y

#### C++: x = x - y;

تعيين متغير ثالث Z لناتج عملية رياضية

#### لبنة تينكركاد: set z to x / y

#### C++: z = x / y;

إجراء مقارنة رياضية بين متغيرين

#### لبنة تينكركاد: x < y

#### C++: x < y

إجراء مقارنة منطقية بين متغيرين

#### لبنة تينكركاد: x != y

#### C++: x != y

إجراء عملية منطقية بين عبارتين

#### لبنة تينكركاد: x != y && x < y

#### C++: x != y && x < y

العبارات الشرطية والتكرارات ورسائل الإخراج

مجموعات الأوامر المستخدمة

#### Output

#### Input

#### Notation

#### Control

#### Math

#### Variables

أمثلة مقارنة

#### طباعة رسالة على الشاشة التسلسلية

##### لبنة تينكركاد: print to serial monitor hello world with newline

##### C++: Serial.println("hello world");

#### الانتظار 5 ثواني

##### لبنة تينكركاد: wait 5 secs

##### C++: delay(5000);

#### العبارة الشرطية (if)

##### لبنة تينكركاد: if x < 10 then change y by 5

##### C++: if (x < 10) { y += 5; }

#### العبارة الشرطية (if/else)

##### لبنة تينكركاد: if x >= 10 and x < 20 then change y by 10 else change y by 20

##### C++: if (x >= 10 && x < 20) { y += 10; } else { y += 20; }

التكرارات (Loops)

#### تكرار for

##### لبنة تينكركاد: repeat 5 times change y by 1

##### C++: for (counter = 0; counter < 5; ++counter) { y += 1; }

#### تكرار while

##### لبنة تينكركاد: repeat while x <= 10 change x by 1

##### C++: while (x <= 10) { x += 1; }

مدخلات ومخرجات أطراف أردوينو

#### مجموعات الأوامر المستخدمة: Output, Control, Input, Math, Notation, Variables

#### قراءة قيمة طرف رقمي

##### لبنة تينكركاد: set x to read digital pin 4

##### C++: pinMode(4, INPUT); x = digitalRead(4);

أمثلة على الانتقال من لبنات تينكركاد إلى لغة C++

أمثلة على أوامر الأطراف

#### ضبط قيمة الطرف الرقمي 4 على HIGH

#### الحصول على قيمة الطرف التناظري A3 وتخزينه في المتغير y

#### إعداد قيمة الطرف 10 من القيمة التناظرية 15 باستخدام عرض النبضة (PWM)

مثال على الدايودات المشعة الضوء الوامضة (Blinking LEDs Example)

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

##### لوحة أردوينو أونو R3

##### 1 دايود مشع للضوء (LED)

#### الهدف من المشروع

##### إنشاء برنامج بسيط يحتوي على تكرارين يجعلان دايود مشع للضوء يومض 5 مرات و 10 مرات بشدة مختلفة

```

نقاط مهمة

  • تقدم الصفحة أمثلة عملية للانتقال من برمجة لوحة الأردوينو باستخدام لبنات تينكركاد إلى استخدام لغة C++.
  • توضح الأمثلة كيفية تنفيذ أوامر أساسية للأطراف (Digital/Analog) بلغة C++ مقابل لبنات تينكركاد.
  • تقدم مثالاً تطبيقياً (إضاءة LED) يتطلب مكونات محددة (أردوينو أونو و LED) ويهدف إلى استخدام التكرارات للتحكم في عدد المرات وشدة الإضاءة.

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

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

نوع: محتوى تعليمي

ضبط قيمة الطرف الرقمي 4 على قيمة HIGH (مرتفعة).

نوع: محتوى تعليمي

الحصول على قيمة الطرف التناظري A3 وتخزينه في المتغير y.

نوع: محتوى تعليمي

إعداد قيمة الطرف 10 من القيمة التناظرية 15 باستخدام عرض النبضة (PWM).

نوع: محتوى تعليمي

أمثلة على الانتقال من لبنات تينكركاد إلى لغة C++

نوع: محتوى تعليمي

ستُنشئ أمثلة بسيطة في تينكركاد للانتقال من برمجة لوحة الأردوينو باستخدام لبنات تينكركاد البرمجية إلى استخدام لغة البرمجة C++.

نوع: محتوى تعليمي

مثال على الدايودات المشعة الضوء الوامضة

نوع: محتوى تعليمي

Blinking LEDs Example

نوع: محتوى تعليمي

ستُنشئ برنامجًا بسيطًا يحتوي على تكرارين يجعلان دايود مشع للضوء يومض 5 مرات و 10 مرات بشدة مختلفة.

نوع: محتوى تعليمي

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

نوع: محتوى تعليمي

• لوحة أردوينو أونو R3 • 1 دايود مشع للضوء (LED).

نوع: محتوى تعليمي

يمكن البرمجة بلغة C++ في تينكركاد وذلك بتحويل نوع التحرير من لبنات (Blocks) إلى نص (Text).

نوع: METADATA

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

نوع: METADATA

شكل 6.11: مكونات المشروع

نوع: METADATA

232

🔍 عناصر مرئية

A Tinkercad block labeled 'set pin' with dropdowns for pin number (4) and state (HIGH).

A Tinkercad block labeled 'set y' with dropdowns for variable assignment ('y'), action ('read analog pin'), and pin selection ('A3').

A Tinkercad block labeled 'set pin' with dropdowns for pin number (10) and a value (15), indicating PWM output.

شكل 6.11: مكونات المشروع

A photograph showing an Arduino Uno R3 board and a red LED (light-emitting diode).

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

ضبط قيمة الطرف الرقمي 4 على قيمة HIGH (مرتفعة). الحصول على قيمة الطرف التناظري A3 وتخزينه في المتغير y. إعداد قيمة الطرف 10 من القيمة التناظرية 15 باستخدام عرض النبضة (PWM). أمثلة على الانتقال من لبنات تينكركاد إلى لغة C++ ستُنشئ أمثلة بسيطة في تينكركاد للانتقال من برمجة لوحة الأردوينو باستخدام لبنات تينكركاد البرمجية إلى استخدام لغة البرمجة C++. مثال على الدايودات المشعة الضوء الوامضة Blinking LEDs Example ستُنشئ برنامجًا بسيطًا يحتوي على تكرارين يجعلان دايود مشع للضوء يومض 5 مرات و 10 مرات بشدة مختلفة. المكونات المطلوبة: • لوحة أردوينو أونو R3 • 1 دايود مشع للضوء (LED). يمكن البرمجة بلغة C++ في تينكركاد وذلك بتحويل نوع التحرير من لبنات (Blocks) إلى نص (Text). وزارة التعليم Ministry of Education 2025 - 1447 شكل 6.11: مكونات المشروع 232 --- VISUAL CONTEXT --- **DIAGRAM**: Untitled Description: A Tinkercad block labeled 'set pin' with dropdowns for pin number (4) and state (HIGH). Context: Illustrates setting a digital pin to a HIGH state in Tinkercad. **DIAGRAM**: Untitled Description: A Tinkercad block labeled 'set y' with dropdowns for variable assignment ('y'), action ('read analog pin'), and pin selection ('A3'). Context: Illustrates reading an analog pin value and storing it in a variable in Tinkercad. **DIAGRAM**: Untitled Description: A Tinkercad block labeled 'set pin' with dropdowns for pin number (10) and a value (15), indicating PWM output. Context: Illustrates setting a digital pin to a specific analog value (PWM) in Tinkercad. **FIGURE**: شكل 6.11: مكونات المشروع Description: A photograph showing an Arduino Uno R3 board and a red LED (light-emitting diode). Key Values: Arduino Uno R3 board, Red LED Context: Shows the hardware components required for the Blinking LEDs Example project.

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

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

في برمجة لوحة الأردوينو، ما الغرض من تعيين قيمة الطرف الرقمي (Digital Pin) على HIGH؟

  • أ) إيقاف تشغيل المكون الإلكتروني المتصل بهذا الطرف.
  • ب) تشغيل المكون الإلكتروني المتصل بهذا الطرف (مثل إضاءة LED).
  • ج) قراءة قيمة من مستشعر متصل بالطرف.
  • د) تغيير وضع الطرف من رقمي إلى تناظري.

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

الإجابة: تشغيل المكون الإلكتروني المتصل بهذا الطرف (مثل إضاءة LED).

الشرح: 1. الطرف الرقمي (Digital Pin) يمكنه إخراج إشارة رقمية (HIGH أو LOW). 2. قيمة HIGH تعني جهدًا مرتفعًا (عادة 5V في الأردوينو). 3. هذا الجهد المرتفع يكمل الدائرة الكهربائية ويشغل المكون المتصل (مثل تشغيل LED).

تلميح: فكر في الحالة الكهربائية التي يحتاجها المكون ليعمل.

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

ما الوظيفة الأساسية للطرف التناظري (Analog Pin) في لوحة الأردوينو؟

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

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

الإجابة: قراءة قيم متغيرة من مستشعرات أو مكونات تناظرية.

الشرح: 1. الطرف التناظري (مثل A0, A1, A2, A3) مصمم لقراءة إشارات تناظرية. 2. الإشارة التناظرية قيمتها متغيرة وليست ثابتة (HIGH/LOW). 3. يمكنه قراءة قيم مثل درجة الحرارة، شدة الإضاءة، أو موضع مقياس الجهد. 4. مثال: 'الحصول على قيمة الطرف التناظري A3' يعني قراءة قيمة كهربائية من مستشعر متصل به.

تلميح: هذا النوع من الأطراف يتعامل مع قيم غير ثنائية.

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

ما هي تقنية عرض النبضة (PWM) المستخدمة في أطراف الأردوينو الرقمية؟

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

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

الإجابة: تقنية تحاكي إخراج إشارة تناظرية باستخدام نبضات رقمية سريعة.

الشرح: 1. PWM تعني Pulse Width Modulation (تعديل عرض النبضة). 2. هي تقنية تسمح للطرف الرقمي بمحاكاة خرج تناظري. 3. يتم ذلك عن طريق تشغيل (HIGH) وإيقاف (LOW) الطرف بسرعة كبيرة. 4. نسبة زمن التشغيل إلى زمن الدورة (Duty Cycle) تحدد القيمة التناظرية المحاكاة. 5. مثال: 'إعداد قيمة الطرف 10 من القيمة التناظرية 15' يعني استخدام PWM لإخراج جهد مكافئ للقيمة 15.

تلميح: تستخدم للتحكم في شدة شيء ما، مثل سطوع ضوء.

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

ما الفرق الرئيسي بين البرمجة باستخدام لبنات (Blocks) في تينكركاد والبرمجة باستخدام لغة C++ لنفس المشروع؟

  • أ) لا يوجد فرق، كلاهما يؤديان نفس النتيجة بالضبط.
  • ب) اللبنات (Blocks) أسرع في التنفيذ من كود C++.
  • ج) اللبنات (Blocks) هي واجهة برمجة مرئية مبسطة، بينما C++ تمنح تحكمًا دقيقًا وكودًا نصيًا قابلاً للتعديل.
  • د) C++ تستخدم فقط للبرمجة خارج بيئة تينكركاد.

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

الإجابة: اللبنات (Blocks) هي واجهة برمجة مرئية مبسطة، بينما C++ تمنح تحكمًا دقيقًا وكودًا نصيًا قابلاً للتعديل.

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

تلميح: فكر في مستوى التجريد والمرونة الممنوحة للمبرمج.

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