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

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

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

الدرس: لبنات تينكركاد

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

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

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

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

📝 ملخص الصفحة

📚 برمجة الأردوينو بلغة C++

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

برمجة الأردوينو: عملية كتابة تعليمات برمجية للتحكم في مكونات الأردوينو مثل المستشعرات والمشغلات.

مستشعر الحركة (PIR): مستشعر يكتشف وجود جسم متحرك في مجال رؤيته.

لغة C++: لغة برمجة نصية تُستخدم لكتابة كود التحكم للأردوينو.

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

```markmap

مثال إنذار مستشعرات الأشعة تحت الحمراء السلبية (PIR)

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

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

إنشاء جهاز إنذار PIR

إرسال إشارة لإضاءة ثلاثة دايمودات ضوئية في تتابع سريع

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

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

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

مستشعر الحركة (PIR)

توصيل الدائرة

توصيل LED

#### الأنود (Anode) إلى الطرف الرقمي 11 (سلك أخضر)

توصيل مستشعر PIR

#### طرف الإشارة إلى الطرف الرقمي 10 (سلك برتقالي)

#### VCC إلى مصدر 5 فولت من الأردوينو (سلك أحمر)

#### GND إلى طرف الأرضي (GND) للأردوينو (سلك أسود)

منطق البرنامج

قراءة حالة مستشعر PIR

#### إذا كانت الإشارة مرتفعة (HIGH)

تنفيذ إجراء

#### تشغيل وإطفاء LED خمس مرات متتالية

#### تأخير 300 مللي ثانية بين كل حالة

تنفيذ البرنامج

لبنات تينكركاد

#### تمثيل مرئي لمنطق البرنامج باستخدام الكتل

لغة C++

#### النص البرمجي النهائي للتحكم

```

نقاط مهمة

  • وظيفة البرنامج: التحقق من اكتشاف مستشعر الحركة (PIR) لجسم ما، وعند الاكتشاف، يجعل دايود LED يومض خمس ومضات سريعة.
  • يمكن رؤية الكود النصي بلغة C++ عن طريق اختيار وضع البرمجة "نص (Text)" في محرر التعليمات البرمجية.
  • يوضح الكود المرفق بلغة C++ كيفية:
- تهيئة الطرف الرقمي 10 كمدخل (INPUT) للقراءة من مستشعر PIR.

- تهيئة الطرف الرقمي 11 كمخرج (OUTPUT) للتحكم في LED.

- استخدام حلقة `for` لتكرار عملية التشغيل والإطفاء 5 مرات.

- استخدام الأمر `delay(300)` لإنشاء تأخير قدره 300 مللي ثانية.

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

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

لبنات تينكركاد

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

لبنات تينكركاد

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

برمجة الأردوينو سيتحقق البرنامج مما إذا كان مستشعر الحركة (PIR) قد اكتشف كائناً في مجال رؤيته، وعند اكتشافه لشيء ما، سيرسل إشارة لدايود المشع لليومض خمس ومضات سريعة متتابعة.

اختر وضع البرمجة نص (Text) في محرر التعليمات البرمجية لرؤية النص الناتج بلغة C++.

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

اختر وضع البرمجة نص (Text) في محرر التعليمات البرمجية لرؤية النص الناتج بلغة C++.

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

C++

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

int counter; void setup() { pinMode(10, INPUT); pinMode(11, OUTPUT); } void loop() { if (digitalRead(10) == HIGH) { for (counter = 0; counter < 5; ++counter) { digitalWrite(11, HIGH); delay(300); // Wait for 300 millisecond(s) digitalWrite(11, LOW); delay(300); // Wait for 300 millisecond(s) } } }

نوع: NON_EDUCATIONAL

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

🔍 عناصر مرئية

لبنات تينكركاد

A visual programming interface showing blocks for 'forever', 'if', 'repeat', 'set pin', and 'wait'. The 'if' block checks 'read digital pin 10' for 'HIGH' state. If true, it enters a 'repeat 5 times' loop. Inside the loop, 'set pin 11' to 'HIGH', 'wait 0.3 secs', 'set pin 11' to 'LOW', and 'wait 0.3 secs'.

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

--- SECTION: لبنات تينكركاد --- لبنات تينكركاد برمجة الأردوينو سيتحقق البرنامج مما إذا كان مستشعر الحركة (PIR) قد اكتشف كائناً في مجال رؤيته، وعند اكتشافه لشيء ما، سيرسل إشارة لدايود المشع لليومض خمس ومضات سريعة متتابعة. --- SECTION: اختر وضع البرمجة نص (Text) في محرر التعليمات البرمجية لرؤية النص الناتج بلغة C++. --- اختر وضع البرمجة نص (Text) في محرر التعليمات البرمجية لرؤية النص الناتج بلغة C++. C++ int counter; void setup() { pinMode(10, INPUT); pinMode(11, OUTPUT); } void loop() { if (digitalRead(10) == HIGH) { for (counter = 0; counter < 5; ++counter) { digitalWrite(11, HIGH); delay(300); // Wait for 300 millisecond(s) digitalWrite(11, LOW); delay(300); // Wait for 300 millisecond(s) } } } وزارة التعليم 235 Ministry of Education 2025 - 1447 --- VISUAL CONTEXT --- **DIAGRAM**: لبنات تينكركاد Description: A visual programming interface showing blocks for 'forever', 'if', 'repeat', 'set pin', and 'wait'. The 'if' block checks 'read digital pin 10' for 'HIGH' state. If true, it enters a 'repeat 5 times' loop. Inside the loop, 'set pin 11' to 'HIGH', 'wait 0.3 secs', 'set pin 11' to 'LOW', and 'wait 0.3 secs'. Data: Sequential logic blocks for controlling an LED based on a digital input. Key Values: Pin 10: INPUT, Pin 11: OUTPUT, Repeat 5 times, Wait 0.3 seconds, Digital Read 10 == HIGH, Digital Write 11 HIGH/LOW Context: Illustrates how to use block-based programming to control hardware components like sensors and LEDs with Arduino.

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

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

في برنامج Arduino بلغة C++، ما هو الغرض من استخدام حلقة `for` في الكود المذكور؟

  • أ) لقراءة حالة مستشعر الحركة بشكل مستمر.
  • ب) لتأخير تشغيل LED لمدة 300 مللي ثانية فقط.
  • ج) لتكرار وميض LED خمس مرات متتالية عند اكتشاف الحركة.
  • د) لتعريف متغير العداد `counter` واستخدامه مرة واحدة.

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

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

الشرح: 1. حلقة `for` تستخدم لتكرار تنفيذ مجموعة من الأوامر عدداً محدداً من المرات. 2. في الكود: `for (counter = 0; counter < 5; ++counter)` تعني أن الأوامر داخل الحلقة ستُنفذ 5 مرات. 3. هذه الأوامر هي تشغيل وإطفاء LED مع تأخير، مما ينتج عنه 5 ومضات.

تلميح: فكر في عدد المرات التي يجب أن يحدث فيها الفعل (وميض LED) عند استيفاء الشرط.

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

في برنامج Arduino، ما هي وظيفة الأمر `digitalRead(10)` في الكود المقدم؟

  • أ) إرسال إشارة رقمية عالية (HIGH) إلى المنفذ رقم 10.
  • ب) تحديد اتجاه المنفذ رقم 10 كمدخل (INPUT).
  • ج) قراءة الحالة الرقمية (HIGH أو LOW) للمدخل المتصل بالمنفذ رقم 10.
  • د) تشغيل مؤقت (Timer) مرتبط بالمنفذ رقم 10.

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

الإجابة: قراءة الحالة الرقمية (HIGH أو LOW) للمدخل المتصل بالمنفذ رقم 10.

الشرح: 1. الأمر `digitalRead()` يستخدم لقراءة القيمة من منفذ رقمي محدد. 2. الرقم داخل الأقواس (10) يحدد رقم المنفذ المراد قراءته. 3. يُرجع الأمر قيمة `HIGH` (جهد عالي) أو `LOW` (جهد منخفض). 4. في هذا الكود، يقرأ حالة مستشعر الحركة المتصل بالمنفذ 10.

تلميح: يرتبط هذا الأمر بفحص حالة أحد المداخل الرقمية في لوحة Arduino.

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

ما هو التسلسل المنطقي الأساسي للبرنامج الموصوف في الصفحة؟

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

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

الإجابة: فحص مستشعر → إذا اكتشف حركة → تكرار وميض LED 5 مرات.

الشرح: 1. التسلسل المنطقي يصف خطوات تنفيذ البرنامج الرئيسية. 2. يبدأ البرنامج بفحص حالة مستشعر الحركة (PIR) باستخدام `digitalRead`. 3. إذا كانت الحالة `HIGH` (تم اكتشاف حركة)، يدخل البرنامج إلى كتلة `if`. 4. داخل كتلة `if`، تُنفذ حلقة `for` لتكرار تشغيل وإطفاء LED 5 مرات، مما ينتج ومضات.

تلميح: تتبع تدفق البرنامج: يبدأ بفحص شرط، ثم ينفذ إجراءً متكرراً إذا تحقق الشرط.

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