100%
GRIMOIRE
الكتابمدونة البيبيمجلدات التوليفالأساس الحديدي
FRENAR
← السابقالتالي →
RATIO
الأساس الحديدي · دعامة الدرس · الأسبوع 4
◆◆◆
أساسيات
البرمجة المضمّنة
الأسبوع 4 من 26 · الوحدة 2 — الأتمتة الفيزيائية
10 ساعات نظرية · 25 ساعة تطبيقية
◆ الأهداف التعليمية للأسبوع

1. فهم بنية متحكم دقيق (وحدة المعالجة، الذاكرة، منافذ الدخل/الخرج)
2. التمييز بين المستشعر والمشغل، وفهم مفهوم حلقة التحكم
3. كتابة ورفع أول برنامج Arduino
4. قراءة مستشعر رقمي وتناظري
5. التحكم في مشغل (محرك، مرحل) انطلاقًا من برنامج

◆◆◆
ملاحظة استخدام للمكوِّن

هذا الأسبوع يرتبط مباشرة بالوحدة 1: المنطق البولياني (الأسبوع 3) يتكرر في شروط البرنامج، وقراءة الجهد (الأسبوع 1) في المستشعرات التناظرية. التذكير بذلك صراحة يساعد المتدربين على رؤية استمرارية المسار.

Amine RAITI · مهندس بنية تحتية وSRE
وثيقة عمومية · CC BY-NC-SA 4.0 · AI Powered by Amine
عملية ديندون
RATIO
خطة الدرس · 10 ساعات
الخيط النظري الناظم
4.1 · بنية متحكم دقيق3 ساعات
— وحدة المعالجة (CPU)، ذاكرة فلاش (البرنامج)، RAM (المتغيرات)، منافذ الدخل/الخرج (E/S)
— الفرق بين المتحكم الدقيق والمعالج الدقيق (نظام مدمج مستقل مقابل نظام يحتاج أجهزة طرفية خارجية)
— تقديم لوحة Arduino المستخدمة (منافذ رقمية، تناظرية، تغذية)
4.2 · المستشعرات والمشغلات3 ساعات
— المستشعر = يحوّل كمية فيزيائية إلى إشارة كهربائية (مثال: زر، مستشعر إضاءة، مستشعر مسافة)
— المشغل = يحوّل إشارة كهربائية إلى فعل فيزيائي (مثال: LED، محرك، مرحل)
— إشارة رقمية (0/1) مقابل إشارة تناظرية (قيمة متصلة) — صلة بالثنائي المدروس في الأسبوع 2
4.3 · حلقة التحكمساعتان
— بنية برنامج Arduino: setup() (تهيئة، مرة واحدة) وloop() (حلقة لا نهائية)
— مفهوم حلقة التحكم: قراءة مستشعر ← اتخاذ قرار ← التأثير على مشغل ← التكرار
— صلة مباشرة بالمنطق البولياني للأسبوع 3: الشروط (if/else) تستخدم AND/OR/NOT
4.4 · القراءة التناظرية والتحويلساعتان
— التحويل التناظري-الرقمي (CAN): جهد متصل يصبح قيمة رقمية (0-1023 على Arduino، 10 بتات)
— صلة بالأسبوع 1 (الجهد) والأسبوع 2 (الثنائي، قوى العدد 2: 2^10 = 1024 قيمة ممكنة)
مثال يُطوَّر على السبورة

مستشعر إضاءة مغذى بـ5 فولت ومقروء بمدخل تناظري 10 بتات يُرجع قيمة بين 0 (0 فولت، ظلام تام) و1023 (5 فولت، إضاءة كاملة). يمكن بعد ذلك مقارنة هذه القيمة بعتبة ضمن شرط (if قيمة > 500).

RATIO
التمرين التطبيقي 1 · أول برامج Arduino وقراءة مستشعر · 12 ساعة

المعدات: لوحة Arduino Uno (واحدة لكل ثنائي)، كابل USB، حاسوب مثبَّت عليه بيئة تطوير Arduino IDE، LED، مقاومة 220Ω، زر ضاغط، مستشعر إضاءة (مقاومة ضوئية LDR)، breadboard، أسلاك توصيل.

(ساعة ونصف) تثبيت والتعرف على بيئة Arduino IDE، رفع برنامج "Blink" المُوفَّر (وميض LED المدمجة)، التحقق من عمله.
(ساعتان) توصيل LED خارجية على breadboard بمقاومة حماية، تعديل البرنامج لجعلها تومض بتردد مختلف.
(ساعتان ونصف) توصيل زر ضاغط كمدخل رقمي، كتابة برنامج يُضيء LED فقط عند الضغط على الزر (صلة مباشرة بالمنطق الشرطي المدروس في 4.3).
(3 ساعات) توصيل مستشعر إضاءة (مقاومة ضوئية) كمدخل تناظري، قراءة وعرض القيمة الخام (0-1023) على شاشة المراقبة التسلسلية (moniteur série).
(ساعتان) كتابة برنامج يجمع بين المستشعر والمشغل: إضاءة LED تلقائيًا إذا انخفضت الإضاءة المقاسة دون عتبة معطاة (محاكاة إضاءة تلقائية).
(ساعة) اختبارات، ضبط عتبة التفعيل، التحقق من السلوك المتوقَّع.
تصحيح التمرين التطبيقي 1

البرنامج المتوقَّع للنقطة 3 (زر ← LED): في الدالة loop()، قراءة حالة منفذ الزر بـdigitalRead()، ثم استخدام بنية if (etatBouton == HIGH) { digitalWrite(ledPin, HIGH); } else { digitalWrite(ledPin, LOW); }.

البرنامج المتوقَّع للنقطة 5 (مستشعر ← LED تلقائية): قراءة قيمة المستشعر بـanalogRead() (متغير بين 0 و1023)، ثم مقارنتها بعتبة (مثلًا 400) بـif (valeurCapteur < 400) { digitalWrite(ledPin, HIGH); }.

نقطة انتباه للتصحيح: التحقق من أن كل ثنائي حدد جيدًا اتجاه تغير المستشعر (قيمة تنقص أو تزيد حسب الظلام، وهو ما يعتمد على تركيب مقسم الجهد المستخدم).

RATIO
التمرين التطبيقي 2 · التحكم في محرك ومرحل · 13 ساعة

المعدات: وحدة مرحل 5 فولت، محرك تيار مستمر صغير (DC)، ترانزستور NPN (إن لم يتوفر المرحل)، مغذي خارجي للمحرك، ملتيميتر (مكتسب في الأسبوع 1)، breadboard، أسلاك توصيل.

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

التبرير المتوقَّع للنقطة 1: يوفر منفذ Arduino عادة تيارًا أقصى بين 20 و40 مللي أمبير، وهو غير كافٍ لمعظم محركات DC التي تحتاج مئات المللي أمبير. يسمح المرحل بالتحكم، بتيار قيادة ضعيف، في دارة قدرة منفصلة كهربائيًا تمامًا.

البرنامج المتوقَّع للنقطة 4: بنية مشابهة للتمرين 1 (قراءة مستشعر + شرط + فعل)، لكن باستخدام digitalWrite() على منفذ المرحل بدلًا من LED — إظهار أن نفس منطق البرمجة يُطبَّق على أي مشغل.

◆ بطاقة تجميع — التقييم الذاتي للأسبوع 4
1. أستطيع وصف البنية الأساسية لمتحكم دقيق (وحدة المعالجة، الذاكرة، الدخل/الخرج).
2. أستطيع التمييز بين مستشعر ومشغل.
3. أستطيع كتابة ورفع برنامج Arduino بسيط.
4. أستطيع قراءة مدخل رقمي (زر) ومدخل تناظري (مستشعر).
5. أستطيع استخدام شرط (if/else) لتفعيل إجراء حسب قراءة مستشعر.
6. أعرف لماذا يلزم مرحل للتحكم في حمل ذي قدرة عالية.
7. أستطيع توصيل والتحكم في محرك DC عبر مرحل.
8. أستطيع دمج مستشعر ومشغل في نفس البرنامج.
← السابقالتالي →