اذا كنت من المهووسين بالإلكترونيات, واردت بناء مشروع او جهاز خاص بك, فاعتقد انك قد قرأت او سمعت عن جهاز يسمى Arduino أو Raspberry Pi, ولكن ماهو هذا الجهاز؟ قبل ان اجيب على هذا السؤال, دعني اخبرك اولا ماهو الـ Microcontroller.
ماهو الـ Microcontroller ؟
المايكروكنترولر هو عبارة عن قطعة تشبه الـ IC, ولكن ما يمزه هو انه يستقبل مدخلات ويمكن برمجته ومن ثم بناء على برمجته يخرج مخرجات, وقد يتبادر الى ذهنك هل الـ Microcontroller هو نفسه الـ Micro- Processor ؟ الجواب بالتأكيد لا, يوجد بعض الفروقات بينهم, من بينها الـ Micro- Processor لكي يعمل يجب ان يضاف له بعض الاضافات اي انه لا يمكن ان يعمل لوحده, على سبيل المثال يجب ان يضاف له ذاكرة Memory, على خلاف الـ Microcontroller فهو يأتي بشكل كامل ,يحتوي على Rom and Ram وجميع الاضافات الازمة لكي يقوم بوظيفته فـ Microcontroller ماهو الا كمبيوتر مصغر.
ماهو Arduino؟
الاردوينو هو كمبيوتر مصغر يمكنه التفاعل والتحكم في الوسط المحيط به, الاردوينو يحتوي على Microcontroller وايضا على منصةPlatform تسهل لك برمجته والتحكم به, من الامور التي تجعل الاردوينوقوي ومنافس لاقرانه من الاجهزة, هو امكانيته على التواصل مع مختلف القطع الالكترونية مثل المحركات او الحساسات, اي يمكن من خلال جهاز الاردوينوقراءة درجة الحرارة, الرطوبة, شدة الاضاءة او قوة الصوت, الحساسات تعتبر كمدخلات للاردوينوو سيقوم الـ Microcontroller بعمل بعض العمليات عليها بناء على البرمجة الموجودة به, من ثم باستطاعته اخراج بعض المخرجات سواء كانت تعرض على الشاشة او ان يرسلها الى محركات او مصابيح, وهذا هو مايميز الاردوينو.
لماذا Arduino؟
بعد ان عرفت بالضبط ماهو الاردوينو قد تتسأل لماذا استخدمه ولا استخدم اي بديل أخر مثل الـ Raspberry Pi أو Basic Stamp ؟ مايميز الاردوينو بعض الامور قد تجعله متفوق على البقية منها:
السهولة: الـ Arduinoجدا سهل, مصمم ليناسب الجميع سواء كنت مبتدء او محترف في هذا المجال.
المصادر: يوجد مقالات ومواقع متخصصة في هذه القطعة, بل انها تشرح كل مكون من مكوناته وايضا تقدم مشاريع يمكن تنفيذها بشكل جدا مبسط.
الثمن: يوجد عدة انواع من هذه القطعة ولكن الاكثر شيوعا Arduino uno لايتجاوز سعرها الرسمي: 30$
المنصات: البرنامج الرسمي للقطعة يدعم مختلف المنصات سواء كنت تعمل على الـ Windows, Mac or Linux.
البرمجة: اللغة المستخدمة في برمجة Arduinoهي لغة C++ سهلة التعلم .
الانواع: يوجد عدة انواع من Arduinoكل نوع منها له امكانيات وخصائص تختلف عن النوع الاخر, صممت لتناسب جميع المشاريع من بينها Arduino UNO, Arduino Mega, Arduino Micro and Arduino Mini وغيرها الكثير.
ماهو Raspberry Pi ؟
رازبيري باي هو جهاز كمبيوتر صغير ,يحتوي على معالج ومعالج رسوميات وذاكرة, يمكن ان يؤدي جميع وضائف الكمبيوتر, فمن خلاله يمكنك تصفح المواقع او ان تقوم بتحرير النصوص او حتى تستطيع تشغيل الالعاب عليه! يوجد منه عدة اصدارات A, Band B-Plus واخر اصدار له “حتى وقت كتابة المقالة هذه” هو اصدار Raspberry Pi 2.
ما الفرق بين ِArduino vs Raspberry Pi ؟
البرمجة: نوعا ما تعتبر البرمجة على Arduino اسهل بكثير من ناحية التعلم والتطبيق, فاللغة المستخدمة هنا هي C++ او Python, بينما في Raspberry Pi نوعا ما الموضوع اصعب.
الثمن: تعتبر الـ Arduino ارخص ثمناَ من لوحة Raspberry Pi.
نظام التشغيل: مايميز Raspberry Piهو انها تعمل بنظام لينكس, والجميل ايضا انه في اخر اصدار Raspberry Pi 2 اصبح بالامكان تشغيل نظام windows 10 او Ubuntu على القطعة, هذا كله بفضل المعالج والرام الموجود به, اما الـ Arduino فان نظام التشغيل مدمج, يعتمد على برمجتك له.
المعالج: اذا قارنا اقوى لوح موجود Arduino Due مع اخر اصدار من الـ Raspberry Pi 2 فانه لايوجد اي مقارنه ابدا, لوح Arduino يحمل معالج 84Mhz بينما الـ Raspberry Pi 2 يحمل معالج ARM Cortex-A7 900MHz ولك ان تتخيل الفرق بينهم.
الرام: ايضا لايوجد مقارنه بينهم الـ Raspberry Pi 2 يتفوق بشكل كبير على Arduino Due.
الذاكرة التخزينية: جميع الواح Raspberry Piلاتملك ذاكرة تخزينيه مدمجه, بل يجب ان تقوم بشراء ذاكرة SD خارجية, بينما Arduino يحمل ذاكرة تخزينيه بسيطة لاتتعدا 512 kbb لتخزين برمجتك عليها.
الملحقات: لتشغيل لوحة Raspberry Pi فانت بحاجة الى شاشة ولوحة مفاتيح وفأرة وايضا الى ذاكرة SD لتثبيت النظام عليها وقطعة wifi او انت تستخدم كرت الشبكة المدمج معاها, بينما الـ Arduino لاتحتاج سوا الى ان توصلها بالدائرة الالكترونية التي قمت بتصمميها.
كما انه يوجد بعض الفروقات بين الاثنين, فعلى سبيل المثال بعض الحساسات مثل حساسة درجة الحرارة ترسل البيانات على شكل Analog فاذا اردنا قراءة هذه البيانات يمكننا ذلك بشكل جدا سهل على الـ Arduino لانه يدعم Analog inputبينما اذا اردنا تنفيذ نفس المشروع على الـ Raspberry Piفانه يلزمنا استخدام بعض القطع الخارجية لكي نجعل اللوح Raspberry Piيدعم قراءة Analog input.
وايضا من الفروقات من ناحية السهولة, فان Arduino اسهل بكثير في بناء المشاريع , لنفرض مثلا اذا اردنا كتابة برنامج للتعامل مع الـ LED نقوم بكتابه الكود بشكل سريع ونرفعه على الـ Arduino , بينما في حالة لو كان المشروع على لوح Raspberry Pi فانه يلزم في البداية ان تقوم بتنصيب النظام وتثبيت بعض المكتبات.
من الفروقات المهمة ايضا هو ان الـ Raspberry Piتدعم multitask processes بمعنى يمكنك تشغيل اكثر من برنامج في نفس الوقت, على سبيل المثال يمكنك تشغيل print server and a VPN serverفي نفس الوقت, بينما Arduino لا يمكنك سوا تشغيل برنامج واحد فمعالجه single process.
الخلاصة, ايهم استخدم؟
لكي اريحك من عناء التفكير, اذا كان مشروعك يعتمد بشكل كبير على الهاردوير وتحتاج الى استخدام بعض المحركات والحساسات فاستخدم الـ Arduino, بينما اذا كان مشروعك يعتمد على النظام بشكل اكبر وتحتاج الى استخدام اكثر من برنامج في نفس الوقت, اذا استخدم الـ Raspberry Pi.