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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 تمارين برمجة إنترنت الأشياء (تطبيقات عملية)

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

```markmap

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

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

البرمجة

#### دالة loop()

##### التحقق من كلمة المرور

###### آلية المقارنة

  • مقارنة كل مفتاح مضغوط مع الرقم المقابل في مصفوفة `password` بالتتابع.
  • مثال: كلمة مرور مضبوطة "5456" وكلمة مدخلة "5453".
- 5 مقارنة مع 5 (صحيحة)

- 4 مقارنة مع 4 (صحيحة)

- 5 مقارنة مع 5 (صحيحة)

- 3 مقارنة مع 6 (خاطئة) ← كلمة المرور بأكملها خاطئة.

###### استخدام متغير منطقي (Boolean)

  • `bool correctPass = true;`: يتم تهيئته على `true`.
  • عند اكتشاف أي مفتاح خاطئ، تتغير قيمته إلى `false`.
  • بعد انتهاء المقارنة، تشير القيمة `true` إلى صحة المرور، و`false` إلى خطئه.
###### تنفيذ الدالة (مثال كود)

  • `for (int i = 0; i < 4; i++) {`
- `buttonPressed = keypad.waitKeyFor();`

- `if(password[i] != buttonPressed){ correctPass = false; }`

- `lcd.setCursor(i, 1);`

- `lcd.print(buttonPressed);`

  • `}`
##### تنفيذ فتح/غلق القفل

###### إذا كانت كلمة المرور صحيحة

  • مسح شاشة LCD.
  • طباعة رسالة "Correct password!" و "Unlocking...".
  • تدوير محرك السيرفو إلى زاوية 180 درجة لفتح القفل.
  • الانتظار لمدة 5 ثوانٍ.
  • إعادة تدوير محرك السيرفو إلى زاوية 0 درجة لإغلاق القفل.
###### إذا كانت كلمة المرور خاطئة

  • مسح شاشة LCD.
  • طباعة رسالة "Wrong password!".
#### الإعدادات الأولية (Setup)

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

  • `#include `: مكتبة التحكم بشاشة LCD.
  • `#include `: مكتبة التعامل مع لوحة المفاتيح.
  • `#include `: مكتبة التحكم بمحرك السيرفو.
##### تعريف المتغيرات والكائنات

  • `Adafruit_LiquidCrystal lcd(0);`: إنشاء كائن للتحكم بشاشة LCD.
  • `Servo servo;`: إنشاء كائن للتحكم بمحرك السيرفو.
  • `const byte numRows = 4;`: عدد صفوف لوحة المفاتيح.
  • `const byte numCols = 4;`: عدد أعمدة لوحة المفاتيح.
##### تعيين خرائط المفاتيح والتوصيلات

  • `char keymap[numRows][numCols]`: مصفوفة تحدد شكل المفاتيح على اللوحة (من 1 إلى D).
  • `byte rowPins[numRows] = {9,8,7,6};`: تحديد منافذ الأردوينو المتصلة بصفوف اللوحة.
  • `byte colPins[numCols] = {5,4,3,2};`: تحديد منافذ الأردوينو المتصلة بأعمدة اللوحة.
  • `Keypad keypad = Keypad(...);`: تهيئة كائن لوحة المفاتيح باستخدام الخريطة والتوصيلات المحددة.
##### تهيئة المكونات في `setup()`

###### تهيئة محرك السيرفو

  • `servo.attach(11);`: توصيل محرك السيرفو بالمنفذ 11.
  • `servo.write(0);`: ضبط زاوية السيرفو على 0 درجة (وضع الإغلاق).
###### تهيئة شاشة LCD

  • `lcd.begin(16, 2);`: تهيئة شاشة LCD بحجم 16 عمود وصفين.
  • `lcd.setCursor(0, 0);`: ضبط مؤشر الكتابة على العمود 0، الصف 0.
  • `lcd.print("Set 4 character");`: طباعة رسالة "Set 4 character" على السطر الأول.
  • `lcd.setCursor(0, 1);`: ضبط مؤشر الكتابة على العمود 0، الصف 1.
  • `lcd.print("password:");`: طباعة رسالة "password:" على السطر الثاني.
###### تخزين كلمة المرور

  • `char password[4];`: تعريف مصفوفة لتخزين 4 أحرف لكلمة المرور.
  • `for(int i = 0; i < 4; i++){ password[i] = keypad.waitKey(); }`: حلقة لجمع 4 مفاتيح من لوحة المفاتيح وتخزينها في المصفوفة.

تمارين تطبيقية جديدة

التمرين 1

#### المهمة

  • إنشاء دائرة في برنامج تينكركاد.
#### المكونات

  • مستشعر درجة الحرارة.
  • شاشة LCD.
#### البرمجة

  • برمجة الدائرة باستخدام لغة C++.
#### الوظيفة

  • عرض درجة الحرارة المقروءة من المستشعر على شاشة LCD.

التمرين 2

#### المهمة

  • إنشاء دائرة في برنامج تينكركاد.
#### المكونات

  • لوحة مفاتيح 4x4.
  • شاشة LCD.
#### البرمجة

  • برمجة الدائرة باستخدام لغة C++.
#### الوظيفة

  • عرض الأحرف التي يتم الضغط عليها من لوحة المفاتيح على شاشة LCD.

التمرين 3

#### المهمة

  • إنشاء دائرة في برنامج تينكركاد.
#### المكونات

  • لوحة مفاتيح 4x4.
  • دايودان مشعان للضوء (أحمر، أخضر).
#### البرمجة

  • برمجة الدائرة باستخدام لغة C++.
#### الوظيفة

  • تعيين كلمة مرور من قبل المستخدم.
  • التحقق من كلمة المرور المدخلة.
  • إضاءة الدايود الأخضر عند الإدخال الصحيح.
  • وميض متكرر للدايود الأحمر عند الإدخال الخاطئ.

التمرين 4

#### المهمة

  • إنشاء دائرة في برنامج تينكركاد.
#### المكونات

  • مستشعر رطوبة التربة.
  • محرك سيرفو.
#### البرمجة

  • برمجة الدائرة باستخدام لغة C++.
#### الوظيفة

  • قراءة قيمة رطوبة التربة من المستشعر.
  • تشغيل محرك السيرفو عند وصول الرطوبة إلى قيمة معينة.
```

نقاط مهمة

  • الصفحة تحتوي على تمرينين تطبيقيين جديدين (3 و4) لتنفيذ مشاريع إنترنت الأشياء باستخدام برنامج تينكركاد ولغة C++.
  • التمرين 3: يركز على نظام تحقق من كلمة مرور باستخدام لوحة مفاتيح ومؤشرات ضوئية (LED).
  • التمرين 4: يركز على نظام تحكم آلي باستخدام مستشعر رطوبة التربة ومحرك سيرفو.

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

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

3

نوع: QUESTION_ACTIVITY

أنشئ دائرة في برنامج تينكركاد تتصل بلوحة مفاتيح 4x4 ودايودين مشعين للضوء، أحدهما أحمر والآخر أخضر. سيقوم المستخدم بتعيين كلمة مرور ثم سيحاول استخدامها. إذا كان الإدخال صائباً، سيضيء الدايود المشع للضوء الأخضر، وإذا كان خطأ، فإن الدايود المشع للأحمر سيومض بصورة متكررة.

4

نوع: QUESTION_ACTIVITY

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

نوع: NON_EDUCATIONAL

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

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

--- SECTION: 3 --- أنشئ دائرة في برنامج تينكركاد تتصل بلوحة مفاتيح 4x4 ودايودين مشعين للضوء، أحدهما أحمر والآخر أخضر. سيقوم المستخدم بتعيين كلمة مرور ثم سيحاول استخدامها. إذا كان الإدخال صائباً، سيضيء الدايود المشع للضوء الأخضر، وإذا كان خطأ، فإن الدايود المشع للأحمر سيومض بصورة متكررة. --- SECTION: 4 --- أنشئ دائرة في برنامج تينكركاد تتصل بمستشعر رطوبة التربة ومحرك سيرفو، ثم قم ببرمجتها باستخدام لغة C++ لتشغيل محرك سيرفو عند وصول درجة رطوبة التربة إلى قيمة معينة. وزارة التعليم 259 Ministry of Education 2025 - 1447

✅ حلول أسئلة الكتاب الرسمية

عدد الأسئلة: 2

سؤال 3: أنشئ دائرة في برنامج تينكركاد تتصل بلوحة مفاتيح 4x4 ودايودين مشعين للضوء، أحدهما أحمر والآخر أخضر. سيقوم المستخدم بتعيين كلمة مرور ثم سيحاول استخدامها. إذا كان الإدخال صائباً، سيضيء الدايود المشع للضوء الأخضر، وإذا كان خطأ، فإن الدايود المشع للأحمر سيومض بصورة متكررة.

الإجابة: س 3: التوصيل: - لوحة مفاتيح 4x4 LED - أخضر (D10) وأحمر (D11) المنطق: 1. تعيين كلمة مرور 2. قراءة الإدخال 3. صح: شغل الأخضر 4. خطأ: وميض الأحمر

خطوات الحل:

  1. **الشرح:** لنفهم هذا السؤال: المطلوب هو تصميم دائرة إلكترونية في برنامج محاكاة (تينكركاد) تتحقق من كلمة مرور باستخدام لوحة مفاتيح 4x4. الفكرة هنا هي أن المستخدم سيدخل كلمة مرور، وسيتم مقارنتها بكلمة مرور مخزنة مسبقاً. إذا تطابقت الكلمة المدخلة مع الكلمة المخزنة، فإن الدايود المشع للضوء (LED) الأخضر سيضيء، وهذا يشير إلى أن الإدخال صحيح. أما إذا كانت الكلمة المدخلة خاطئة، فإن الدايود المشع للضوء الأحمر سيومض بشكل متكرر، وهذا يشير إلى خطأ في الإدخال. إذن الإجابة هي: توصيل لوحة المفاتيح 4x4 ودايودين مشعين للضوء (أحمر وأخضر) في الدائرة، وبرمجة المنطق للتحقق من كلمة المرور وتشغيل الدايود المناسب بناءً على النتيجة.

سؤال 4: أنشئ دائرة في برنامج تينكركاد تتصل بمستشعر رطوبة التربة ومحرك سيرفو، ثم قم ببرمجتها باستخدام لغة ++C لتشغيل محرك سيرفو عند وصول درجة رطوبة التربة إلى قيمة معينة.

الإجابة: س 4: التوصيل: - رطوبة (A0) - سيرفو (D9) المنطق: 1. قراءة الرطوبة 2. > العتبة (جافة): شغل السيرفو 3. < العتبة: أوقف السيرفو

خطوات الحل:

  1. **الخطوة 1 (المفهوم):** نتذكر أن مستشعر رطوبة التربة يقيس نسبة الرطوبة في التربة، ومحرك السيرفو هو محرك يمكن التحكم بزاوية دورانه بدقة. **الخطوة 2 (التطبيق):** بتطبيق هذا على السؤال: المطلوب هو توصيل مستشعر رطوبة التربة ومحرك سيرفو في دائرة على تينكركاد، ثم كتابة برنامج بلغة ++C. المنطق البرمجي سيكون: قراءة قيمة الرطوبة من المستشعر، ومقارنتها بقيمة عتبة محددة (مثلاً 30%). إذا كانت الرطوبة أقل من العتبة (أي التربة جافة)، يتم تشغيل محرك السيرفو لفتح صمام ري مثلاً. وإذا كانت الرطوبة أعلى من العتبة، يتم إيقاف محرك السيرفو. **الخطوة 3 (النتيجة):** لذلك الإجابة هي: توصيل مستشعر الرطوبة إلى منفذ تماثلي (مثل A0) ومحرك السيرفو إلى منفذ رقمي (مثل D9)، وبرمجة المنطق للتحكم في السيرفو بناءً على قراءة الرطوبة.

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

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

في مشروع نظام التحقق من كلمة المرور باستخدام لوحة مفاتيح 4x4، ما هو المنطق البرمجي الأساسي الذي يجب تنفيذه عند إدخال كلمة مرور؟

  • أ) تشغيل كلا الـ LED (الأخضر والأحمر) معاً عند أي إدخال، ثم إيقافهما بعد ثانيتين.
  • ب) قراءة الإدخال من لوحة المفاتيح، ثم مقارنته بكلمة المرور المخزنة مسبقاً، ثم تشغيل LED أخضر إذا كان صحيحاً أو جعل LED أحمر يومض إذا كان خطأ.
  • ج) تشغيل LED الأحمر بشكل دائم عند بدء التشغيل، وإيقافه فقط عند إدخال كلمة المرور الصحيحة.
  • د) تجاهل الإدخال الأول، وتخزين الإدخال الثاني تلقائياً ككلمة مرور جديدة، ثم تشغيل LED الأزرق.

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

الإجابة: قراءة الإدخال من لوحة المفاتيح، ثم مقارنته بكلمة المرور المخزنة مسبقاً، ثم تشغيل LED أخضر إذا كان صحيحاً أو جعل LED أحمر يومض إذا كان خطأ.

الشرح: 1. قراءة الإدخال من لوحة المفاتيح 4x4. 2. مقارنة الإدخال مع كلمة المرور المعرفة مسبقاً. 3. إذا تطابقا، تشغيل LED الأخضر. 4. إذا لم يتطابقا، جعل LED الأحمر يومض بشكل متكرر.

تلميح: فكر في الخطوات الثلاث الأساسية لأي نظام تحقق: الحصول على المدخلات، والمقارنة، واتخاذ القرار.

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

في مشروع نظام ري تلقائي يعتمد على مستشعر رطوبة التربة، ما الشرط المنطقي الذي يجب أن يتحقق لتشغيل محرك السيرفو؟

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

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

الإجابة: عندما تكون قراءة رطوبة التربة أقل من قيمة عتبة محددة (مما يشير إلى جفاف التربة).

الشرح: يقرأ المستشعر نسبة الرطوبة في التربة. إذا كانت القراءة أقل من قيمة عتبة محددة مسبقاً (مثلاً 30%)، فهذا يعني أن التربة جافة وتحتاج للري، فيتم تشغيل محرك السيرفو لفتح مصدر الماء.

تلميح: محرك السيرفو عادةً ما يُشغل لفتح صمام الري عندما تحتاج التربة إلى الماء.

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

ما الفرق الجوهري في الغرض من استخدام الـ LED في مشروعي التحقق من كلمة المرور ونظام الري التلقائي؟

  • أ) في كلا المشروعين، الغرض من الـ LED هو إضاءة المكان المحيط بالدائرة.
  • ب) في مشروع كلمة المرور، الـ LED هو مخرج (إشارة للمستخدم). في مشروع الري، محرك السيرفو هو المخرج (لتنفيذ فعل مادي).
  • ج) في مشروع الري، الـ LED هو المستشعر الرئيسي. في مشروع كلمة المرور، الـ LED هو وحدة المعالجة.
  • د) لا يوجد فرق؛ فكلاهما يستخدم الـ LED كمؤشر بصرية فقط.

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

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

الشرح: 1. مشروع كلمة المرور: الـ LED (أخضر/أحمر) هو واجهة إخراج لإعلام المستخدم بنتيجة التحقق (صحيح/خطأ). 2. مشروع الري: محرك السيرفو هو جهاز إخراج ينفذ فعلًا ماديًا (فتح/إغلاق صمام) بناءً على قراءة المستشعر. الـ LED في هذا المشروع ليس مذكوراً كجزء أساسي.

تلميح: فكر في طبيعة المخرجات: هل هي لإعلام المستخدم أم للتحكم في شيء مادي في العالم الحقيقي؟

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