الرئيسية - مساحة المقالات - علوم الحاسب - تعرف على الأردوينو

تعرف على الأردوينو

“آردوينو Arduino”…ربما الاسم الأكثر شهرةً وتكراراً الآن في عالم المطورين وهواة التقنية حول العالم، وأي شخص قريب من المجالات الهندسية والتقنية، سيكون قد سمع بهذا الاسم مرة واحدة على الأقل.

عبر هذا المقال، سنستعرض المفاهيم التالية، والتي ستساعدكم على التعرف على الأردوينو:

1- مقدمة: مفهوم الأردوينو
2- لوحة الأردوينو
3- برمجة الأردوينو
4- توسيعات الأردوينو Arduino Shields
5- مصادر تعليمية

720px-Arduino_Logo.svg

شعار الأردوينو

مقدمة: مفهوم الأردوينو Adruino Concept

ببساطة، وإذا كنت تريد التحكم بإضاءة مجموعة من الثنائيات المصدر للضوء LEDs، أو تريد التحكم بمحرك وسرعة دورانه، أو تريد أن تقرأ قيمة خرج حساس وتظهرها على شاشة كي تتأكد من فعالية الحساس، أو إذا كنت ببساطة تريد أن تتعلم مبادئ التحكم والتصميم البرمجي والإلكتروني، فإن الأردوينو بلا شك ستكون من خياراتك المفضلة.

يمكن النظر للأردوينو من عدة زوايا، وكلها صحيحة:

فمن ناحية، هي عبارة عن متحكم منطقي قابل للبرمجة PLD: Programmable Logic Controller، بحيث يستطيع المستخدم أن يبرمج اللوحة من أجل تنفيذ وظيفة أو مهمة ما.

من ناحيةٍ أخرى، الأردوينو عبارة عن نظام مفتوح المصدر Open-Source System، وذلك بشقيه العتادي Hardware والبرمجي Software، حيث تتوافر كافة التصميمات المتعلقة بلوحات الأردوينو بشكلٍ مجاني، بحيث يمكن تعديلها وتطويرها من قبل المطورين حول العالم، كما أن بيئة البرمجة الخاصة بها مجانية ومفتوحة المصدر، ويمكن تحسينها وإضافة توسيعات لها من قبل المبرمجين أيضاً حول العالم.

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

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

ما هي الأردوينو-عالم الإلكترون

بدأت قصة الأردوينو مع مجموعة من الطلاب في معهد التصميم التفاعلي في مدينة ايفيرا بإيطاليا عام 2005. هدفهم الأساسي كان تصميم لوحة إلكترونية متعددة المهام، ومفتوحة المصدر. استخدم الطلاب متحكم BASIC Stamp من أجل تنفيذ مشروعهم، وكلفتهم اللوحة الأولية ما يقارب 100 دولار أمريكي. تم اعتبار التصميم الأولي مكلفاً للغاية، وتم العمل من أجل تطوير اللوحة. تم تقديم المشروع وتفصيله ضمن أطروحةٍ خاصة، مع كافة التفاصيل المتعلقة بالتوصيل اللازم لها. عمل الفريق الأولي على تطوير اللوحة وجعلها أخف وأقل كلفة، حتى تمكنوا من إنتاج لوحة الأردوينو التي نعرفها اليوم. واليوم، ينظر إلى كل من: ماسيمو بانزي Massimo Banzi، دايفيد كورتيليوس David Caurtielles، توم ايغو Tom Igoe، جيانلوكا مارتينو Gianluca Martino، ودايفيد ميلليس David Mellis، على أنهم نواة الفريق الأساسي الذي شكل مشروع “الأردوينو”.

الجدير بالذكر، أن اسم “الأردوينو” يعود لبار في مدينة ايفيرا بإيطاليا، وقد اتفق المؤسسون على تسمية المشروع باسم هذا البار، لأنهم اعتادوا اللقاء  والاجتماع فيه من أجل تطوير مشروعهم!

الآن، يمكننا البدء بالحديث عن بعض التفاصيل، ومن لوحة الأردوينو ومكوناتها سنبدأ.

لوحة الأردوينو Arduino Bord

لوحة الأردوينو عبارة عن نظام حاسوبي صغير ومتكامل. والمقصود بـ “نظام حاسوبي” أنه يتضمن داخله نواةً أساسية هي “المتحكم الصغري Microcontroller” حيث تقوم هذه النواة بأداء الوظائف الحاسوبية، من استقبال المعطيات والبيانات، ومعالجتها، وإصدار الأوامر اللازمة لعمل الأجزاء والقطع الأخرى المرتبطة بهذا النظام.

تنويه بسيط: المتحكمات الصغرية تختلف عن المعالجات الصغرية Microprocessors، ولتوضيح الفرق ننصح بقراءة المقالين التاليين:
1- كيف تعمل الأشياء: المعالجات الصغرية
2- ما هو الفرق بين المتحكمات والمعالجات الصغرية

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

تعتمد معظم لوحات الأردوينو على متحكماتٍ صغرية بدقة 8-بت، وهي من عائلة Atmel AVR، كما أن بعض اللوحات تعتمد على متحكمات بدقة 32-بت من عائلة Atmel ARM. هنالك فرق أكيد وكبير بين اللوحات التي تعتمد على متحكمات بدقة 8-بت وبين اللوحات التي تعتمد على متحكمات بدقة 32-بت، والأمر يعود هنا للمستخدم نفسه، من حيث حاجته للوحة وطبيعة المشاريع التي سيقوم بتنفيذها عبرها. أهم المتحكمات الصغرية التي يتم استخدامها في لوحات الأردوينو هي متحكمات Atmega8 و Atmega168 و Atmega328.

إلى جانب المتحكم الصغري (الوحدة الأساسية في لوحة الأردوينو) فإننا نميز أيضاً على اللوحة مأخذ الطاقة الكهربائية اللازم لتشغيل اللوحة، حيث تعمل لوحات الأردوينو عند جهد تغذية معياري هو 5 فولط.

يجب أن تتضمن لوحة الأردوينو وسيلةً للتواصل مع الحاسب كي يتم تحميل البرامج على المتحكم الصغري الخاص باللوحة. أكثر وسائل التواصل استخداماً وأشهرها هي منفذ الـ USB الذي يربط لوحة الأردوينو مباشرةً بالحاسب. بعض لوحات الأردوينو تتضمن منفذ الاتصال التسلسلي RS-232.

أخيراً، تتضمن لوحة الأردوينو نوعين من الأرجل Pins التي سيستخدمها المطورون في مشاريعهم: أرجل الدخل والخرج الرقمي Digital Pins، وهي تكون أرجل من إدخال وإخراج البيانات والمعطيات الرقمية من وإلى اللوحة. عدد هذه الأرجل يختلف من لوحةٍ إلى أخرى، وفي لوحة الأردوينو اونو Arduino UNO يبلغ عدد هذه الأرجل 14 رجل. النوع الثاني من الأرجل هو المداخل التماثلية (التشابهية) Analog Pins، وهي الأرجل المسؤولة عن قراءة البيانات التماثلية وإدخالها إلى المتحكم الصغري الخاص بلوحة الأردوينو، من أجل عمليات المعالجة اللاحقة.

تتضمن لوحات الأردوينو عناصر أخرى مثل الكريستالة المسؤولة عن تزويد المتحكم بنبضات ساعة العمل الخاصة به، بالإضافة لمكثفات ومنظمات جهد للمحافظة على قيمةٍ ثابتة ومحددة للجهد والتيار الكهربائي التي تعمل عندها معظم عناصر لوحة الأردوينو، إلا أنه لايوجد داعي للخوض بتفاصيل هذه العناصر، كونها ليست أولوية أساسية بالنسبة لأي مطور يريد استغلال لوحات الأردوينو في مشاريعه التقنية.

إذاً، وكخلاصة، يمكن القول أن أي لوحة أردوينو يجب أن تتضمن:

  1. المتحكم الصغري المركزي الخاص باللوحة
  2. المداخل والمخارج الرقمية Digital Pins – in and out
  3. المداخل التماثلية Analog Pins
  4. مأخذ الطاقة الكهربائية Power Connector
  5. مأخذ الاتصال مع الحاسب وبرمجة اللوحة
مكونات-الأردوينو-عالم-الإلكترون

المكونات الأساسية للوحة أردوينو UNO

ليس عليكم القلق فيما يتعلق بلوحات الأردوينو وتفاصيل أرجل العناصر المتوضعة عليها، فمنظمة الأردوينو توفر الشرح الكامل لكافة العناصر المتوضعة على أي لوح من ألواح الأردوينو، وذلك كي يكون المصممين والمطورين على درايةٍ كاملة بكافة تفاصيل اللوحة التي سيستخدموها. المثال التالي هو لتفاصيل كافة أرجل لوحة أردوينو UNO وكافة المعلومات المتعلقة بتوصيل العناصر والقطع الإلكترونية على اللوحة:

Arduino-Pinout

فيما يتعلق بلوحات الأردوينو نفسها، فإنه يجدر بنا الذكر أنه يمكن لأي مطور حول العالم أن يقوم بتركيب لوحة الأردوينو بنفسه! فلوحات الأردوينو أحد المصادر العتادية مفتوحة المصدر Open-Hardware، وبالتالي فإن المخططات الأساسية للعناصر والتوصيلات فيما بينها متاحة لأي شخص، ويستطيع أي مطور حول العالم أن يقوم بتركيب لوحة الأردوينو التي يريدها بنفسه، طالما أن القطع الأساسية التي يحتاجها متوافرة.

برمجة الأردوينو Arduino Programming

ما هي قيمة لوحة الأردوينو ومكوناتها، إن لم تكن قادرة على تنفيذ أمر مفيد وفعال؟ إذاً، لا بد أن تتم برمجة هذه اللوحة، وتحميل برنامج يقوم بتوجيه المتحكم الصغري وكافة الأجزاء والعناصر المتصلة بلوحة الأردوينو كي تقوم بتنفيذ الوظيفة التي يريدها المستخدم والمطور. هذا فعلياً هو جوهر الهدف من لوحة الأردوينو، أي جعلها متاحةً لأي مبرمج كي يكون قادراً على كتابة البرامج وتنصيبها على اللوحة، كي يتم تنفيذ وظيفة مفيدة بمجالٍ ما.

كي يتم برمجة لوحة الأردوينو، تم تخصيص بيئة تطوير متكاملة IDE خاصة بها، حيث تم تطوير البيئة اعتماداً على لغة جافا Java كي تكون بيئةً برمجية تدعم لغتي C و ++C. تدعى بيئة البرمجة الخاصة بلوحات الأردوينو بلغة Arduino C. بيئة Arduino C عبارة عن بيئةٍ مجانية، مفتوحة المصدر Open-Source، وتتضمن العديد من المكاتب الفعالة التي قد يحتاجها المطور أثناء عمله، وفضلاً عن ذلك، تتمتع بعددٍ كبير من المطورين المشتركين بمجتمع الأردوينو، والذين يقومون بشكلٍ دوري بإضافة المشاريع والتطبيقات، بحيث تكون متاحة بشكلٍ مجاني وكامل لأي شخص يريد أن يقوم بتطبيق برنامج أو مشروع تقني ما باستخدام لوحة الأردوينو.

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

توسيعات الأردوينو Arduino Shields

الآن لنفرض أننا نريد القيام بتنفيذ مشروع ما، ونريد أن نقوم بتنفيذه عبر الأردوينو، وليكن هذا المشروع عبارة عن قراءة قيمة خرج حساس، وإظهار النتيجة على شاشة من نمط LCD. نقوم بتجميع القطع اللازمة: مصدر تغذية كهربائية للوحة الأردوينو وللشاشة، الحساس وما يتطلبه من مقاومات وعناصر أخرى، وأخيراً شاشة الـ LCD نفسها. علينا الآن أن نقوم بتوصيل هذه القطع مع بعضها البعض، والتأكد من توصيلها بشكلٍ صحيح، ومن ثم تنصيب البرنامج، وكل شيء سيكون جاهز للعمل.

لو قمنا بإعادة النظر في المشروع، لوجدنا مثلاً أن شاشة الـ LCD هي أحد القطع الإلكترونية الهامة التي قد نستخدمها في العديد من المشاريع التطبيقية والعملية، وبالتالي وبدلاً من توصيل الشاشة في كل مرة، يمكننا أن نقوم بتصميم دارة خاصة بالشاشة، يمكن تعريفها على لوحة الأردوينو، بحيث تضيف هذه الدارة ميزة إضافية للأردوينو، وهي ميزة الإظهار. دارة الإظهار باستخدام شاشة الـ LCD هي ما يعرف بـ “توسيعة Shield”.

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

هنالك العديد من التوسيعات الخاصة بلوحات الأردوينو، وهي تتضمن توسيعات لشاشات الـ LCD، أو مدخل إيثرنت، أو توسيعة نظام تموضع GPS، أو توسيعة تحكم بمحركات، والقائمة تطول. يمكن الاطلاع على قائمة الأجهزة والدارات الإلكترونية المتوافقة مع لوحات الأردوينو، بالإضافة للتوسيعات الهامة والشهيرة، من خلال موقع الأردوينو الرسمي: اضغط هنا.

مصادر تعليمية مجانية

إذاً، وبعد قرائتك لهذا المقال البسيط والمختصر حول لوحة الأردوينو، هل أعجبتك هذه اللوحة الجميلة والبسيطة؟ هل تود أن تبدأ بتعلم كيفية تنفيذ المشاريع عبرها؟ بالبداية، وقبل أي شيء، عليك أن تقوم باقتناء أحد لوحات الأردوينو، وهي عادةً ما تكون بسعر يقارب 25 دولار أمريكي، أو ما يعادله في البلد الذي تعيش فيه. ثانياً، وبعد أن تقتني اللوحة، عليك أن تقوم بتنصيب البيئة البرمجية الخاصة بلوحة الأردوينو كي تكون قادراً على كتابة البرامج اللازمة لتنفيذ المشاريع المتنوعة التي قد تخطر على بالك. أو، إذا لم تكن تعرف أي شيء وتريد البدء من الصفر، فعليك أن تقوم بالذهاب لأحد المصادر التعليمية المجانية، وهو ما سنقوم عرضه فيما يلي:

1- تعلم مبادئ الأردوينو من الموقع الرسمي

2- (10) مواقع تعليمية مجانية لتعلم وإتقان الأردوينو

3- موقع Ladyada الذي يقدم سلسلة متكاملة من الصفر لتعلم الأردوينو

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

عن Mario Rahal

Mario Rahal
مهندس طبي ومدون تقني. مدير موقع عالم الإلكترون.

تعليق واحد

اضف رد

لن يتم نشر البريد الإلكتروني . الحقول المطلوبة مشار لها بـ *

*

x

‎قد يُعجبك أيضاً

الحاسوب الصيني “Tianhe-2” لا يزال أقوى حاسوب في العالم

صدر في شهر تشرين الثاني/نوفمبر من العام الحالي التقرير نصف السنوي، والشهير بتصنيف “Top500” والمختص ...