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

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

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

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

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

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

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

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

📝 ملخص الصفحة

📚 برمجة المستشعرات والمحركات الذكية في الأردوينو

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

برمجة الحديقة الذكية: برمجة لوحة الأردوينو لقراءة مستشعرات درجة الحرارة والرطوبة، وتشغيل محرك تيار مستمر لمدة 5 ثوانٍ عند الوصول إلى قيم محددة، لمحاكاة عملية الري التلقائي.

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

```markmap

تطوير وبرمجة الأردوينو

مشروع الحديقة الذكية بالأردوينو

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

  • مستشعر الحرارة (Temperature Sensor)

توصيل المكونات

#### توصيل مستشعر درجة الحرارة

  • توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
  • توصيل طرف Vout (الجهد) للمستشعر بالطرف التناظري A2 في الأردوينو (سلك أخضر).
  • توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
  • #### توصيل مستشعر رطوبة التربة

  • توصيل طرف Power (الطاقة) للمستشعر بالعمود الموجب في لوحة التوصيل (سلك أحمر).
  • توصيل طرف GND (الأرضي) للمستشعر بالعمود السالب في لوحة التوصيل (سلك أسود).
  • توصيل طرف Signal (الإشارة) للمستشعر بالطرف التناظري A4 في الأردوينو (سلك أخضر).
  • #### الدائرة بصورتها النهائية

    • توصيل الأطراف بالمكونات
    • المكونات المتصلة:
    - مستشعر رطوبة التربة (Soil Moisture Sensor)

    - ترانزستور (TMP)

    - محرك (Motor)

    #### الدائرة المادية (Physical Circuit)

    • صورة الدائرة بمكوناتها المادية
    • المكونات الظاهرة:
    - مستشعر رطوبة التربة (Capacitive Soil Moisture Sensor v1.2)

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

    - لوحة التوصيل (Breadboard)

    - محرك التيار المستمر (DC Motor)

    برمجة المكونات

    #### الخطوات البرمجية

  • استدعاء المكتبات المطلوبة (pyfirmata, time)
  • تكوين منفذ الاتصال والأطراف (COM4، محرك DC، مستشعر درجة الحرارة، مستشعر الرطوبة)
  • إعداد الاتصال بين PyFirmata ولوحة الأردوينو
  • تنفيذ دالة التحكم في محرك التيار المستمر (water_plant)
  • ```

    نقاط مهمة

    • الهدف من البرمجة هو محاكاة نظام مراقبة وري تلقائي للنباتات.
    • يتم استخدام مكتبة `pyfirmata` للتحكم في الأردوينو عبر بايثون.
    • تُعرَّف دالة `water_plant()` لإرسال إشارة مرتفعة (HIGH) لمدة 5 ثوانٍ لتشغيل المحرك، ثم إشارة منخفضة (LOW) لإيقافه.

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

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

    برمجة المستشعرات والمحركات الذكية في الأردوينو

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

    برمجة المستشعرات والمحركات الذكية في الأردوينو

    Programming the Arduino Smart Garden Sensors and Motor

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

    Programming the Arduino Smart Garden Sensors and Motor

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

    ستقوم الآن ببرمجة الأردوينو لقراءة أطراف مستشعرات درجة الحرارة والرطوبة. عند الوصول إلى تكوين محدد لـ قيم مستمرة، سيتم تشغيل محرك التيار المستمر لمدة 5 ثوانٍ، ثم يتوقف، وذلك في محاكاة لعملية المراقبة والري التلقائي للنباتات في الحديقة الذكية.

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

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

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

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

    import pyfirmata import time

    قم بتكوين منفذ الاتصال والأطراف المطلوبة.

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

    قم بتكوين منفذ الاتصال والأطراف المطلوبة.

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

    communication_port = 'COM4' dc_motor_pin = board.get_pin('d:3:o') temperature_sensor_pin = board.get_pin('a:2:i') moisture_sensor_pin = board.get_pin('a:4:i')

    قم بإعداد الاتصال بين PyFirmata واللوحة.

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

    قم بإعداد الاتصال بين PyFirmata واللوحة.

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

    board = pyfirmata.Arduino(communication_port) it = pyfirmata.util.Iterator(board) it.start()

    نفذ الدالة الآتية للتحكم في محرك التيار المستمر.

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

    نفذ الدالة الآتية للتحكم في محرك التيار المستمر.

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

    def water_plant(dc_motor_pin): print("---" Watering plant ---") dc_motor_pin.write(1) time.sleep(5) dc_motor_pin.write(0)

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

    ترسل هذه الدالة إشارة رقمية مرتفعة (HIGH) لمدة 5 ثوانٍ إلى محرك التيار المستمر، ثم ترسل إشارة رقمية منخفضة (LOW) لإيقاف حركته.

    نوع: METADATA

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

    نوع: METADATA

    144

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

    برمجة المستشعرات والمحركات الذكية في الأردوينو --- SECTION: Programming the Arduino Smart Garden Sensors and Motor --- Programming the Arduino Smart Garden Sensors and Motor ستقوم الآن ببرمجة الأردوينو لقراءة أطراف مستشعرات درجة الحرارة والرطوبة. عند الوصول إلى تكوين محدد لـ قيم مستمرة، سيتم تشغيل محرك التيار المستمر لمدة 5 ثوانٍ، ثم يتوقف، وذلك في محاكاة لعملية المراقبة والري التلقائي للنباتات في الحديقة الذكية. --- SECTION: افتح باي تشارم، وأنشئ ملف بايثون جديد، واستدع المكتبات المطلوبة. --- افتح باي تشارم، وأنشئ ملف بايثون جديد، واستدع المكتبات المطلوبة. import pyfirmata import time --- SECTION: قم بتكوين منفذ الاتصال والأطراف المطلوبة. --- قم بتكوين منفذ الاتصال والأطراف المطلوبة. communication_port = 'COM4' dc_motor_pin = board.get_pin('d:3:o') temperature_sensor_pin = board.get_pin('a:2:i') moisture_sensor_pin = board.get_pin('a:4:i') --- SECTION: قم بإعداد الاتصال بين PyFirmata واللوحة. --- قم بإعداد الاتصال بين PyFirmata واللوحة. board = pyfirmata.Arduino(communication_port) it = pyfirmata.util.Iterator(board) it.start() --- SECTION: نفذ الدالة الآتية للتحكم في محرك التيار المستمر. --- نفذ الدالة الآتية للتحكم في محرك التيار المستمر. def water_plant(dc_motor_pin): print("---" Watering plant ---") dc_motor_pin.write(1) time.sleep(5) dc_motor_pin.write(0) ترسل هذه الدالة إشارة رقمية مرتفعة (HIGH) لمدة 5 ثوانٍ إلى محرك التيار المستمر، ثم ترسل إشارة رقمية منخفضة (LOW) لإيقاف حركته. وزارة التعليم Ministry of Education 2025 - 1447 144

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

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

    ما الغرض من الدالة `water_plant(dc_motor_pin)` في برمجة حديقة ذكية باستخدام الأردوينو؟

    • أ) قراءة قيم مستشعرات درجة الحرارة والرطوبة فقط.
    • ب) تشغيل محرك التيار المستمر لمدة 5 ثوانٍ ثم إيقافه، لمحاكاة عملية ري النباتات.
    • ج) إيقاف جميع عمليات اللوحة الإلكترونية لمدة 5 ثوانٍ.
    • د) معايرة مستشعرات الحديقة الذكية.

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

    الإجابة: تشغيل محرك التيار المستمر لمدة 5 ثوانٍ ثم إيقافه، لمحاكاة عملية ري النباتات.

    الشرح: 1. الدالة تُنفّذ عند استدعائها. 2. ترسل إشارة رقمية مرتفعة (HIGH) إلى طرف المحرك. 3. تنتظر لمدة 5 ثوانٍ. 4. ترسل إشارة رقمية منخفضة (LOW) لإيقاف المحرك. 5. الغرض النهائي هو محاكاة عملية الري التلقائي.

    تلميح: تتعلق الوظيفة بالتحكم في مكون ميكانيكي استجابةً لظروف محددة.

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

    في سياق برمجة الأردوينو باستخدام PyFirmata، ما دور الكود `it = pyfirmata.util.Iterator(board); it.start()`؟

    • أ) إغلاق الاتصال مع لوحة الأردوينو.
    • ب) تشغيل محرك التيار المستمر مباشرة.
    • ج) إعداد مُكرِّر (Iterator) لقراءة البيانات من الأطراف التناظرية (Analog) بشكل مستمر.
    • د) تحديد منفذ الاتصال التسلسلي مع الكمبيوتر.

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

    الإجابة: إعداد مُكرِّر (Iterator) لقراءة البيانات من الأطراف التناظرية (Analog) بشكل مستمر.

    الشرح: 1. تُنشئ الدالة `pyfirmata.util.Iterator(board)` كائنًا مسؤولًا عن تحديث قراءات الأطراف. 2. استدعاء `it.start()` يُفعّل عملية التكرار المستمرة في الخلفية. 3. هذا ضروري لقراءة قيم صحيحة ومستمرة من الأطراف التناظرية مثل مستشعرات الحرارة والرطوبة.

    تلميح: هذا الكود يسبق عادةً عملية قراءة البيانات من المستشعرات.

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

    ما القيمة الرقمية (Digital Value) التي تُرسل إلى طرف محرك التيار المستمر في الدالة `water_plant` لبدء تشغيله؟

    • أ) 0 (إشارة منخفضة - LOW)
    • ب) 5 (مدة التشغيل بالثواني)
    • ج) 1 (إشارة مرتفعة - HIGH)
    • د) 3 (رقم الطرف)

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

    الإجابة: 1 (إشارة مرتفعة - HIGH)

    الشرح: 1. في برمجة المتحكمات الدقيقة، تُستخدم الإشارات الرقمية للتحكم في المخرجات. 2. القيمة `1` تمثل الجهد العالي (HIGH) الذي يُفعّل معظم المحركات والمشغلات. 3. في الكود: `dc_motor_pin.write(1)` تُرسل القيمة `1` لبدء التشغيل.

    تلميح: تتعلق القيمة بحالة التشغيل والإيقاف للمكونات الرقمية.

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

    في مشروع الحديقة الذكية الموصوف، ما الشرط الذي يؤدي إلى استدعاء دالة ري النبات (`water_plant`)?

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

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

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

    الشرح: 1. الهدف من النظام هو المراقبة والري التلقائي. 2. يتم برمجة الأردوينو لمراقبة قيم مستمرة من المستشعرات. 3. عند تجاوز هذه القيم لحد معين (عتبة)، يُعتبر أن النبات يحتاج للري. 4. هذا الشرط هو الذي يُطلق عملية تنفيذ دالة التحكم بالمحرك.

    تلميح: يتم اتخاذ القرار بناءً على بيانات من مستشعرات البيئة.

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