📚 تضمين المكتبات وإنشاء الكائنات
المفاهيم الأساسية
تضمين المكتبات (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 بالأردوينو (سلك برتقالي)
البرمجة
#### تضمين المكتبات
##### مكتبات المشروع الحالي
- للوحة LCD: #include
- للوحة المفاتيح: #include
- للمحرك المؤازر: #include
#### إنشاء الكائنات
- كائن لشاشة LCD.
- كائن للمحرك المؤازر (Servo motor).
- كائن للوحة المفاتيح.
##### ملاحظة
- قد يتطلب إنشاء الكائن تمرير وسائط إلى المُنشئ (Constructor) لتهيئتها.
```
نقاط مهمة
- صيغة تضمين أي مكتبة في C++ هي: `#include `.
- يجب تضمين المكتبات المحددة لكل مكون: `Adafruit_LiquidCrystal.h` للـ LCD، و`Keypad.h` للوحة المفاتيح، و`Servo.h` للمحرك المؤازر.
- بعد التضمين، يجب إنشاء كائن (Object) لكل مكون للتحكم به.
- المُنشئ (Constructor) هو دالة خاصة تُستدعى عند إنشاء الكائن لتهيئة وسائطه.