20 سؤال وجواب لتعريفك بعالم Arduino اللامحدود

1- ما هو Arduino ؟

arduino_mega_2560

Arduino هو كومبيوتر صغير الحجم بإمكانه التفاعل و التحكم في الوسط المحيط به بشكل أفضل من الكومبيوتر المكتبي Desktop. تقنيا هو منصة Platform برمجية مفتوحة المصدر تتكون من متحكم إلكتروني Micro-Controller و بيئة تطويرية تكاملية لكتابة البرمجيات IDE.

 *

قوة الآردوينو Arduino تتجلى في قدرته الكبيرة على التواصل مع القطع الإلكترونية الأخرى كالمحولات Switches أو المستشعرات Sensors و الاستفادة منها في الحصول على مختلف البيانات كدرجة الحرارة أو شدة الإضاءة و كذلك فاعليته الكبيرة في التحكم في المحركات Motors و مصابيح LED و كثير من القطع الإلكترونية الأخرى.
يمكن تشغيل مشاريع الآردوينو Arduino عن طريق وصله بالكومبيوتر و جعله يتعامل مع أحد البرامج الموجودة على الجهاز أو بالإمكان تشغيله باستقلالية تامة.

*

 2. لماذا Arduino ؟

في الحقيقة يوجد الكثير من المتحكمات الإلكترونية Micro-Controllers المتوفرة في السوق مثل Parallax و Basic Stamp و Netmedia’s BX-24 Phidgets و Raspberry Pi و كلها تتميز بإمكانيات قوية و لها القدره على التحكم في مختلف القطع الإلكترونية و البرمجيات Software و ذلك طبعا بنسبة أفضلية متفاوتة لكن ما يميز الآردوينو Arduino هو مجموعة من الأمور اللتي تصنع الفارق بينه و بين غيره أهمها:

*

البساطة: قطعة الآردوينو Arduino مصممة لتناسب احتياجات الجميع، محترفين، أساتذة، طلاب وهواة الإلكترونيات التفاعلية.

الثمـــن: لوح الآردوينو Arduino أقل ثمناً مقارنةً مع الألواح الأخرى من نفس النوع فثمن أغلى Arduino لا يتجاوز 50$.

التركيب الذاتي (Self-Assembly): يمكنك تحميل ورقة البيانات Datasheet الخاصة بالآردوينو Arduino مجاناً من الموقع الرسمي و شراء القطع  وتركيبه بنفسك !

متعدد المنصات: برنامج الآردوينو له القدرة على الاشتغال على الويندوز windows, الماك  Mac OS و اللينكس Linux وأغلب المتحكمات الإلكترونية الأخرى تشتغل فقط على الويندوز فقط.

بيئة برمجية سهلة و بسيطة: البيئة البرمجية Programming Environment مصممة لتكون سهلة للمبتدئين و ثابتة و قوية للمحترفين.

Open Source Software: مكتوب بلغة السي ++C و متاح للجميع لتحميله و بامكان المبرمجين التعديل عليه وفق احتياجاتهم.

Open Source Hardware: الآردوينو Arduino مصنوع أساساً من متحكمات ATMEGA8 و ATMEGA168 و المخططات منشورة تحت ترخيص Creative Commons  مما يتيح إلى مصممي الدارات الإلكترونية Electronic Circuits تصميم داراتهم الخاصة.

*

3.ما الفرق بين Arduino و Raspberry Pi ؟

أهم نقاط الإختلاف بينهما هي النقاط التالية:

  • من حيث سهولة الإستعمال:

في حالة Arduino ستحتاج إلى تحميل البرنامج من الموقع الرسمي ثم ما عليك سوى وصل القطعة بالجهاز و ربما ستحتاج إلى شراء USB Cable إذا لم تكن تملكه مسبقاً. الآن انت مستعد للإنطلاق، بالنسبه لـ Raspberry Pi فالأمر مختلف قليلاً، ستحتاج مسبقاً إلى شراء USB Cable و بطاقة ذاكرة SD card من أجل النظام و كذلك فأرة ولوحة مفاتيح وشاشة بها منفذ HDMI و أخيراً ستحتاج إلى Ethernet Cable أو WiFi Dongle لوصل القطعة بالإنترنت و بعد كل هذا سيتعين عليك تحميل النظام المناسب إلى بطاقة الذاكرة.

*

  • من حيث التواصل:

هنا أقصد التواصل مع أجهزة أخرى عن طريق شبكة محلية أو منزلية أو حتى عن طريق الإنترنت. Raspberry Pi سيكون له بعض الأفضلية في هذه الناحية لأنه يملك منفذ Ethernet مدمج في أغلب قطعه و بالإمكان أيضاً إضافة WiFi Dongle بسهولة عن طريق منفذ USB. لكن Arduino أيضاً له القدرة على الإتصال بالشبكات بسهولة إذا ما أضفنا له Ethernet shield وهي قطعة إضافية مدعومة من الموقع الرسمي أو يمكن شراء لوح Arduino مجهز بخاصية WiFi وأيضاً يوجد لوح Arduino به خاصية الإتصال بشبكات GSM مما يفتح الباب إلى التفكير في مشاريع مشوقة.

*

قوة المعالج Processor:

من هذه الناحية لا يمكن مقارنة لوح Arduino الذي يملك معالج من نوع ATMEG168 و الذي يعمل بسرعة 16Mhz مع Raspberry Pi بمعالج BCM2835 بسرعة 700Mhz وحتى أقوى لوح آردوينو Arduino Due لا يمكنه منافسة Raspberry Pi بمعالج SAM3X8E ذو سرعة 84Mhz. لكن رغم هذا يجب أن أشير إلى أن Raspberry Pi يحتاج إلى معالجات قوية و سريعة لأنه يتعامل مع الرسوميات و مع شاشات بدقة عالية.

*

البرمجة:

سأخبرك مسبقاً أن البرمجة على Arduino IDE أفضل بكثير من حيث سهولة التعلم و التطبيق و تمرير الكود إلى Arduino و الأمر ليس بنفس البساطة بالنسبة لـ Raspberry Pi, فسيتحتم عليك الدخول إلى اللوح عن طريق SSH ثم كتابة الكود ثم تشغيله لكن يمكنك أيضاً إستعمال لغة Python في كلا البيئتين و الإستفادة من مكتبتها الضخمة في تنفيذ مشاريعك.

*

الثمن:

عموماً ثمن لوح Arduino أرخص من Raspberry Pi وهذا دون أن نتكلم على أنك ربما ستحتاج إلى قطع إضافية.

Arduino

Raspberry
Pi

30$-60$

35$

الثمن

أحجام متتوعة

85,60
مم x 53,98 مم

الحجم

مدمج

لينكس

نظام التشغيل

Arduino IDE,
Eclipse, AVRStudio…

Open
Embedded, QEMU, Eclipse…

بيئة التطوير

C++, Python,
Java, Matlab…

Python, C,
Basic…

لغة البرمجة

ATMEG8,ATMEG168

BCM2835

المعالج

حسب نوع
القطعة

حسب نوع
القطعة

السرعة

2.5 KB

Model A

Model B

256 MB

512 MB

الذاكرة

متوفر حسب
نوع القطعة

متوفر

USB

متوفر حسب
نوع القطعة

متوفر

الصوت

متوفر حسب
نوع القطعة

متوفر

الفيديو

متوفر

متوفر

إضافات أخرى كاميرات، منافذ اضافية، محركات…

*

4. ماذا نقصد بمفتوح المصدر ؟

مخططات تصميم العتاد  Hardware Schema الخاصة بالآردوينو Arduino متاحة للجميع لتحميلها ودراستها لفهم مبدأ عمل القطعة و التعديل عليها و كذلك إمكانية الإستفادة منها تجارياً وهذا وفقاً لبنود اتفاقية Creative Commons.
كذلك الكود المصدري الخاص ببرنامج Arduino مفتوح المصدر ومتوفر بترخيص GPL.

*

5. ماذا يمكن أن نصنع بالأردينو ؟

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

*

هذه بعض المشاريع الجميلة التي أُستعمل فيها Arduino:

Touchless 3D Tracking Interface

هذا مشروع لبيئة ثلاثية الأبعاد يمكنها تحديد موضع أي جسم داخلها لم تكلف سوى لوح Arduino و بعض الأسلاك و الألواح.

*

Robot

 

بإمكان هذا الروبوت الصغير تفادي أي عائق موجود في مساره عن طريق مستشعرات صوتية.

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

*

6. ماذا أحتاج للبدأ مع Arduino ؟

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

ستحتاج إلى أن تتعلم مبادئ البرمجة على Arduino Environment و أيضاً لوح Arduino لتطبيق ما تعلمته.

هذه بعض المصادر التي ستعين القارئ على فهم طريقة التعامل مع Arduino  و مع بيئة التطوير.

  1. كتاب أردينيو للمهندس عبدالله علي, الكتاب منشور تحت الترخيص الحر المفتوح المصدر.
  2. دروس من الموقع الرسمي الخاص بــArduino.
  3. موقع Ladyada .
  4. مشاريع مشروحة خطوة خطوة من موقع Instructable.

*

 7. ما هي حزمة المبتدئين Starter-kit ؟

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

*

  8. ماهو Arduino Integrated Development Environment ؟

IDE

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

*

 9. ما هي لغة البرمجة التي يفهمها الـ Arduino ؟

إذا كنت لا تتقن أي لغة فلا تيأس، ستجد مكتبات ضخمة من المشاريع الجاهزة اما إذا كنت تتقن Java أو C أو Matlab فبإمكانك البرمجة علي Arduino Environment بسهولة، Python أيضاً لغة قوية و سهلة التعلم، بإمكانك تعلمها في مدة قصيرة و البدء في مشروعك.

*

10. كم ثمن القطعة و من أين أحصل عليها ؟

ثمن لوح Arduino يتراوح ما بين 8 دولار إلى 50 دولار حسب نوع القطعة، أما الشراء فهو متوفر في أغلب مواقع بيع القطع الإلكترونية و تذكر يمكنك تحميل Arduino Datasheet و صناعته بنفسك لكن شرائك له سيكون بمثابة دعم وتشجيع لفريق الأردينو من أجل العمل والتطوير أكثر.  

*

11. هل توجد أنواع مختلفة من الآردوينو Arduino ؟

في الحقيقة يوجد أكثر من 40 نوع من ألواح آردوينو Arduino Boards، تختلف في القدرات والشكل والحجم والثمن حتى تتناسب مع جميع الأفكار والتصميمات.

Arduino Uno

ArduinoUno_R3_Front_450px

.

يعد أفضل إختيار للمبتدئين من أجل اكتشاف عالم الآردوينو، بسيط وسهل الإستعمال ويتناسب مع أغلب الإضافات Extensions و الدروع Shields.

*

Arduino Nano

 Arduino nano

تقريباً له نفس قدرات Arduino Uno، حجمه صغير حوالي ثلث Arduino Uno.

.

Arduino Lilypad

 Arduino Lilypad

يتميز بشكله الدائري و هذا ما يجعله مناسب أكثر للمشاريع الفنية رغم أنه يمكن الإستفادة منه كأي لوح آردوينو آخر.

.

Arduino Mega 2560

 2560 Arduino Mega

ما يميزه أنه يملك أكبر ذاكرة بين قطع Arduino الأخرى و عدد أكبر من المداخل و المخارج Input/Output، يعتبر أفضل وأكبر Arduino يمكنك الحصول عليه، وأيضاً الأغلى سعراً بين باقي القطع.

*

12. ما هي Arduino Shields ؟

هي ألواح إلكترونية توصل على Arduino من أجل زيادة قدراته من حيث عدد المخارج I/O أو من أجل وصل قطعتي Arduino معاً أو لإضافة ميزة WiFi، توجد أنواع كثيرة من Shields تناسب جميع قطع Arduino.  

.

Arduino Shields تتمتع أيضاََ بفلسفة Arduino من حيث حرية الإطلاع على المصادر و التعديل عليها و الإستفادة منها مادياً.

*

13. ما هي Extensions ؟

هي القطع اﻹضافية مثل شاشات LCD و المحركات Motors و أضواء LED  والمقاومات Resistance وما إلى ذلك من القطع الإلكترونية التي يحتاجها المشروع.

*

 14. أريد بناء لوح آردوينو Arduino خاص بي، ماذا أحتاج ؟

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

*

15. قمت ببناء لوح Arduino، هل يمكن الحصول على مساعدة في التصنيع و التوزيع ؟

طبعاً، إذا قمت بتصميم لوح  يقدم الإضافة لمجتمع Arduino فستتحصل على كل الدعم في عملية التصنيع و التوزيع.

*

16.هل بامكاني الاستفادة من Arduino تجارياً ؟

بما أن Arduino خاضع لإتفاقية Creative commons فبإمكانك الإستفادة من مشاريعك مادياً مع شرط خضوعها لبنود نفس الإتفاقية وفي الواقع الكثير من رواد الأعمال في مجال الإلكترونيات التفاعلية صاروا يعتمدون على Arduino في بناء مشاريع ربحية فمثلا مشروع  Flutter و هو هوائي بسيط مبني على Arduino بإمكانه زيادة مدى WiFi إلى واحد كيلومتر تجاوزت التبرعات له في موقع Kickstarter المئة ألف دولار و هو الآن متوفر كقطعة تجارية ونفس الشيء لمشروع TinyDuino  أو Pixy  والكثير غيرها من المشاريع الناجحة التي تلهم أصحاب الخيال الخصب و الإرادة القوية لبدأ مشاريعهم الخاصة.

*

17. كيف أشغل  Arduino IDE على بيئة  Linux ؟

حزم Arduino متوفرة لجميع توزيعات اللينكس فمثلاً إذا كنت تعمل على توزيعة Ubuntu 12.04 وما بعدها فما عليك سوى تثبيت برنامج Arduino وستجده في مركز البرامج أما إذا كانت توزيعتك أقدم فستحتاج إلى إضافة بعض الحزم Packages المعتمدة من مدير حزم Ubuntu ثم تثبيت البرنامج بسهولة.

*

 18.هل بالإمكان استخدام بيئات تطويرية IDEs مختلفة ؟

طبعاً بالإمكان عمل Compile لأي برنامج Arduino من منصات أخرى مثل Makefiles أو AVRStudio وستحتاج إلى إضافة بعض الملفات إلى مكتبة آردوينو Arduino Library.

*

19. ما هي مكتبة آردوينو Arduino Library ؟

هي مجموعة ضخمة من الأكواد البرمجية Codes الجاهزة التي ستحتاجها من أجل بناء مشاريعك أو التي ستحتاجها قطعة Arduino لتعريفات بنية العتاد Hardware.

*

 20. هل توجد مشاريع عربية مبنية على Arduino ؟

توجد مشاريع قليلة جداً وبسيطة ومعظمها تقليد لمشاريع أجنبية.