مرحباً بكم في أومارترونيكس. نغوص اليوم في عالم المتحكمات الدقيقة الرائع لنرى مدى أهميتها في المشاريع الإلكترونية الحديثة، لا سيما في مجال الروبوتات والأنظمة الذكية. المتحكم الدقيق، الذي يُقارن أحيانًا بمركز دماغ الروبوت، هو أعجوبة تكنولوجية تحتوي على نظام حوسبة كامل على شريحة واحدة. هذه الميزة تميز المتحكم الدقيق، وخاصة لوحة اردوينو. خذ الغسالة، على سبيل المثال. يقرأ المتحكم الدقيق البيانات التي توفرها المستشعرات وواجهات المستخدم لمعرفة ما تفعله الغسالة. يمكنك اختيار تفضيلات الغسيل، مثل نوع الدورة ودرجة حرارة الماء، باستخدام أزرار التحكم. يساعد مستشعر مستوى الماء على ملء الخزان بالكمية المناسبة من الماء، بينما يتأكد مستشعر درجة الحرارة من أن الحرارة في المستوى المناسب. بمجرد حصوله على كل هذه المعلومات، يرسل المتحكم الدقيق الأوامر إلى مشغلات الماكينة ويتأكد من دوران المحرك. تعرض لوحة العرض الحالة الحالية وأي تغييرات، بحيث يعرف المستخدم ما يحدث. تتحكم وحدة التحكم الدقيقة أيضًا في صمام المياه، وتتأكد من دخول المياه وخروجها في الأوقات المناسبة للحفاظ على مستوى المياه ودرجة الحرارة المناسبة.
ما هو المتحكم الدقيق؟
المتحكم الدقيق هو جهاز كمبيوتر كامل على رقاقة واحدة، يُعرف أيضًا باسم نظام على رقاقة (SoC). يتضمن هذا النظام المتكامل كل شيء من وحدة المعالجة إلى الذاكرة ومنافذ الإدخال/الإخراج. على عكس الكمبيوتر الشخصي التقليدي، الذي يعتمد على بنية أجهزة شاملة وقابلة للتبديل، توفر وحدة التحكم الدقيقة حلاً مدمجاً وقوياً لبرمجة الأنظمة الإلكترونية والتحكم فيها.
لماذا تعتبر المتحكمات الدقيقة مهمة للأنظمة الذكية والروبوتات؟
تحتاج الأنظمة الذكية، مثلها مثل البشر، إلى "دماغ" أو وحدة معالجة مركزية تستقبل المعلومات من البيئة من خلال أجهزة الاستشعار، وتعالجها ثم تتخذ القرارات. ثم يتم إرسال هذه القرارات على شكل أوامر إلى أجزاء مختلفة من النظام الذكي لتنفيذ إجراءات محددة. يعمل البرنامج الذي يتحكم في هذه الشبكة المعقدة من الإجراءات على متحكم دقيق.
المتحكم الدقيق ATmega328p
أحد الأمثلة الشائعة على المتحكم الدقيق المستخدم على نطاق واسع في الأنظمة الذكية هو ATmega328p من Atmel. تشتهر هذه الشريحة بتعدد استخداماتها وأدائها، مع العديد من المدخلات والمخرجات لأجهزة الاستشعار والمشغلات ووحدات الاتصال. وهي العقل المدبر وراء العديد من مشاريع Arduino، مما يسمح لكل من المتحمسين والمحترفين بتصميم وبرمجة الأنظمة الإلكترونية المعقدة.
لوحة الأردوينو
Arduino هي منصة متحكم دقيق مفتوحة تحظى بشعبية بين الهواة والمؤسسات التعليمية. تدمج لوحة اردوينو متحكم دقيق (مثل ATmega328p) وتوفر بيئة سهلة الاستخدام للبرمجة والنماذج الأولية. تشتهر لوحات Arduino بسهولة استخدامها ومجتمعها الكبير على الإنترنت الذي يوفر الدعم والإلهام.
بدائل للوحة الأردوينو
بالإضافة إلى اردوينو، هناك منصات أخرى مثيرة يمكن أن تكون جذابة اعتماداً على المشروع والتطبيق:
– LEGO Mindstorms: تقدم بيئة برمجة رسومية بديهية ومثالية للمتعلمين الصغار وأولئك الذين يرغبون في التعامل مع الروبوتات بطريقة مرحة. تسمح لك مجموعات LEGO Mindstorms ببناء مجموعة متنوعة من الروبوتات باستخدام أجزاء LEGO والمحركات والمستشعرات.
– Raspberry Pi: - راسبيري باي: جهاز كمبيوتر صغير ومنخفض التكلفة للمشاريع التي تتطلب التحكم في الأجهزة والتطبيقات الحاسوبية. يعتبر Raspberry Pi مثالي لخوادم الوسائط، وأنظمة التشغيل الآلي للمنزل، والعديد من المشاريع الأخرى التي تتطلب المزيد من قوة المعالجة.
ما يجعل Arduino والمتحكمات الدقيقة الخاصة به فريدة من نوعها هو أنها تقوم بتشغيل التعليمات البرمجية مباشرةً دون نظام تشغيل. وهذا يعني أن المشاريع تبدأ فور تشغيلها، مما يوفر كفاءة وموثوقية عالية لمهام التحكم والأتمتة.
منصة الأردوينو
منصة Arduino هي منصة إلكترونيات مفتوحة ومرنة تمكّن المتحمسين والفنانين والمطورين من إنشاء كائنات أو بيئات تفاعلية. وهي تعتمد على أجهزة وبرمجيات بسيطة متاحة للجميع ومفتوحة المصدر. تعود جذور المنصة إلى التعليم، حيث تُستخدم لتعليم أساسيات الإلكترونيات والبرمجة.
أجهزة الأردوينو
في قلب أجهزة اردوينو توجد لوحة اردوينو، وهي لوحة تطوير تعتمد على متحكم دقيق لوضع النماذج الأولية واختبار الدوائر الإلكترونية. وهي توفر مجموعة من المدخلات والمخرجات لتوصيل المستشعرات والمشغلات والمكونات الأخرى.
الأردوينو أونو
إن حجر الزاوية في العديد من مشاريع Arduino هو Arduino Uno، وهي لوحة متحكم دقيقة معروفة بسهولة استخدامها وتعدد استخداماتها. "أونو" تعني "واحد" باللغة الإيطالية، في إشارة إلى حقيقة أنها كانت واحدة من أولى لوحات Arduino. تُعد Arduino Uno بمثابة نقطة انطلاق للعديد من الوافدين الجدد على البرمجة والإلكترونيات. وهي مزودة بمتحكم دقيق ATmega328P، ودبابيس إدخال وإخراج رقمية، ومدخلات تناظرية، ومنفذ USB للبرمجة، ومصدر طاقة خارجي.
فيما يلي ميزات Arduino Uno الرئيسية:
زر إعادة الضبط: زر إعادة الضبط: يعيد هذا الزر تشغيل Arduino Uno ويتسبب في إعادة ضبط البرنامج. إنها طريقة سريعة للبدء من جديد دون الحاجة إلى فصل وإعادة توصيل الطاقة باللوحة.
موصل ICSP 2: تُستخدم هذه الواجهة للبرمجة التسلسلية داخل الدائرة، مما يسمح لك بتحديث البرنامج الثابت ل Arduino أو تجاوز أداة تحميل الإقلاع.
المدخلات/المخرجات: تشتمل اللوحة على دبابيس رقمية لقراءة الإشارات من المستشعرات أو التحكم في الأجهزة المختلفة، بالإضافة إلى مدخلات تناظرية لقراءة الفولتية المختلفة.
مؤشر LED للمستخدم: مكن برمجة مؤشر LED هذا، المسمى "L"، للإضاءة أو الوميض ويمكن استخدامه كأداة تشخيص أو لتفاعل المستخدم في مشاريعك.
مؤشر LED للطاقة: يشير هذا الضوء إلى أن Arduino Uno متصل بمصدر طاقة وجاهز للتشغيل.
موصل ICSP 1: على غرار موصل ICSP 2، يُستخدم هذا الموصل للبرمجة التسلسلية للوحة، وتحديداً لوميض البرنامج مباشرةً إلى المتحكم الدقيق.
المتحكم الدقيق: المتحكم الدقيق ATmega328P هو عقل Arduino Uno، حيث يقوم بمعالجة المدخلات من الأجهزة الطرفية وتنفيذ التعليمات البرمجية التي تم تحميلها.
نقاط التركيب: توفر أربع نقاط تركيب توفر القدرة على تثبيت Arduino Uno بإحكام على أي قاعدة أو مشروع، وهو أمر بالغ الأهمية للمشاريع التي تنطوي على حركة أو قوى خارجية.
مؤشرات LED للإرسال (TX/RX): تشير مؤشرات LED هذه إلى نقل البيانات، حيث يومض مؤشر LED (المرسل) TX عندما يرسل Arduino البيانات ويومض مؤشر LED (المستقبل) RX عندما يتم استقبال البيانات.
مدخل إمداد الطاقة: يسمح هذا المدخل بتشغيل Arduino Uno من مصدر طاقة خارجي، وهو ما قد يكون مهماً للمشاريع التي تتطلب طاقة أكبر مما يمكن أن يوفره منفذ USB.
مدخل USB: يخدم مدخل USB أغراضاً متعددة - فهو يوفر الطاقة، ويسمح لك بنقل التعليمات البرمجية من حاسوبك إلى Arduino، ويمكن استخدامه أيضاً للاتصال التسلسلي بين Arduino وحاسوبك.
يرجع تعدد استخدامات Arduino Uno إلى حد كبير إلى تعدد مدخلاته ومخرجاته، مما يسمح له بالتفاعل مع مجموعة واسعة من المستشعرات والمشغلات والأجهزة الأخرى. فيما يلي تحليل مفصل لقدرات الإدخال/الإخراج الخاصة به:
SCL وSDA: هذه الدبابيس مخصصة لبروتوكول الاتصال I²C، الذي يُستخدم للاتصال بأجهزة I²C الأخرى مثل المستشعرات أو EEPROMs أو وحدات التحكم الدقيقة الأخرى.
AREF: يستخدم السنون المرجعية التناظرية لتعيين جهد مرجعي خارجي كحد أعلى للمدخلات التناظرية.
الأرضي (GND): هذه هي الدبابيس الأرضية للوحة، وتستخدم لإكمال الدائرة من خلال توفير مسار للتيار للعودة إلى المصدر.
المدخلات والمخرجات الرقمية: يمكن استخدام الدبابيس الرقمية على Arduino كمدخلات أو مخرجات. وهي تعمل بجهد 5 فولت ويمكن استخدامها لمجموعة متنوعة من الوظائف، مثل قراءة ضغطة مفتاح أو التحكم في مؤشر LED.
TX/RX (1 و0): يستخدم الدبوس 1 (TX) للإرسال التسلسلي ويستخدم الدبوس 0 (RX) للاستقبال التسلسلي. تُستخدم هذه الدبابيس للاتصال عبر المنفذ التسلسلي لـ Arduino.
المدخلات التناظرية: يمكن لهذه الدبابيس، التي تحمل الرموز من A0 إلى A5، قراءة الإشارة من مستشعر تناظري وتحويلها إلى قيمة رقمية يمكن استخدامها في برامجك.
Vin: يمكن استخدام هذا الدبوس لتشغيل لوحة Arduino من مصدر طاقة خارجي يتراوح من 7 إلى 12 فولت.
5V: يخرج هذا الدبوس 5 فولت منظم من مصدر طاقة اللوحة، والذي يمكن استخدامه لتشغيل المكونات الأخرى في دائرتك.
3.3V: يوفر هذا الدبوس مصدر إمداد 3.3 فولت يتم توليده بواسطة منظم الجهد الكهربائي المدمج في Arduino، وهو مفيد لتشغيل الأجهزة ذات المستوى المنطقي 3.3 فولت.
Reset: يمكن استخدام دبوس إعادة الضبط لإعادة تشغيل المتحكم الدقيق. يعمل بنفس طريقة الضغط على زر إعادة الضبط على اللوحة.
IOREF: يوفر هذا السنون الجهد الذي تعمل عنده دبابيس الإدخال/الإخراج باللوحة. هذا ضروري للدروع للتكيف مع الجهد الذي توفره اللوحة.
مقارنة بين لوحات اردوينو
عند اختيار لوحة Arduino، هناك عدة عوامل يجب مراعاتها بما في ذلك عدد المدخلات والمخرجات وحجم الذاكرة وسرعة المعالج والحجم المادي. قد تكون لوحة Arduino Uno هي الأكثر شهرة، ولكن قد تكون اللوحات الأخرى في عائلة Arduino أكثر ملاءمة اعتمادًا على مدى تعقيد مشروعك ومتطلباته. إليك مقارنة موسعة:
أردوينو أونو: تشتهر اللوحة Uno بواجهتها سهلة الاستخدام، وهي اللوحة المفضلة للعديد من المبتدئين. وهو مزود بمتحكم دقيق ATmega328P، و14 دبابيس إدخال/إخراج رقمية (منها 6 دبابيس توفر خرج PWM)، و6 دبابيس إدخال تناظري. مع 32 كيلوبايت من ذاكرة فلاش و2 كيلوبايت من SRAM، فهي مناسبة لمعظم المشاريع الأساسية. يعمل Uno بسرعة 16 ميجا هرتز ويستخدم USB من النوع B للبرمجة والطاقة، مما يجعله أكبر قليلاً ولكن لا يزال من السهل استخدامه على اللوح.
أردوينو ميجا: تشبه هذه اللوحة الأخ الأكبر للوحة Uno. تحتوي على متحكم دقيق ATmega2560 مع 54 دبابيس إدخال/إخراج رقمية و16 مدخل تناظري وذاكرة فلاش 256 كيلوبايت. سرعة ساعة ميجا 16 ميجا هرتز وذاكرة وصول عشوائي موسعة بسعة 8 كيلوبايت تجعلها مثالية للمشاريع الأكثر تطلباً مثل الطابعات ثلاثية الأبعاد والروبوتات. يستوعب عامل الشكل الأكبر حجمًا الدبابيس الإضافية ويوفر المزيد من خيارات الاتصال، ولكن استهلاكه للطاقة أعلى أيضًا.
أردوينو نانو: النانو هو في الأساس نسخة مدمجة من Uno، ويتميز بنفس متحكم ATmega328. وهو مناسب تماماً للمشاريع ذات المساحة المحدودة، حيث يقدم أداءً مماثلاً ل Uno ولكن بمنفذ USB صغير. يحتوي متحكم Nano على 14 سن إدخال/إخراج رقمي و8 مدخلات تناظرية وذاكرة فلاش بسعة 32 كيلوبايت على لوحة أصغر بكثير، مما يجعله مثاليًا للاندماج في المشاريع الدائمة أو الأجهزة القابلة للارتداء.
أردوينو مايكرو: كلوحة صغيرة الحجم، يوفر الميكرو 20 دبابيس إدخال/إخراج رقمية و12 مدخلاً تناظرياً. لا تعمل وحدة التحكم الدقيقة ATmega32U4 بسرعة 16 ميجاهرتز فحسب، بل تدعم أيضاً اتصال USB، مما يلغي الحاجة إلى معالج إضافي. وهذا يجعل الميكرو قادرًا على محاكاة الماوس أو لوحة المفاتيح بالإضافة إلى وظائف Arduino القياسية.
اردوينو ليوناردو: يتطابق ليوناردو مع المايكرو تقريباً من حيث المواصفات، إلا أنه يتميز بمنفذ USB الصغير وقدرته على تشغيل خوارزميات معقدة بفضل ذاكرة فلاش 32 كيلوبايت و2.5 كيلوبايت من ذاكرة SRAM. توفر دبابيس الإدخال/الإخراج الرقمية ال 20 والمدخلات التناظرية ال 12 وصلات وافرة لأجهزة الاستشعار والمشغلات، كما أنه قادر على التعامل مع اتصالات USB مباشرة، وهو ما يمكن أن يكون ميزة كبيرة لبعض التطبيقات.
تشمل العوامل الإضافية التي يجب وضعها في الاعتبار ما يلي:
الطاقة: تزود دبابيس 5 فولت و3.3 فولت الدبابيس بجهد كهربائي للدروع والمكونات الأخرى. يسمح دبوس Vin بتشغيل اللوحة بمصدر طاقة خارجي، وهو أمر مفيد للتشغيل المستقل.
بيئة البرمجة: جميع هذه اللوحات مدعومة من قبل Arduino IDE، وهي بيئة برمجة متعددة الاستخدامات مناسبة للمبتدئين والخبراء في البرمجة على حد سواء.
قابلية التوسع: لدى كل لوحة إمكانية التوسعة باستخدام الدروع - وهي لوحات إضافية توفر وظائف مثل الواي فاي أو التحكم في المحرك أو نظام تحديد المواقع العالمي. يمكن أن يكون هذا عاملاً حاسماً إذا كان مشروعك يتطلب قدرات محددة.
المجتمع والدعم: مجتمع اردوينو نشط وقوي، ويقدم مستودعاً واسعاً من الأدلة والبرامج التعليمية والمنتديات حيث يمكنك العثور على الدعم لأي لوحة اردوينو تختارها.
عند تحديد لوحة Arduino التي تريد استخدامها، وازن بين متطلبات مشروعك وبين إمكانيات كل لوحة. ضع في اعتبارك ما تحتاجه من حيث الإدخال/الإخراج والذاكرة وسرعة المعالج والاتصال والحجم. سيساعدك هذا على اتخاذ قرار مستنير بشأن اللوحة التي ستجعل مشروعك ينبض بالحياة على أفضل وجه.