المعلوماتية > روبوتيك
لوحة تطوير Arduino
ما هي لوحة تطوير Arduino؟
هي أداة لصنع حواسيب (دارات حاسوبية) تستطيع الاستشعار والتحكم بالعالم المادي المحيط أكثر من الحواسيب المكتبية العادية. بمعنى آخر، هي منصة حاسوبية مادية مفتوحة المصدر مبنية أساساً على لوحة متحكم صغري Microcontroller بسيط وواجهة تطوير لكتابة البرامج على هذه اللوحة.
يمكن استخدام Arduino لتطوير عناصر تفاعلية، مثل أخذ مدخلات من العديد من الحساسات أو الأزرار والتحكم بالأضواء، والمحركات، وغيرها من المخرجات المادية.
يمكن لمشاريع Arduino أن تكون مستقلة، أو يمكنها أن تتصل مع برامج أخرى تعمل على حاسوبك الشخصي مثل (Flash) أو (MaxMSP) - وهي عبارة عن لغة برمجة مرئية تمكِّن المستخدم من بناء برامج مقعدة دون أن يكون لديه خبرة مسبقة بكتابة أي كود برمجي. يمكن شراء لوحة تطوير ِArduino مجمّعة جاهزة، أو يمكن تجميعها يدوياً. كما يمكن تحميل بيئة التطوير المتكاملة مجاناً وهي مفتوحة المصدر.
لماذا Arduino وليس غيرها؟
رغم وجود العديد من المتحكمات الصغرية ومنصات التحكم مثل: Netmedia's BX-24، وParallax Basic Stamp، وMIT's Handyboard، وPhidgets، والتي تقوم كلها بتجميع التفاصيل الفوضوية لبرمجة المتحكم الصغري وتجمعها في حزمة سهلة الاستخدام، لكن Arduino بالإضافة إلى قيامها بذلك، فهي تملك عدة أفضليات للمعلمين والطلاب والهواة المهتمين بهذا المجال، وأهمها:
1- تعد رخيصة نسبياً بالمقارنة بمنصات تطوير المتحكمات الصغرية الأخرى.
2- يعمل برنامج تطوير بيئة Arduino على عدة منصات أنظمة تشغيل وهي: Windows Macintosh OSX، وLinux. بينما تقتصر معظم أنظمة المتحكمات الصغرية على Windows فقط.
3- بيئة برمجة واضحة وسهلة: فهي سهلة للمبتدئين ومرنة بشكل كافي للمستخدمين المتقدمين كي يستغلوا جميع ميزاتها.
4-عتاد مفتوح المصدر وقابل للتجديد، حيث أن لوحة تطوير Arduino مبنية أساساً على متحكمات شركة ATmel، و منها ATmega 8 وATmega168 وغيرها، ولكن يمكن لمصممي الدارات الخبيرين أن يقوموا بتصميم نسختهم الخاصة من النموذج وتوسيعه و تطويره بما يناسبهم، كما يمكن للمستخدمين المبتدئين بناء وتجميع نسخة اللوحة الاختبارية من النموذج وذلك لفهم كيفية عملها وتوفير المال.
توفر Arduino تشكيلة واسعة من لوحات التطوير منها Arduino، و Mega، وArduino Duemilanove، وArduino Mega2560، وArduino Uno، وArduino Diecimila. ويمكنك اختيار اللوحة التي تريدها وفق حاجتك و ميزانيتك!
البرمجة في Arduino:
تعتمد Arduino على مجموعة من التوابع المكتوبة بلغة C و C++، حيث يمكنك استدعاء هذه التوابع أثناء كتابة الكود، لكن هناك تغيير بسيط يطال نموذج التوابع Prototype ويتم هذا تلقائياً من قِبل البرنامج. كمان يمكن استخدام جميع بنى C و++C المدعومة من قبل المترجم ++avr-g، وهو المترجم المستخدم في بيئة تطوير Arduino. حيث يمكن استخدام الحلقات التكرارية والشرطية وغيرها من البنى المتضمَنة في لغة C و++C.
توجد توابع Arduino في مكتبات تقدمها الشركة مجاناً ويمكن تحميلها حسب احتياجات المستخدم. حيث توجد مكتبات للشاشات الكريستالية LCD والشاشات الرسومية Graphical LCD وشاشات اللمس، و مكتبات تدعم وصل الأجهزة المعتمدة على USB كلوحات المفاتيح والفأرة، وكذلك الأجهزة التي تعمل عن طريق البلوتوث. كما يمكن وصل Arduino بالإنترنت للاستفادة منها في التحكم عن بعد عن طريق Arduino EthernetSheild وغيرها الكثير.
مجالات استخدام Arduino:
تستخدم لوحة تطوير Arduino في مجالات عديدة منها الكهربائية والميكانيكية والتقنية. حيث يمكن التحكم بمحركات أو بإضاءة أو بتشغيل تجهيزات كهربائية وفقاً لاستشعار حساسات حرارة أو رطوبة أو إضاءة . كما يمكن أتمتة مشاريع صغيرة لتعمل تلقائياً وفق تسلسل يحدده المبرمج. كما يمكن ربط مجال التحكم والكهرباء والميكانيك والمعلوماتية معاً. كيف؟
بعد وصل Arduino بشبكة الإنترنت باستخدام Arduino EthernetSheild، يمكن للمستخدم تصميم موقع إنترنت يمكّنه بالتحكم بدارة Arduino من أي مكان في العالم! أو يمكنه تصميم برنامج بواسطة لغة برمجة يختارها كـ #C أو Java أو Visual Basic لإنشاء واجهة تحكم لدارته. حيث يمكن ربط دارة Arduino بالحاسوب عن طريق Bluetooth أو كبل المنفذ التسلسلي RS232 أو حتى USB.
وكمثال على ذلك يمكنك تصميم دارة للتحكم بتشغيل وإطفاء أدوات منزلك،ورفع درجة حرارة المكيف المنزلي، وفتح وإغلاق ستائر المنزل، وكل ذلك عن بعد عن طريق موقع إلكتروني تقوم بتصميمه وربط دارتك به مما يمكنك من التحكم بالمنزل من أي مكان في العالم.
هذه فقط بعض إمكانات Arduino، فهنالك بحر واسع من الإمكانات، وكما يقال: "الحدود هي مخيلتك" وإبداعك وأفكارك.
شو رأيكن بلوحة تطوير Arduino؟ ومين سمع عنها قبل؟ ومين مشتغل مشاريع فيها؟ خبرونا…
------------------------------------
المصادر: