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

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

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

الدرس: كائن محرك السيرفو المصغر

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

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

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

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

📝 ملخص الصفحة

📚 إنشاء كائنات المكونات الإلكترونية

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

كائن (Object): كيان برمجي يمثل مكوناً إلكترونياً في البرنامج، يتم إنشاؤه وتهيئته قبل الاستخدام.

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

```markmap

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

المشروع: إنشاء قفل باب ذكي

المكونات المستخدمة

  • لوحة أردوينو أونو R3 (Arduino Uno R3)
  • لوحة مفاتيح (مقياس 4x4)
#### توصيل لوحة المفاتيح

##### خطوات التوصيل

  • توصيل صفوف لوحة المفاتيح
###### الصف الأول: الطرف الرقمي 9

###### الصف الثاني: الطرف الرقمي 8

###### الصف الثالث: الطرف الرقمي 7

###### الصف الرابع: الطرف الرقمي 6

  • توصيل أعمدة لوحة المفاتيح
###### العمود الأول: الطرف الرقمي 5

###### العمود الثاني: الطرف الرقمي 4

###### العمود الثالث: الطرف الرقمي 3

###### العمود الرابع: الطرف الرقمي 2

##### ملاحظة

  • تغيير لون جميع أسلاك التوصيل إلى الأخضر (green)
  • شاشة LCD مقاس 16x2 (I2C)
#### توصيل شاشة LCD

##### خطوات التوصيل

  • توصيل الطرف GND (الأرضي) لشاشة LCD بطرف GND (الأرضي) الخاص بالأردوينو (سلك أسود)
  • توصيل طرف Power (الطاقة) لشاشة LCD بالطرف 5V (فولت) بالأردوينو (سلك أحمر)
  • توصيل طرف SDA لشاشة LCD بطرف SDA بالأردوينو (سلك أخضر)
  • توصيل طرف SCL لشاشة LCD بطرف SCL بالأردوينو (سلك أصفر)
  • محرك سيرفو مصغر (Micro Servo)
#### توصيل محرك السيرفو المصغر

##### خطوات التوصيل

  • توصيل الطرف GND (الأرضي) للمحرك بطرف GND (الأرضي) بالأردوينو (سلك أسود)
  • توصيل طرف Power (الطاقة) للمحرك بالطرف 5V (فولت) بالأردوينو (سلك أحمر)
  • توصيل طرف Signal (الإشارة) للمحرك بالطرف الرقمي 11 بالأردوينو (سلك برتقالي)

البرمجة

#### تضمين المكتبات

  • الصيغة العامة: #include
##### مكتبات المشروع الحالي

  • للوحة LCD: #include
  • للوحة المفاتيح: #include
  • للمحرك المؤازر: #include
#### إنشاء الكائنات

  • كائن لشاشة LCD.
  • كائن للمحرك المؤازر (Servo motor).
  • كائن للوحة المفاتيح.
##### كائن محرك السيرفو المصغر

###### الأمر: Servo servo;

  • `Servo`: نوع الكائن.
  • `servo`: اسم الكائن الفعلي المستخدم.
  • لا يحتاج إلى معاملات للتهيئة.
##### كائن شاشة LCD

###### الأمر: Adafruit_LiquidCrystal lcd(0);

  • `Adafruit_LiquidCrystal`: نوع الكائن.
  • `lcd`: اسم الكائن.
  • `(0)`: معامل التهيئة (عنوان الأردوينو الابتدائي، 0 افتراضياً).
##### كائن لوحة المفاتيح

###### تهيئة الأبعاد

  • الأمر: const byte numRows = 4;
  • الأمر: const byte numCols = 4;
  • `numRows`: عدد الصفوف (4).
  • `numCols`: عدد الأعمدة (4).
##### ملاحظة

  • قد يتطلب إنشاء الكائن تمرير وسائط إلى المُنشئ (Constructor) لتهيئتها.
```

نقاط مهمة

  • إنشاء كائن محرك السيرفو (`Servo servo;`) لا يحتاج إلى معاملات للتهيئة.
  • عند إنشاء كائن شاشة LCD، يجب تمرير عنوان الأردوينو الابتدائي (0 افتراضياً) كمعامل في المُنشئ.
  • إنشاء كائن لوحة المفاتيح يتطلب أولاً تعريف ثوابت لتحديد عدد صفوفه (4) وأعمدته (4).

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

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

كائن محرك السيرفو المصغر

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

إنشاء كائن للمحرك سيرفو:

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

Servo servo;

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

تشير دالة "Servo" إلى نوع الكائن، وتشير دالة "servo" إلى الكائن الفعلي المستخدم في البرنامج، وهنا لا تحتاج إلى إضافة أي معاملات للتهيئة.

كائن شاشة LCD

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

إنشاء كائن لشاشة LCD:

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

Adafruit_LiquidCrystal lcd(0);

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

يمكنك باستخدام هذا الأمر تهيئة كائن من نوع Adafruit_LiquidCrystal. وتمرير عنوان الأردوينو الابتدائي الخاص به (وهو 0 افتراضياً) كوسيط في مُنشئ الكائن.

كائن لوحة المفاتيح

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

تحتاج عملية الإنشاء والتهيئة لكائن لوحة المفاتيح إلى بعض البرمجة لإعداده. سيتم ذلك بهذه الأوامر:

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

const byte numRows = 4; // number of rows on the keypad const byte numCols = 4; // number of columns on the keypad

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

تحدد هنا عدد الصفوف (numRows) من النوع "const byte" وقيمته هي 4. وينطبق الشيء ذاته على عدد الأعمدة (numCols).

نوع: METADATA

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

🔍 عناصر مرئية

شكل 6.21: محرك السيرفو المصغر (كائن تينكركاد)

Illustration of a small servo motor with its connector pins and horn.

شكل 6.22: شاشة LCD (كائن تينكركاد)

Illustration of an LCD screen module with pins labeled GND, VCC, SDA, SCL.

شكل 6.23: لوحة المفاتيح (كائن تينكركاد)

Illustration of a 4x4 keypad with numeric and alphabetic buttons, and its connector.

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

--- SECTION: كائن محرك السيرفو المصغر --- إنشاء كائن للمحرك سيرفو: Servo servo; تشير دالة "Servo" إلى نوع الكائن، وتشير دالة "servo" إلى الكائن الفعلي المستخدم في البرنامج، وهنا لا تحتاج إلى إضافة أي معاملات للتهيئة. --- SECTION: كائن شاشة LCD --- إنشاء كائن لشاشة LCD: Adafruit_LiquidCrystal lcd(0); يمكنك باستخدام هذا الأمر تهيئة كائن من نوع Adafruit_LiquidCrystal. وتمرير عنوان الأردوينو الابتدائي الخاص به (وهو 0 افتراضياً) كوسيط في مُنشئ الكائن. --- SECTION: كائن لوحة المفاتيح --- تحتاج عملية الإنشاء والتهيئة لكائن لوحة المفاتيح إلى بعض البرمجة لإعداده. سيتم ذلك بهذه الأوامر: const byte numRows = 4; // number of rows on the keypad const byte numCols = 4; // number of columns on the keypad تحدد هنا عدد الصفوف (numRows) من النوع "const byte" وقيمته هي 4. وينطبق الشيء ذاته على عدد الأعمدة (numCols). وزارة التعليم 2025 - 1447 --- VISUAL CONTEXT --- **FIGURE**: شكل 6.21: محرك السيرفو المصغر (كائن تينكركاد) Description: Illustration of a small servo motor with its connector pins and horn. Context: Illustrates the servo motor hardware component. **FIGURE**: شكل 6.22: شاشة LCD (كائن تينكركاد) Description: Illustration of an LCD screen module with pins labeled GND, VCC, SDA, SCL. Context: Illustrates the LCD screen hardware component. **FIGURE**: شكل 6.23: لوحة المفاتيح (كائن تينكركاد) Description: Illustration of a 4x4 keypad with numeric and alphabetic buttons, and its connector. Context: Illustrates the keypad hardware component.

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

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

في برمجة إنترنت الأشياء باستخدام Arduino، ما هو الغرض من الأمر `Servo servo;`؟

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

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

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

الشرح: 1. الأمر `Servo` يشير إلى نوع الكائن (فئة البيانات). 2. الأمر `servo` (بحرف صغير) هو اسم المتغير الذي يمثل الكائن الفعلي. 3. هذا الأمر ينشئ كائنًا جاهزًا للاستخدام للتحكم في محرك سيرفو مادي دون الحاجة إلى معاملات تهيئة إضافية في هذه المرحلة.

تلميح: فكر في الخطوة الأولى للتحكم في مكون مادي عبر الكود.

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

ما هو الوسيط (المعامل) الذي يجب تمريره عند إنشاء كائن من نوع `Adafruit_LiquidCrystal` لشاشة LCD؟

  • أ) عدد الصفوف والأعمدة للشاشة.
  • ب) مستوى سطوع الشاشة.
  • ج) عنوان الأردوينو الابتدائي الخاص بالشاشة (عادةً 0).
  • د) النص الافتراضي الذي ستعرضه الشاشة.

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

الإجابة: عنوان الأردوينو الابتدائي الخاص بالشاشة (عادةً 0).

الشرح: 1. عند إنشاء كائن لشاشة LCD باستخدام مكتبة Adafruit، نستخدم الأمر `Adafruit_LiquidCrystal lcd(0);`. 2. الرقم `0` داخل الأقواس هو معامل يُمرر إلى مُنشئ الكائن (constructor). 3. هذا المعامل يمثل عنوان الأردوينو الابتدائي الخاص بشاشة LCD، والقيمة `0` هي القيمة الافتراضية.

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

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

عند تهيئة كائن لوحة مفاتيح (Keypad) في برمجة Arduino، ما هو نوع البيانات ونطاق القيمة المناسبين لتحديد عدد الصفوف (`numRows`)?

  • أ) من النوع `int` وتكون قيمته 16 لتمثيل جميع الأزرار.
  • ب) من النوع `const byte` وتكون قيمته 4 للوحة مفاتيح قياسية 4x4.
  • ج) من النوع `String` وتكون قيمته "four".
  • د) من النوع `boolean` للإشارة إلى وجود لوحة مفاتيح.

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

الإجابة: من النوع `const byte` وتكون قيمته 4 للوحة مفاتيح قياسية 4x4.

الشرح: 1. لتهيئة لوحة مفاتيح، نحتاج أولاً إلى تعريف ثوابت تحدد أبعادها. 2. يتم تعريف عدد الصفوف باستخدام `const byte numRows = 4;`. 3. `const` تعني أن القيمة ثابتة ولا تتغير. 4. `byte` هو نوع البيانات المناسب لتخزين رقم صغير مثل 4. 5. القيمة 4 هي القياسية للوحة مفاتيح 4x4.

تلميح: انظر إلى الكود الذي يحدد حجم لوحة المفاتيح. ما الكلمة المفتاحية المستخدمة قبل اسم المتغير؟

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