ما هي لغة البرمجة التي يجب أن تستخدمها لمشاريع وحدة التحكم الدقيقة الخاصة بك؟ دعنا نستكشف أفضل أربعة خيارات.

أصبحت لوحات تطوير وحدات التحكم الدقيقة عنصرًا أساسيًا في مجتمع المصنّعين. تم تصميم هذه الأجهزة القابلة للبرمجة خصيصًا لمعالجة إشارات الإدخال والإخراج كطريقة للتحكم في الوحدات والمكونات المختلفة مثل أجهزة الاستشعار والمحركات ومصابيح LED وأجهزة الإدخال البشري (HIDs).

ولكن قبل ذلك ، ستحتاج إلى تعلم لغة البرمجة النصية التي يمكن أن يفسرها الميكروكونترولر لبرمجة هذه الأجهزة. تشمل لغات وحدات التحكم الدقيقة الأكثر شيوعًا اليوم MicroPython و CircuitPython و Arduino (المبسطة C ++) و C. كل من هذه اللغات لها مزاياها وعيوبها.

ميكروبايثون

MicroPython هو تطبيق خفيف الوزن للغة برمجة Python 3 المصممة خصيصًا للميكروكونترولر. تم إصداره في عام 2013 من قبل الدكتور داميان جورج لنماذج أولية أسرع وللسماح للأشخاص المألوفين بالفعل ببايثون ببرمجة وحدات التحكم الدقيقة بلغة مماثلة.

سمات

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

instagram viewer

أداء

لبرمجة متحكم دقيق باستخدام MicroPython ، يتم وميض البرنامج الثابت الذي يحتوي على المترجم والمكتبات والاعتمادات الأخرى المختلفة في وحدة التحكم الدقيقة. يسمح ذلك بتفسير شفرة MicroPython وتنفيذها محليًا بواسطة وحدة التحكم الدقيقة ، مما يتيح إنشاء نماذج أولية سريعة حيث يمكن توفير ردود فعل مباشرة أثناء الترميز.

ومع ذلك ، بسبب كيف تنفذ المعالجات التعليمات البرمجية، اللغات المترجمة مثل MicroPython ستكون أبطأ بشكل ملحوظ عند مقارنتها باللغات المترجمة مثل C ++. لذلك ، بشكل افتراضي ، على الرغم من أن النماذج الأولية يمكن أن تكون أسرع بكثير ، إلا أن تنفيذ الكود نفسه يكون أبطأ.

التوافق

نظرًا لأن MicroPython يستخدم موارد محلية لتفسير البرامج وتنفيذها ، يجب أن يحتوي المتحكم الدقيق على ذاكرة فلاش لا تقل عن 256 كيلوبايت و 16 كيلوبايت من ذاكرة الوصول العشوائي. لسوء الحظ ، لا تفي بعض لوحات التطوير الشائعة مثل Arduino Uno بالمواصفات المطلوبة. ومع ذلك ، لا يزال هناك الكثير من اللوحات المتوافقة مع MicroPython.

حاليًا ، يدعم MicroPython رسميًا Pyboard و ESP32 و ESP8266 و Raspberry Pi Pico و BBC micro: bit و لوحات تطوير STM32 وعدد قليل من لوحات Arduino مثل Nano 33 BLE و Nano RP2040 و Giga R1 و Portenta H7.

المجتمع والدعم

منذ إطلاقه في عام 2013 ، حصل MicroPython منذ ذلك الحين على عدد كبير من المتابعين. يجب أن يتمتع المبتدئين بوقت سهل في تعلم MicroPython من خلال وثائقها المكتوبة جيدًا. إذا كنت بحاجة إلى مزيد من المساعدة ، فإن MicroPython لديها أيضًا منتدى مجتمعي حيث يشارك المستخدمون البرامج التعليمية والأفكار والإجابة على جميع أنواع المشكلات التي قد تواجهك فيما يتعلق بـ MicroPython.

اردوينو

Arduino عبارة عن منصة مفتوحة المصدر شهيرة تهدف في المقام الأول إلى الإلكترونيات وعشاق DIY. تعتمد لغة برمجة Arduino على لغات البرمجة C و C ++. تم إصدار لغة Arduino في عام 2005 من قبل مجموعة من المهندسين والفنانين والمصممين من إيطاليا.

سمات

تستخدم لغة البرمجة Arduino نسخة مجردة من كل من C و C ++ ، مما يجعل من السهل التعلم والتطوير معها. يعد تنفيذ التعليمات البرمجية باستخدام Arduino أسرع بكثير من نظيراتها في اللغة المفسرة نظرًا لطبيعتها المجمعة. علاوة على ذلك ، لا يتطلب Arduino سوى قدر ضئيل من موارد النظام للعمل ، مما يجعله متوافقًا مع العديد من لوحات التطوير وأجهزة التحكم الدقيقة.

أداء

على عكس MicroPython و CircuitPython ، فإن Arduino هي لغة برمجة مجمعة. هذا يعني أن الكود يتم تجميعه أولاً على مترجم (مضمن بالفعل في Arduino IDE) ثم يتم تنفيذه كبرنامج كامل بواسطة متحكم دقيق.

يعمل هذا على تحسين تنفيذ التعليمات البرمجية بشكل كبير حيث لا يتعين على المتحكم الدقيق استخدام الموارد لتفسير كل سطر من التعليمات البرمجية. بالإضافة إلى ذلك ، يؤدي تجميع البرنامج أيضًا إلى ترجمته إلى رمز آلة يمكن للمتحكم الدقيق تنفيذه محليًا دون تثبيت التبعيات.

يعمل هذا على تحسين سرعة تنفيذ التعليمات البرمجية بشكل كبير لأن المتحكم الدقيق يمكنه تنفيذ البرنامج مباشرةً دون تخصيص الوقت وموارد الأجهزة لترجمة الشفرة.

المجالس المدعومة

نظرًا لأن مرحلة التجميع تتم من خلال IDE ، يمكن أن تحتوي وحدات التحكم الدقيقة على 32 كيلو بايت من ذاكرة فلاش و 2 كيلو بايت من ذاكرة الوصول العشوائي للعمل. وبصرف النظر عن لوحات Arduino ، هناك العديد من بدائل لوحة Arduino يمكنك استخدامه للبرمجة مع Arduino. ستستخدم العديد من هذه اللوحات وحدات تحكم دقيقة مثل ATmega328P و ATmega2560 و SAMx8E و ESP8266 و ESP32 و STM32.

المجتمع والدعم

كونها منصة مفتوحة المصدر منذ عام 2005 ، تمتلك Arduino بعضًا من أفضل الوثائق المتاحة. تقدم مؤسسة Arduino بنشاط التحديثات والدعم والمنتجات الجديدة المثيرة كل عام. يعد المجتمع العالمي أيضًا واحدًا من أكثر المجتمعات نشاطًا في مشاركة الأدلة والأفكار والإجابة على أي مشاكل استكشاف الأخطاء وإصلاحها التي قد تواجهها. مع Arduino ، نضمن لك مستوى جيد من الدعم.

الدائرة

CircuitPython هو تطبيق Adafruit ل Python 3 ، المبني على قمة MicroPython. على الرغم من كونها متشعبة من MicroPython ، تقدم CircuitPython العديد من التحسينات لجعل تعلم المتحكمات الدقيقة أمرًا سهلاً وممتعًا.

سمات

تم إنشاء CircuitPython لمساعدة المبتدئين على تعلم كيفية برمجة وحدات التحكم الدقيقة. لتحقيق ذلك ، يوفر CircuitPython العديد من الميزات ، بما في ذلك الترميز التفاعلي البيئة ، والمكتبات المدمجة ، وبناء الجملة البسيط (أبسط من MicroPython) ، والتوثيق الممتاز وأدلة.

أداء

نظرًا لأن CircuitPython يعتمد على MicroPython ، فإنه يحتوي على العديد من نفس نقاط القوة والضعف. سيكون وقت تشغيل البرنامج أبطأ قليلاً من MicroPython نظرًا لأن CircuitPython يوفر المزيد من الميزات والمكتبات الإضافية. ومع ذلك ، من المحتمل أن يكون الاختلاف غير ملحوظ نظرًا لأن CircuitPython يتطلب وحدات تحكم دقيقة أكثر قدرة على العمل.

المجالس المدعومة

مع المكتبات المدمجة وحتى بناء الجملة الأبسط ، تحتاج لوحات تطوير المتحكم الدقيق إلى المزيد من الموارد لاستخدام CircuitPython. كحد أدنى ، يحتاج المتحكم الدقيق إلى معالج 8 بت ، وذاكرة فلاش 256 كيلوبايت (يُفضل 512 كيلوبايت) ، وذاكرة وصول عشوائي 32 كيلوبايت (يُفضل 64 كيلوبايت). حاليًا ، تدعم CircuitPython أكثر من 390 لوحة تطوير مدرجة في الموقع الرسمي.

المجتمع والدعم

من المعروف أن Adafruit تصنع منتجات صديقة للمبتدئين. على هذا النحو ، يمكنك العثور على وثائق وكتب سهلة الفهم على CircuitPython. على الرغم من أن اللغة قد تم تقديمها فقط في عام 2017 ، إلا أنها لا تزال تتمتع بمتابعة أكبر من MicroPython ، والتي يمكنك الوصول إليها من خلال Discord والمنتدى الرسمي. مثل مؤسسة Arduino Foundation ، تقدم Adafruit بنشاط التحديثات والدعم والمنتجات الجديدة ، مما يعني أنه يجب أن يكون من السهل العثور على الدعم.

ج

C هي لغة برمجة للأغراض العامة تم تطويرها في السبعينيات من قبل Dennis Ritchie في Bell Labs. إنها لغة برمجة مجمعة يستخدمها المهندسون وغيرهم من المهنيين غالبًا لبرمجة وحدات التحكم الدقيقة بمستويات عالية من الكفاءة.

سمات

على الرغم من صعوبة تعلم اللغة ، إلا أن الميزة الرئيسية لـ C على MicroPython و CircuitPython و Arduino هي مستوى السرعة والكفاءة والتحكم وقابلية النقل التي توفرها. هذا يجعل C أفضل لغة لبرمجة كلا المتحكمات لاستخدامها في المنتجات النهائية.

أداء

بصرف النظر عن قابليته الكبيرة للنقل ، فإن C معروفة بأدائها. يمكنه تشغيل البرامج بشكل أسرع من Arduino و MicroPython و CircuitPython ، حتى مع وجود وحدة تحكم دقيقة منخفضة الموارد. هذا لأن لغة C لغة أكثر فاعلية وتتطلب أقل تبعيات. على الرغم من أنه يمكن تشغيل برنامج Arduino المترجم ، مثل C ، على أجهزة معدنية عارية ، فإن كود الآلة الخاص به يأتي مخبوزًا مسبقًا مع مكتبات وأدوات تقلل من الأداء.

المجالس المدعومة

لغة C محمولة للغاية بحيث يمكن استخدامها لبرمجة أي متحكم قائم على الذراع. بالإضافة إلى ذلك ، يمكن استخدامه على اللوحات القائمة على متحكمات Atmel AVR و STM32 و PIC و MSP.

المجتمع والدعم

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

ما هي اللغة التي يجب أن تبرمج بها؟

إذن ، ما هي أفضل لغة لبرمجة المتحكمات الدقيقة؟ انها حقا يتوقف على الشخص. ستكون لغة C هي الأفضل لمحترفي تصميم الإلكترونيات للإنتاج.

قد يرغب أولئك الذين ليس لديهم خبرة في الترميز في البدء بـ CircuitPython نظرًا لأنه يحتوي على ميزات ووثائق تجعل التعلم سهلاً وممتعًا. سيجد أولئك المطلعون على بايثون أنه من السهل برمجة المتحكمات الدقيقة باستخدام MicroPython.

وبالنسبة لغالبية مجتمع DIY / Maker ، ستظل Arduino هي أفضل لغة يمكن برمجتها ميكروكنترولر ، حيث توفر توازنًا رائعًا بين الأداء وقابلية النقل والميزات و مجتمع.