المحتويات
شكلت المتحكمات البرمجية الدقيقة نقلةً نوعيةً في عالم الإلكترونيات الحديث بسبب امكانياتها الهائلة وسهولة التعامل معها وبرمجتها، الأمر الذي أدى إلى تواجدها في جميع نواحي الحياة اليومية من الأدوات الإلكترونية التي نستخدمها بحياتنا بشكلٍ يوميٍّ كالتلفاز والغسالة و المصعد والحواسيب، إلى التقنيات الإلكترونية المستخدمة في المعامل والمصانع وغيرها من المنتجات الإلكترونية الضخمة كالأقمار الصناعية والصواريخ، فهي مقصد الجميع بدءًا من الهواة إلى المتخصصين والمطورين، أحد هذه المتحكمات هو الاردوينو الذي سنتعرف على طريقة تشغيله وبرمجته في مقالنا التالي.
الأردوينو
الاردوينو عبارةٌ عن لوحةٍ مفتوحة المصدر، تستخدم في بناء التطبيقات والمشاريع الإلكترونية، يتميز بكلفته المنخفضة مقارنةً مع المتحكمات الأخرى ومرونته في التعامل، فهو قادرٌ على العمل على مختلف أنظمة التشغيل مثل Windows وmacOS و Linux بالإضافة إلى سهولة برمجته التي يعتمد بها على لغةٍ خاصةٍ تسمى Arduino C.[1]النوع الأكثر شيوعًا منه هو Arduino Uno الذي يتمتع بـ 14 قطب رقمي (6 منها يمكن استخدامها كأقطاب خرج PWM أي أقطاب خرج موجات مربعة يمكن التحكم بعرض نبضاتها) بالإضافة إلى 6 أقطابٍ تشابهيةٍ يمكن استخدامها كأقطاب دخل أو خرج (حسب البرمجة) كما يزود بزر لإعادة التعيين (حذف البرنامج المثبت على البورد) ومقبس للطاقة ومنفذ USB لتوصيله مع الحاسب من خلال كبل البرمجة.كما تتوفر العديد من الأنواع الأخرى منها:
كيفية برمجة و تشغيل الاردوينو
للبدء في برمجة و تشغيل الاردوينو يجب في البداية تنصيب بيئة التطوير Arduino IDE، وتوصيل اللوحة مع الحاسب باستخدام كابل البرمجة، ثم اتباع الخطوات التالية:
void setup ( ){pinMode (pin-number, OUTPUT); // set the ‘pin-number’ as outputpinMode (pin-number, INPUT); // set the ‘pin-number’ as output}
ملاحظة: الكلمات المكتوبة خلف المحارف // لا تتم قراءتها من قبل المتحكم وإنما تكتب لتسهيل شرح البرنامج.المجموعة الثانية: هي المسؤولة عن قراءة حالة أقطاب الدخل وإعطاء الأوامر لأقطاب الخرج اعتمادًا على التعليمات البرمجية والحلقات المستخدمة ضمنها، يتم تنفيذها بشكلٍ متكررٍ خلال عمل المتحكم إذ تعمل على مراقبة حالة أقطاب الدخل بشكلٍ متكررٍ لتنفيذ اللازم عند الحاجة لذلك، على سبيل المثال:Void loop ( ){digitalWrite (pin-number,HIGH); // turns ON the component connected to ‘pin-number’delay (1000); // wait for 1 secdigitalWrite (pin-number, LOW); // turns OFF the component connected to ‘pin-number’delay (1000); //wait for 1sec}
في المثال السابق يقوم المتحكم بتشغيل القطب (يعطيه 5 فولت) المدخل بالتعليمة الأولى والانتظار لمدة ثانية (1000 ميلي ثانية) ثم بعدها يقوم بإطفاء القطب وينتظر ثانيةً واحدةً أيضًا.ملاحظة: يقوم المتحكم بقياس المدة الزمنية بالميللي ثانية بشكلٍ دائمٍ لذا يجب الانتباه إلى ذلك دومًا.[4]المراجع
- 1 - What is Arduino? , February/26/2020 | 06:51 PM .
- 2 - What are the Different Types Of Arduino Boards , February/26/2020 | 06:51 PM .
- 3 - Introduction to Arduino IDE , February/26/2020 | 06:51 PM .
- 4 - Arduino programming for beginners-1 , February/26/2020 | 06:51 PM .