1 Liked

ماهو المايكروكنترولر و Arduino & Raspberry Pi ومالفرق بينهم!

اذا كنت من المهتمين في الدوائر الالكترونية, واردت بناء مشروع او جهاز خاص بك, فاعتقد انك قد قرأت او سمعت عن جهاز يسمى Arduino أو Raspberry Pi, ولكن ماهو هذا الجهاز؟ قبل ان اجيب على هذا السؤال, دعني اخبرك اولا ماهو الـ Microcontroller.

ماهو الـ Microcontroller ؟

atmega328p-puالمايكروكنترولر هو عبارة عن قطعة تشبه الـ IC, ولكن ما يمزه هو انه يستقبل مدخلات ويمكن برمجته ومن ثم بناء على برمجته يخرج مخرجات, وقد يتبادر الى ذهنك هل الـ Microcontroller هو نفسه الـ Micro- Processor ؟ الجواب بالتاكيد لا, يوجد بعض الفروقات بينهم, من بينها الـ Micro- Processor لكي يعمل يجب ان يضاف له بعض الاضافات اي انه لايمكن ان يعمل لوحده, على سبيل المثال يجب ان يضاف له ذاكرة Memory, على خلاف الـ Microcontroller فهو يأتي بشكل كامل ,يحتوي على Rom and Ram وجميع الاضافات الازمة لكي يقوم بوظيفته فـ Microcontroller ماهو الا كمبيوتر مصغر.

ماهو Arduino ؟

Arduino_Uno_-_R3

الاردوينو هو كمبيوتر مصغر يمكنه التفاعل والتحكم في الوسط المحيط به, الاردوينويحتوي على Microcontroller وايضا على منصة Platform تسهل لك برمجته والتحكم به, من الامور التي تجعل الاروينو قوي ومنافس لاقرانه من الاجهزة, هو امكانيته على التواصل مع مختلف القطع الالكترونية مثل المحركات او الحساسات, اي يمكن من خلال جهاز الاردوينو قراءة درجة الحرارة, الرطوبة, شدة الاضاءة او قوة الصوت, الحساسات تعتبر كمدخلات للاردوينووسيقوم الـ Microcontroller بعمل بعض العمليات عليها بناء على البرمجة الموجودة به, من ثم باستطاعته اخراج بعض المخرجات سواء كانت تعرض على الشاشة او ان يرسلها الى محركات او مصابيح, وهذا هو مايميز الاردوينو.

لماذا Arduino ؟

بعد ان عرفت بالضبط ماهو الاردوينو قد تتسأل لماذا استخدمه ولا استخدم اي بديل أخر مثل الـ Raspberry Pi أو Basic Stamp ؟ مايميز الاردوينو بعض الامور قد تجعله متفوق على البقية منها:

  • السهولة: الـ Arduino جدا سهل, مصمم ليناسب الجميع سواء كنت مبتدء او محترف في هذا المجال.
  • المصادر: يوجد مقالات ومواقع متخصصة في هذه القطعة, بل انها تشرح كل مكون من مكوناته وايضا تقدم مشاريع يمكن تنفيذها بشكل جدا مبسط.
  • الثمن: يوجد عدة انواع من هذه القطعة ولكن الاكثر شيوعا Arduino uno لايتجاوز سعرها الرسمي: 30$
  • المنصات: البرنامج الرسمي للقطعة يدعم مختلف المنصات سواء كنت تعمل على الـ Windows, Mac or Linux.
  • البرمجة: اللغة المستخدمة في برمجة Arduino هي لغة C++ سهلة التعلم .
  • الانواع: يوجد عدة انواع من Arduino كل نوع منها له امكانيات وخصائص تختلف عن النوع الاخر, صممت لتناسب جميع المشاريع من بينها Arduino UNOArduino MegaArduino Micro and Arduino Mini وغيرها الكثير.

من أين يمكنني الحصول على Arduino ؟

تستطيع الحصول على اي نوع من الاردوينو الرسمية عن طريق الموقع الرسمي لهم, او اذا اردت الواح معدلة او الحصول عليها بشكل ارخص, تجدها في Ebay, ولكن يجب عليك ان تحذر من نقطة مهمة, بعض الواح الاردوينو التي تباع من الصين قد تكون غير اصلية, هذا لايعني انها سيئة ولكن جودتها اقل من الرسمية.

ماهي المشاريع التي يمكن تنفيذها على Arduino؟

يمكنك تنفيذ الكثيرمن المشاريع على الاردوينو من الامثله, جهاز لقياس درجة حرارة الغرفة, جهاز تحكم بالمنزل وتحويله الى منزل ذكي, كما يمكنك ايضا تنفيذ بعض الالعاب مثل لعبة Simon Says, تستطيع العثور على العديد من المشاريع مفتوحة المصدر في الموقع الرسمي, او يمكنك تنفيذ بعض المشاريع التي قمت بتنفيذه وشرحها في المدونة.

ماهو Raspberry Pi  ؟

Pi2ModB1GB_-comp

رازبيري باي هو جهاز كمبيوتر صغير,يحتوي على معالج ومعالج رسوميات وذاكرة, يمكن ان يؤدي جميع وضائف الكمبيوتر, فمن خلاله يمكنك تصفح المواقع او ان تقوم بتحرير النصوص او حتى تستطيع تشغيل الالعاب عليه! يوجد منه عدة اصدارات A, B and B-Plus واخر اصدار له “حتى وقت كتابة المقالة هذه” هو اصدار Raspberry Pi 2.

 كيف هو اداء Raspberry Pi ؟

اذا تحدثنا عن الاصدار الاخير  Raspberry Pi 2 فان اللوحة تحمل معالج ARM Cortex-A7 بسرعة 900MHZ وايضا ذاكرة عشوائية 1GB SDRAM, بالمواصفات هذه يمكنك ان تقوم بتنصيب نظام Windows 10 او احد توزيعات لينكس مثل Ubuntu or Fedora, المقطعين بالاسفل توضح اداء المعالج وايضا المعالج الرسومي٫

[embedplusvideo height=”339″ width=”550″ editlink=”http://bit.ly/1yQ59sz” standard=”http://www.youtube.com/v/f3vCVfxl0MA?fs=1″ vars=”ytid=f3vCVfxl0MA&width=550&height=339&start=&stop=&rs=w&hd=0&autoplay=0&react=1&chapters=&notes=” id=”ep6876″ /]

[embedplusvideo height=”339″ width=”550″ editlink=”http://bit.ly/1vSddOC” standard=”http://www.youtube.com/v/rAfyAwD3hhE?fs=1″ vars=”ytid=rAfyAwD3hhE&width=550&height=339&start=&stop=&rs=w&hd=0&autoplay=0&react=1&chapters=&notes=” id=”ep5212″ /]

ما الفرق بين ِ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 kb لتخزين برمجتك عليها.
  • الملحقات: لتشغيل لوحة 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.

10 Comments

  • عبد الرحمن

    February 17, 02 2015 05:44:08

    شكرا على هذا المقال..

    ممكن توضح الفرق بين PIC Controller و Arduino؟
    وكذلك AVR؟

    شكرا

    • Abdullah Alhazmy

      February 18, 02 2015 03:59:04

      PIC Controller نوعا ما هو مايكروكنترولر اذا احتجت استخدامه في مشروعك يجب عليك بناء الدائرة الالكترونية بشكل كامل من ترانزستور وكابستر وغيرها.
      اما الـ Arduino فهي دائرة او لوحة شبه كاملة, فقط برمجها واوصل له الحساسات والمحركات المطلوبة.

  • Youssef Idrees

    February 18, 02 2015 03:55:51

    اشكرك على الموضوع الجميل
    حبيت اسال هل بالامكان تنصيب نظام اندرويد على Raspberry Pi؟
    ممكن السؤال غريب شوي لكن جا في بالي وانا اقرا الموضوع
    D:

    • alhazmy13

      February 18, 02 2015 03:36:23

      مايميز الـ Raspberry Pi هو انه يمكن تنصيب اي نظام تشغيل, ونعم بعض التجارب والمحاولات استطاعوا تثبيت اندرويد 4.0 على اللوح هذا, للمزيد راجع الرابط هذا:
      http://www.raspberrypi.org/android-4-0-is-coming/

  • عبدالكريم الحربي

    February 18, 02 2015 09:28:13

    مشكور يا أخ عبدالله على الشرح ,, حبيت اضيف شغلة ان الـ Arduino بإمكانك برمجته بإستخدام الـ JavaScript وربطه بالإنترنت
    http://bocoup.com/weblog/javascript-arduino-programming-with-nodejs/

    • alhazmy13

      February 18, 02 2015 03:32:25

      معلومة جميلة, شكرا لك أخوي عبدالكريم

  • albachiry

    February 10, 02 2016 08:19:12

    شكرا على المعلومات الرئعة .
    هل raspberry pi أيضا مفتوح المصدر ?

Leave a Reply