مع وفرة أنواع المتحكمات الدقيقة (Microcontrollers) وسهولة إستخدامها، تزداد الحيرة لدى الكثير من الناس وخاصةً المبتدئين منهم عن أنسب متحكم لمشروع ما. هذا المقال سيكون دليل لمن يحتار في اختيار نوع المتحكم بحيث سيتم ذكر نقاط ضعف وقوى أشهر المتحكمات مع تطبيقات وأمثلة مشاريع لكل متحكم.
ماهي المتحكمات الدقيقة (Microcontrollers)؟
المتحكمات الدقيقة هي دوائر الكترونية متكاملة يمكن برمجتها لتقوم بعمل محدد، تشبه الى حد كبير أجهزة الحاسوب، حيث أن كلاهما يحتوي على وحدة معالجة مركزية CPU، ذاكرة وصول عشوائية RAM وغيرها، لكن الفرق يكمن في أن الحاسوب جهاز عام الإستخدام حيث يمكن إستخدامه لأكثر من وظيفة مختلفة في نفس الوقت، على عكس المتحكم الذي يتم برمجته ليقوم بوظيفة محددة، للمزيد من التفاصيل عن المتحكمات يُنصح بقراءة المقال بعنوان المتحكمات الدقيقة | Microcontrollers بالضغط هنا.
ما الفرق بين المتحكمات الدقيقة Microcontrollers والمعالجات الدقيقة Microprocessors؟
قبل البدأ بذكر أشهر أنواع المتحكمات، من المهم معرفة الفرق بين المتحكمات الدقيقة والمعالجات الدقيقة، فكما تم شرحه سابقًا، المتحكمات الدقيقة يمكن إعتبارها حواسيب مصغرة من حيث القطع الإلكترونية التي تحويه، على عكس المعالجات الدقيقة، حيث أنها تتكون من وحدة معالجة مركزية CPU فقط، أما باقي الأجزاء الإلكترونية كذاكرة الوصول العشوائية RAM ومنافذ الإدخال والإخراج I/O Ports تكون خارج المعالجات الدقيقة.
المصدر: FabAcademy.org [1]
أشهر أنواع المتحكمات\المعالجات الدقيقة
1) أردوينو أونو | Arduino Uno (ATmega328P)
أردوينو أونو هي لوحة إلكترونية تحتوي على المتحكم الدقيق ATmega328P. قد تكون لوحة التطوير هذه هي الأشهر على الإطلاق في مجال المتحكمات الدقيقة، والسبب قد يعود لسهولة استخدامها لدى المختص وعامة الناس.
المصدر: TechExplorations.com [2]
مميزات Arduino Uno
- سهلة البرمجة بإستخدام Arduino IDE
- عملية التوصيل مباشرة وبسيطة
- لها مجتمع كبير للدعم والإجابة على الأسئلة
- تُوفر مكتبات كثيرة وجاهزة للاستخدام
- رخيصة نسبيًا
- تحتوي على منفذ Ethernet
- هاردوير وسوفتوير مفتوحا المصدر؛ مما يجعل البحث عن حل لكثير من المشاكل أسهل
عيوب Arduino Uno
- سرعة معالجة محدودة
- ذاكرة عشوائية محدودة
- لا تحتوي على وحدات Wi-Fi أو Bluetooth مدمجة، بل يجب شراؤها وتوصيلها بشكل منفصل
- حجم كبير مقارنةً بباقي المتحكمات (هذا العيب في حال إستخدام لوحة Arduino كاملة وليس ATmega328P لوحده)
- لا تحتوي على مدخل بطاقة تخزين SD مدمج
تطبيقات Arduino Uno
- المشاريع التعليمية لتعليم أساسيات الالكترونيات والبرمجة
- جمع البيانات بالحساسات كجمع بيانات رطوبة التربة وحرارة الغرفة
- المشاريع البسيطة والتي لا تحتاج الى معالجة سريعة كالروبوتات المصغرة والتحكم بالمحركات وإضاءات LEDs
- مناسبة للمبتدئين في عالم المتحكمات وإنترنت الأشياء
- مناسبة لعمل النماذج الأولية، خاصة لو كانت غير معقدة
وهنا 25 فكرة تعتمد بشكل أساسي على لوحة Arduino
2) رازبيري باي ٤ | Raspberry Pi 4
رازبيري باي عادةٌ ما تُعد من المعالجات الدقيقة وليس من المتحكمات الدقيقة؛ وذلك لوجود الأجزاء الإلكترونية (باستثناء وحدة المعالجة المركزية) خارج الرقاقة المتكاملة، وهذا الشيء يتيح سرعة معالجة أعلى مقارنة بالمتحكمات الدقيقة. يوجد عدة إصدارات لهذه اللوحة، أشهرها Raspberry Pi 4 وكذلك النسخة الأحدث Raspberry Pi 5، لكن سيتم التحدث بشكل خاص عن الإصدار 4 لكونه الأشهر والأكثر توفرًا.
المصدر: RasbperryPi.com [3]
مميزات Raspberry Pi 4
- وحدة معالجة سريعة رباعية النواة
- ذاكرة كبيرة وبخيارات متنوعة
- تحتوي على وحدات Wi-Fi و Bluetooth ومنفذ Ethernet مدمج
- تحتوي على مدخل بطاقة تخزين SD مدمج
- تحتوي على عدة منافذ USB 2 و USB 3 وحتى منفذ Micro HDMI تدعم شاشات بدقة 4K
- اللوحة تحوي على عدد كبير من منافذ الإدخال والإخراج (40 منفذ عام قابل للبرمجة)
- لها نظام تشغيل كامل مما يجعلها تؤدي العمليات المعقدة بسهولة
- لها مجتمع كبير للمساعدة في حل المشكلات
- يدعم الطاقة على ايثرنيت Power Over Ethernet (PoE)
عيوب Raspberry Pi 4
- سعر مرتفع مقارنة بالبدائل
- معقدة نسبيًا
- إستهلاك طاقة مرتفع
- غير مفتوحة المصدر؛ مما قد يصعب عملية البحث عن حلول لبعض المشاكل ويحد من تطوير الخدمات البرمجية
تطبيقات Raspberry Pi
- المشاريع التي تتطلب معالجة مكثفة كتحليل بيانات الطقس والتنبؤ به وتطبيقات تحليل البيانات بالذكاء الاصطناعي
- التطبيقات التي تتطلب كاميرا لإدخال البيانات وتحليلها كالتعرف على الأجسام وتتبع الوجه
- التعرف على الصوت كالمساعد الصوتي الذكي
- أنظمة الحماية بالذكاء الاصطناعي كالتعرف على الحركات أو الأصوات غير الطبيعية
- مشاريع الروبوتات المعقدة ذات الوظائف المتعددة
- الخدمات السحابية كالتخزين والبث الترفيهي بتعيين لوحة Raspberry Pi كخادم (Server)
وهنا 20 فكرة تعتمد بشكل أساسي على لوحة ِRaspberry Pi
3) ESP32
لوحة المتحكم الدقيق ESP32 معروف لدى الكثير من المختصين، وأقل لدى غير المختصين. هذا المتحكم تم تطويره من قبل Espressif Systems ويعتبر من الفئة ذات إستهلاك منخفض للطاقة. يرجى الملاحظة أن بعض لوحات التحكم كلوحة ESP32 يتم بيعها من شركات مختلفة، لذلك قد تختلف بعض المواصفات، وخاصة المتعلقة بمنافذ الإدخال والإخراج وإستهلاك الطاقة.
المصدر: RasbperryPi.com [5]
مميزات ESP32
- حجم صغير
- إستهلاك منخفض للطاقة
- وحدة معالجة سريعة ثنائية النواة
- سعر منخفض
- يحتوي على وحدات مدمجة مثل WiFi و Bluetooth وحتى BLE (بلوتوث منخفض الطاقة)
- ذاكرة عشوائية كبيرة نسبيًا
- يدعم البرمجة بإستخدام بيئة أردوينو Arduino IDE
- عدد كبير من منافذ الإدخال والإخراج
- يدعم لغة MicroPython المبنية على لغة Python
- يدعم بروتوكولات كثيرة خاصة بانترنت الأشياء؛ مما يجعله الخيار الأمثل في كثير من الحالات لمشاريع IoT اللاسلكية
عيوب ESP32
- أكثر تعقيدًا من الأردوينو في التوصيل والبرمجة، خاصةً على المبتدئين
- قد تتطلب بطاريات خارجية في بعض المشاريع التي تتطلب طاقة عالية؛ لضعف الطاقة التي توفرها اللوحة
تطبيقات ESP32
- التطبيقات التي تعتمد على التواصل اللاسلكي كتصميم شبكة Mesh أو نقل بيانات بين متحكمين بشكل لاسلكي
- عملي لكثير من تطبيقات انترنت الأشياء IoT لصغر حجمه ولتوفيره الكبير للطاقة كالحساسات الزراعية وأنظمة الإنقاذ اللاسلكية
- مناسب لكثير من تطبيقات الروبوتات، موفرٌا تواصل لاسلكي وتحكم عن بعد وسرعة جيدة
- يُستخدم في أتمتة العمليات الصناعية لتحسين الكفاءة وتقليل الأخطاء البشرية في الإنتاج وغيرها من العمليات الصناعية
وهنا أفكار مشاريع متنوعة تعتمد بشكل أساسي على لوحة ِESP32
جدول المواصفات الملخص
نوع اللوحة | سرعة المعالج Clock Speed | الذاكرة العشوائية RAM | المقاسات (mm) | الوزن | السعر (ر.س) |
Arduino Uno | حتى 16MHz | 2kB SRAM | 54.3×68.6 | 26g~ | 40-70 |
Raspberry Pi 4 | حتى 1.8GHz | 2GB/4GB/8GB SDRAM | 56×85 | 47g~ | 280-360 |
ESP32 | 160MHz/240MHz | 520KB SRAM | 48×26 | 8g~ | 25-40 |
المصادر: Arduino.cc [5] – Elector.com [6] – RaspberryPi.com [3]
ملاحظة: الأسعار تقريبية بدرجة كبيرة وحسب موقع Amazom.sa في يوم كتابة المقال.
متحكمات تستحق الذكر والختام
رغم أن ما تم ذكره من المتحكمات الدقيقة قد تكون هي الأشهر، لكن لا يجب أن ينتهي مقال عن المتحكمات الدقيقة دون ذكر سلسلة المتحكمات STM32 والتي تأتي بفئات كثيرة تناسب الكثير من المستخدمين لتلبي أنواع مختلفة من المشاريع، أو المتحكم ESP8266 وهي نسخة أقدم وأقل قوة من لاحقتها ESP32 ولكن مقابل سعر أقل والتي تناسب فئة أخرى من المستخدمين.
في هذا المقال، تم توضيح مزايا وعيوب أشهر المتحكمات (أو معالجات) الدقيقة مع بعض التطبيقات لكلٍ منها بحيث يمكن للقارئ اختيار المتحكم الأمثل للمشروع الخاص به حسب متطلباته التقنية والمادية.
مراجع:
[1] https://fabacademy.org/2019/labs/akgec/students/jay-dhariwal/assignments/week09/
[2] https://techexplorations.com/blog/arduino/guide-to-arduino-uno-r3-power/
[3] https://www.raspberrypi.com/products/raspberry-pi-4-model-b/specifications/
[4] https://docs.espressif.com/projects/esp-idf/en/stable/esp32/hw-reference/esp32/user-guide-devkitm-1.html
[5] https://docs.arduino.cc/hardware/uno-rev3/#tech-specs
[6] https://www.elektor.com/products/joy-it-nodemcu-esp32-development-board