📚 اختبار البرنامج (تشغيل وميض LED بالتناوب)
المفاهيم الأساسية
الأمر `pins.digital_write_pin(DigitalPin.PX, Y)`: أمر برمجي يستخدم للتحكم في حالة طرف رقمي (مثل P0، P1، P2) في المتحكم الدقيق، حيث `Y` تكون 1 لتشغيل الطرف (HIGH) أو 0 لإيقافه (LOW).
خريطة المفاهيم
```markmap
الوحدة 5: محاكاة نظام التحكم الدقيق
استخدام Micro:bit في TinkerCAD Circuits
مشروع: عرض الأرقام على LED Matrix
#### خطوات الإعداد
##### إضافة المايكروبيت
- البحث عن micro:bit في مكتبة المكونات (Components Library).
- سحب المكون وإفلاته في مساحة العمل.
- ضبط الخصائص:
- اختيار اللون (Color): Green (أخضر).
##### إضافة لوحة توصيل الدوائر
- البحث عن Breadboard Small في مكتبة المكونات (Components Library).
- سحبها وإفلاتها في مساحة العمل.
- تدويرها ثلاث مرات باستخدام زر Rotation.
##### إضافة الدايودات المشعة للضوء (LEDs)
- البحث عن LED في مكتبة المكونات.
- سحب 3 دايودات وإفلاتها في مساحة العمل.
- تعديل ألوانها إلى: أحمر، أصفر، أخفر.
##### إضافة المقاومات
- البحث عن Resistor في مكتبة المكونات.
- سحب 3 مقاومات (قيمة كل منها 1kΩ) وإفلاتها في مساحة العمل.
##### تدوير المكونات
- تدوير الدايودات والمقاومات لتصبح بشكل أفقي.
##### توصيل المكونات على اللوحة
- وضع كل دايود مشع للضوء (LED) ومقاومة على التوالي داخل لوحة التوصيل.
- توصيل المكونات وفقاً للشكل 5.18:
- LED أحمر: بين الصفين 1 و 2، العمود f.
- مقاومة: بين الصفين 4 و 5، العمود f.
- LED أصفر: بين الصفين 5 و 6، العمود f.
- مقاومة: بين الصفين 7 و 8، العمود f.
- LED أخضر: بين الصفين 8 و 9، العمود f.
- مقاومة: بين الصفين 10 و 11، العمود f.
- مقاومة: بين الصفين 12 و 13، العمود f.
##### توصيل المهابط بالطرف الأرضي
- توصيل GND للمايكروبروت مع العمود السالب للوحة التوصيل.
- توصيل مهابط الدايودات المشعة للضوء مع العمود السالب للوحة التوصيل.
- استخدام أسلاك سوداء لجميع التوصيلات السالبة.
##### توصيل أطراف Micro:bit (P0, P1, P2)
- توصيل الطرف P0 للمايكروبت بمدخل a2 من لوحة التوصيل.
- توصيل الطرف P1 للمايكروبت بمدخل b5 من لوحة التوصيل.
- توصيل الطرف P2 للمايكروبت بمدخل a8 من لوحة التوصيل.
##### تنظيم الأسلاك في الدائرة
- يمكن ثني أسلاك التوصيلات لتوضيح الدائرة وتنظيمها.
- يتم ذلك بالضغط على نقطة اتصال السلك بأحد المكونات.
- يمكن ثني السلك أيضاً بالضغط على أي نقطة على امتداده.
#### أوامر برمجة الأطراف في بايثون
##### تحديد الطرف المرسل للإشارات
- الأمر: `pins.analog_set_pitch_pin(AnalogPin.P0)`
##### قراءة قيمة تناظرية من طرف
- الأمر: `pins.analog_read_pin(AnalogPin.P0)`
##### كتابة قيمة إلى طرف
- كتابة قيمة تناظرية: `pins.analog_write_pin(AnalogPin.P2, p0_value)`
- كتابة قيمة رقمية: `pins.digital_write_pin(DigitalPin.P1, 0)`
#### اختبار البرنامج
##### نتيجة التشغيل
- وميض الدايودات المشعة الثلاث (أحمر، أصفر، أخضر) بالتناوب.
- الفترة الزمنية للتناوب: كل 300 مللي ثانية.
##### تسلسل الأوامر البرمجية
`pins.digital_write_pin(DigitalPin.P0, 1)` (تشغيل LED الأحمر)
`pins.digital_write_pin(DigitalPin.P0, 0)` (إطفاء LED الأحمر)
`pins.digital_write_pin(DigitalPin.P1, 1)` (تشغيل LED الأصفر)
`pins.digital_write_pin(DigitalPin.P1, 0)` (إطفاء LED الأصفر)
`pins.digital_write_pin(DigitalPin.P2, 1)` (تشغيل LED الأخضر)
`pins.digital_write_pin(DigitalPin.P2, 0)` (إطفاء LED الأخضر)
```
نقاط مهمة
- الهدف من الصفحة هو كتابة الأوامر البرمجية المحددة ثم بدء محاكاة الدائرة.
- النتيجة المتوقعة من المحاكاة هي وميض ثلاث مصابيح LED (أحمر، أصفر، أخضر) بالتناوب مع فترة زمنية قدرها 300 مللي ثانية بين كل ومضة.
- كل أمر برمجي (`pins.digital_write_pin`) يقابله رسم تخطيطي يوضح التوصيل الفعلي للدائرة على لوحة التجارب (Breadboard) للطرف المعني (P0, P1, P2).