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

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

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

الدرس: شكل 4.5

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

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

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

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

📝 ملخص الصفحة

📚 برمجة الأردوينو باستخدام بايثون

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

pyfirmata: مكتبة بايثون تسمح بالاتصال بلوحة الأردوينو وقراءة مدخلاتها وكتابة مخرجاتها عبر بروتوكول Firmata.

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

```markmap

تطبيقات على المتحكمات الدقيقة

إنشاء تطبيق سحابي لإنترنت الأشياء

أهداف التعلم

#### • استخدام البايثون وبروتوكول PyFirmata لبرمجة الأردوينو.

برمجة الأردوينو بالبايثون (pyfirmata)

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

#### 1. تثبيت حزمة pyfirmata

##### • الأمر في Terminal: pip install pyfirmata

#### 2. استدعاء المكتبة في الكود

##### • import pyfirmata

#### 3. تحديد منفذ الاتصال

##### • communication_port = "COM4" (يختلف حسب الجهاز)

#### 4. إجراء الاتصال والوصول للأطراف

##### • board = pyfirmata.Arduino(communication_port)

##### • it = pyfirmata.util.Iterator(board)

##### • it.start()

#### 5. استخدام حلقة لا نهائية

##### • while True:

##### • # كتابة الأوامر هنا

ملاحظة تقنية

#### • يشغل البرنامج على الحاسوب، وليس على الأردوينو، مما يتيح الوصول إلى وظائف قد لا تتوفر في جهاز التحكم الدقيق.

```

نقاط مهمة

  • تبدأ جميع برامج بايثون للأردوينو باستدعاء مكتبة `pyfirmata` وتهيئة الاتصال.
  • يتم تحديد منفذ الاتصال التسلسلي (مثل `COM4`) الذي تم تسجيله عند توصيل الأردوينو.
  • يتم إنشاء كائن `board` للوصول إلى اللوحة، وكائن `Iterator` لقراءة حالة المدخلات.
  • يُكتب الكود الرئيسي داخل حلقة `while True:` لا نهائية.
  • البرنامج يعمل على الحاسوب الشخصي، مما يوسع إمكانيات البرمجة مقارنة بالبرمجة المباشرة على الأردوينو.

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

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

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

تبدأ كافة برامج البايثون للوحة الأردوينو بما يلي:

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

import pyfirmata communication_port = "COM4" # Set the Arduino port to read from board = pyfirmata.Arduino(communication_port) # Set up pyfirmata to access the status of the inputs of the circuit it = pyfirmata.util.Iterator(board) it.start() while True: # write your code here

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

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

شكل 4.5

نوع: FIGURE_REFERENCE

برمجة الأردوينو في البايثون من خلال pyfirmata

نوع: METADATA

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

نوع: METADATA

122

🔍 عناصر مرئية

شكل 4.5: برمجة الأردوينو في البايثون من خلال pyfirmata

A diagram illustrating the connection between an Arduino board and a laptop for programming using Python. The Arduino board is shown on the left with its components labeled. A dashed line connects it to a Python logo, which is then connected to a laptop displaying code on its screen.

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

تبدأ كافة برامج البايثون للوحة الأردوينو بما يلي: import pyfirmata communication_port = "COM4" # Set the Arduino port to read from board = pyfirmata.Arduino(communication_port) # Set up pyfirmata to access the status of the inputs of the circuit it = pyfirmata.util.Iterator(board) it.start() while True: # write your code here يشغل البرنامج الذي تقوم بتطبيقه على حاسوبك، وليس على الأردوينو، مما يعني أنه يمكنك الوصول إلى كافة الوظائف التي قد لا تتوفر في جهاز تحكم الأردوينو الدقيق. --- SECTION: شكل 4.5 --- برمجة الأردوينو في البايثون من خلال pyfirmata وزارة التعليم Ministry of Education 2025 - 1447 122 --- VISUAL CONTEXT --- **DIAGRAM**: شكل 4.5: برمجة الأردوينو في البايثون من خلال pyfirmata Description: A diagram illustrating the connection between an Arduino board and a laptop for programming using Python. The Arduino board is shown on the left with its components labeled. A dashed line connects it to a Python logo, which is then connected to a laptop displaying code on its screen. Context: Illustrates the setup for controlling an Arduino board using Python and the pyfirmata library.

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

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

ما الغرض من استيراد مكتبة `pyfirmata` في بداية برنامج Python للتحكم بلوحة Arduino؟

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

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

الإجابة: لتمكين التواصل بين برنامج Python على الحاسوب ولوحة Arduino.

الشرح: مكتبة `pyfirmata` هي وسيط برمجي يسمح لبرامج Python بالتواصل مع لوحات Arduino عبر منفذ اتصال (مثل COM أو USB)، مما يتيح التحكم في المدخلات والمخرجات الرقمية والتناظرية.

تلميح: فكر في المكتبة التي تربط بين لغة البرمجة والجهاز المادي.

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

ما الوظيفة الأساسية للكائن `Iterator` من مكتبة `pyfirmata.util` في برنامج Python للتحكم بـ Arduino؟

  • أ) ترجمة أوامر Python إلى إشارات كهربائية تفهمها Arduino.
  • ب) إدارة الذاكرة وتنظيفها في لوحة Arduino.
  • ج) الوصول إلى حالة المدخلات (Inputs) في الدائرة الكهربائية وقراءتها.
  • د) توليد أرقام عشوائية لاستخدامها في المحاكاة.

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

الإجابة: الوصول إلى حالة المدخلات (Inputs) في الدائرة الكهربائية وقراءتها.

الشرح: يُنشئ كائن `Iterator` ويُشغَّل (`it.start()`) لمراقبة حالة المسامير (Pins) المُهيَّأة كمدخلات على لوحة Arduino باستمرار، مما يضمن قراءة قيمها وتحديثها في برنامج Python.

تلميح: يرتبط هذا الكائن بقراءة البيانات من الأجهزة المتصلة.

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

أين يتم تشغيل البرنامج المكتوب بـ Python باستخدام `pyfirmata` للتحكم بـ Arduino؟

  • أ) على ذاكرة فلاش داخل لوحة Arduino نفسها.
  • ب) على خادم سحابي (Cloud Server).
  • ج) على الحاسوب الشخصي (الكمبيوتر).
  • د) على معالج منفصل متصل بالإنترنت.

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

الإجابة: على الحاسوب الشخصي (الكمبيوتر).

الشرح: يُنفَّذ البرنامج على الحاسوب، حيث يتصل الحاسوب بلوحة Arduino عبر منفذ (مثل USB). تقوم مكتبة `pyfirmata` بإرسال الأوامر من الحاسوب إلى اللوحة، مما يتيح استخدام إمكانيات الحاسوب المتقدمة (مثل الذاكرة والمعالجة) التي لا تتوفر في المتحكم الدقيق للـ Arduino.

تلميح: فكر في أين تكتب وتنفذ كود Python عادةً.

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

ما الميزة الرئيسية لتشغيل برنامج التحكم بـ Arduino باستخدام Python و`pyfirmata` على الحاسوب بدلاً من اللوحة نفسها؟

  • أ) توفير استهلاك الطاقة بشكل كبير.
  • ب) جعل الدائرة الكهربائية أبسط وأرخص.
  • ج) الاستفادة من الوظائف والقدرات المتقدمة للحاسوب التي قد لا تتوفر في متحكم Arduino الدقيق.
  • د) جعل البرنامج يعمل بشكل أسرع من أي برنامج على Arduino.

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

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

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

تلميح: المقارنة بين إمكانيات الحاسوب الشخصي وإمكانيات لوحة تطوير صغيرة.

التصنيف: تفكير ناقد | المستوى: متوسط