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

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

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

الدرس: Include the Libraries

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

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

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

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

📝 ملخص الصفحة

📚 تضمين المكتبات وإنشاء الكائنات

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

تضمين المكتبات (Include the Libraries): خطوة برمجية أولية لاستخدام دوال مكونات إضافية (مثل LCD، لوحة المفاتيح، المحرك المؤازر) بلغة C++ في بيئة تينكركاد.

إنشاء الكائنات (Create the Objects): خطوة تلي تضمين المكتبات، حيث يتم إنشاء عينات (كائنات) من الفئات (Classes) المحددة للمكونات، وقد تتطلب تهيئة بعض الوسائط عبر المُنشئ (Constructor).

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

```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).
  • كائن للوحة المفاتيح.
##### ملاحظة

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

نقاط مهمة

  • صيغة تضمين أي مكتبة في C++ هي: `#include `.
  • يجب تضمين المكتبات المحددة لكل مكون: `Adafruit_LiquidCrystal.h` للـ LCD، و`Keypad.h` للوحة المفاتيح، و`Servo.h` للمحرك المؤازر.
  • بعد التضمين، يجب إنشاء كائن (Object) لكل مكون للتحكم به.
  • المُنشئ (Constructor) هو دالة خاصة تُستدعى عند إنشاء الكائن لتهيئة وسائطه.

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

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

Include the Libraries

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

تضمين المكتبات بعيداً عن وحدة تحكم الأردوينو، ولاستخدام باقي المكونات وبرمجة منطقها بلغة C++، فأنت بحاجة أولاً إلى تضمين مكتباتها في قسم البرمجة في بيئة تينكركاد الأساسية. توفر هذه المكتبات العديد من الدوال الخاصة بكل مكون.

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

ستحتاج إلى كتابة الصيغة الآتية لتضمين مكتبة في C++:

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

#include <library name>

بالنسبة للمشروع الحالي، ستحتاج إلى تضمين المكتبات الآتية:

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

بالنسبة للمشروع الحالي، ستحتاج إلى تضمين المكتبات الآتية:

بالنسبة للوحة LCD:

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

بالنسبة للوحة LCD:

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

#include <Adafruit_LiquidCrystal.h>

بالنسبة للوحة المفاتيح:

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

بالنسبة للوحة المفاتيح:

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

#include <Keypad.h>

بالنسبة للمحرك المؤازر:

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

بالنسبة للمحرك المؤازر:

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

#include <Servo.h>

Create the Objects

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

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

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

ستحتاج إلى إنشاء الكائنات الآتية:

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

• كائن لشاشة LCD.

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

• كائن للمحرك المؤازر (Servo motor).

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

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

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

عند إنشاء كائن (object) أو عينة (instance) لفئة (class)، تحتاج أحياناً إلى تزويد بعض الوسطيات إلى مُنشئ (constructor) هذا الكائن. المنشئ هو وظيفة خاصة تُستدعى عند إنشاء كائن، وتتمثل وظيفتها في تهيئة الوسطيات.

نوع: NON_EDUCATIONAL

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

نوع: METADATA

246

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

--- SECTION: Include the Libraries --- تضمين المكتبات بعيداً عن وحدة تحكم الأردوينو، ولاستخدام باقي المكونات وبرمجة منطقها بلغة C++، فأنت بحاجة أولاً إلى تضمين مكتباتها في قسم البرمجة في بيئة تينكركاد الأساسية. توفر هذه المكتبات العديد من الدوال الخاصة بكل مكون. ستحتاج إلى كتابة الصيغة الآتية لتضمين مكتبة في C++: #include <library name> --- SECTION: بالنسبة للمشروع الحالي، ستحتاج إلى تضمين المكتبات الآتية: --- بالنسبة للمشروع الحالي، ستحتاج إلى تضمين المكتبات الآتية: --- SECTION: بالنسبة للوحة LCD: --- بالنسبة للوحة LCD: #include <Adafruit_LiquidCrystal.h> --- SECTION: بالنسبة للوحة المفاتيح: --- بالنسبة للوحة المفاتيح: #include <Keypad.h> --- SECTION: بالنسبة للمحرك المؤازر: --- بالنسبة للمحرك المؤازر: #include <Servo.h> --- SECTION: Create the Objects --- إنشاء الكائنات بعد تضمينك للمكتبات الضرورية، ستحتاج إلى إنشاء بعض الكائنات وتهيئتها لبعض الوسطيات. ستحتاج إلى إنشاء الكائنات الآتية: • كائن لشاشة LCD. • كائن للمحرك المؤازر (Servo motor). • كائن للوحة المفاتيح. عند إنشاء كائن (object) أو عينة (instance) لفئة (class)، تحتاج أحياناً إلى تزويد بعض الوسطيات إلى مُنشئ (constructor) هذا الكائن. المنشئ هو وظيفة خاصة تُستدعى عند إنشاء كائن، وتتمثل وظيفتها في تهيئة الوسطيات. وزارة التعليم Ministry of Education 2025 - 1447 246

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

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

ما هي الصيغة الأساسية لتضمين مكتبة في برنامج C++ ضمن بيئة تينكركاد؟

  • أ) #import <library name>
  • ب) using namespace library name;
  • ج) #include <library name>
  • د) require library name;

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

الإجابة: #include <library name>

الشرح: 1. في لغة C++، تُستخدم توجيهات المعالج (preprocessor directives) لتضمين ملفات الرأس. 2. توجيه #include يخبر المترجم بإدراج محتويات ملف المكتبة المحدد. 3. اسم المكتبة يُكتب بين أقواس زاوية <>. 4. الصيغة الصحيحة هي: #include <library name>.

تلميح: تبدأ بعلامة # وتستخدم أقواس زاوية.

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

ما هو الغرض الرئيسي من تضمين مكتبات مثل Adafruit_LiquidCrystal.h أو Servo.h عند برمجة مشروع إنترنت الأشياء باستخدام الأردوينو؟

  • أ) لزيادة سرعة معالجة وحدة الأردوينو.
  • ب) لتحويل لغة البرمجة من C++ إلى لغة الآلة.
  • ج) توفر هذه المكتبات العديد من الدوال الخاصة بكل مكون، مما يسهل التحكم فيه وبرمجته.
  • د) لربط الأردوينو بالإنترنت مباشرة.

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

الإجابة: توفر هذه المكتبات العديد من الدوال الخاصة بكل مكون، مما يسهل التحكم فيه وبرمجته.

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

تلميح: ترتبط المكتبات بوظائف المكونات الإلكترونية المحددة.

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

بعد تضمين المكتبات اللازمة في مشروع إنترنت الأشياء، ما هي الخطوة التالية التي يجب القيام بها لاستخدام مكون مثل شاشة LCD أو محرك Servo؟

  • أ) كتابة الدالة الرئيسية main() فوراً.
  • ب) تحديد أرقام المنافذ (Pins) فقط دون أي خطوة أخرى.
  • ج) إنشاء كائن (object) أو عينة (instance) للفئة (class) الخاصة بذلك المكون.
  • د) ترجمة وتنفيذ البرنامج مباشرة للتحقق من عمل المكتبة.

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

الإجابة: إنشاء كائن (object) أو عينة (instance) للفئة (class) الخاصة بذلك المكون.

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

تلميح: هذه الخطوة تسبق استخدام أي دالة من دوال المكتبة.

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

ما هي الوظيفة الخاصة التي تُستدعى تلقائياً عند إنشاء كائن جديد من فئة ما، وتكون مسؤولة عن تهيئة قيمه الابتدائية؟

  • أ) المُحلل (destructor)
  • ب) الدالة الرئيسية (main function)
  • ج) المنشئ (constructor)
  • د) دالة العضو (member function)

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

الإجابة: المنشئ (constructor)

الشرح: 1. في البرمجة كائنية التوجه (OOP)، الفئة هي مخطط لإنشاء الكائنات. 2. المنشئ (constructor) هو دالة خاصة تُنفذ مرة واحدة عند إنشاء الكائن. 3. وظيفته الأساسية هي إعطاء القيم الأولية لخصائص الكائن. 4. قد يحتاج المنشئ إلى وسيطات (parameters) يتم تمريرها عند إنشاء الكائن لتهيئته بشكل صحيح.

تلميح: هي وظيفة تحمل نفس اسم الفئة.

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