شغف العلم الذي لا ينتهي

ما هو الأردوينو وفيما يستخدم ؟

 ما هو الأردوينو وفيما يستخدم ؟

ما هو الاردوينو وفيما يستخدم ؟


بقلم : إيلاف صلاح موسي

مراجعة : مجدي عياد 


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

ظهرت فكرة جهاز الآردوينو عام 2005م في مدينة إيفريا الإيطالية، حيث أطلق ماسيمو بانزى بالتعاون مع دايفيد كوارتيليس وجاينلوكا مارتينو بإطلاق مشروع "أردوين إيفريا" (Arduin of Ivrea) وسُمّيّ المشروع باسم أشهر شخصية تاريخية في المدينة. كان الهدف الأساسي للمشروع هو عمل بيئة تطوير للمتحكمات دقيقه بصوره مفتوحه المصدر وتضمن هذا المشروع عمل بيئة تطوير برمجيه للمتحكمات الدقيقة Integrated Development Environment وتكون مجانيه في ذات الوقت كما تضمن عمل لوحات تطوير Development Boards صغيره الحجم بتكلفه بسيطه تبلغ حاليًا قرابة 27 دولار ليتمكن الطلاب والهواة التقنين تحمل سعرها.

فيما يستخدم الأردوينو؟

يُستخدم الآردوينو بصورة أساسية في تصميم المشاريع الإلكترونية التفاعلية أو المشاريع التي تستهدف بناء حساسات بيئية مختلفة كدرجات الحرارة، الرياح، الضوء والضغط وغيرها. 

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

يمكننا إذا تعريف الأدروينو بأنه وسيلة لربط ما يعرف بالـ(Software) أو لغة البرمجة بالـ(hardware) أو نتيجة ملموسة على أرض الواقع.

تكتب الأوامر المراد تنفيذها باستخدام لغة برمجة خاصة بالأردوينو ومبسطه عن لغة ال C++ ويتم توصيل جهاز الكمبيوتر عن طريق وصلة بقطعة الأردوينو.

معظم لوحات الاردوينو لديها هذه المكونات المشتركة:
  • كل لوحة Arduino تحتاج إلى وسيلة للاتصال بمصدر الطاقة.
  • يمكن تشغيل Arduino UNO من كابل USB قادم من جهاز الكمبيوتر أو عبر منفذ Barrel Jack.
  • أيضا فإن تحميل التعليمات البرمجية على لوحة Arduino يتم عبر منفذ usb.
  • ويتراوح الجهد الموصى به لمعظم طرازات Arduino بين 6 و12 فولت.
و تتكون لوحة الأردوينو من دوائر الكترونية صغيرة ومدمجة وحدة معالجة (Micro Controller) مسؤولة عن استقبال كود البرمجة وتنفيذه وتحتوي قطعة الأردوينو أيضا على أطراف تعمل كمدخلات ومخرجات لتوصيل بعض المكونات الخاريجة حيث يتم من خلالها توصيل الأسلاك لإنشاء دارة معينة وعادةً ما تحتوي على "رؤوس" بلاستيكية سوداء تسمح بتوصيل السلك مباشرة باللوحة.

GND اختصار الـ "Ground"
 :
هناك العديد منها على لوحة الأردوينوويمكنك استخدام أي منها لتوصيل مع الدارة.

5V & 3.3V:
يوفر الأول مصدر جهد 5 فولت والثاني مصدر جهد 3.3 فولت.

Analog: 
عبارة عن منافذ يتم استخدامها لإدخال إشارة تماثلية للاردوينو.

Digital:
هذه الأطراف عبارة عن منافذ رقمية تستخدم في حالة إدخال أو إخراج اشارة رقمية من وإلى لوحة الاردوينو
وعددها 14 pins مرقمة من الـ (0، 1، 2، 3، 4، 5، 6، 7، 8، 9، 10، 11، 12).

PWM:
وهي عبارة عن أطراف تستخدم لإخراج اشارة تماثلية وتوجد بشكل مميز على لوحة الاردوينو
ومرسوم أمامها رمز (~) ويمكن استخدامها أيضًا في شيء يسمى تعديل عرض النبض (PWM).

AREF:
تستخدم في وضع "Analog Reference" ويستخدم هذا الوضع لتعيين جهد مرجعي "Reference Voltage" خارجي

كيف تبني روبوت متجنب للعوائق (Obstacles avoiding robot):

الهدف: وضع منهج عمل يضمن مرور الروبوت بسلاسة في أي بيئة مجهولة.

التطبيقات: يُستخدم في البيئات الخطرة التي لا يمكن للإنسان العبور خلالها كمستكشف للألغام، ويستخدم في تطبيقات منزلية كالمكنسة الكهربائية الحديثة.

المكونات :
  • الأردوينو (Arduino uno)
  • جهاز استشعار بالموجات فوق الصوتية (Ultrasonic sensor) يقوم بارسال موجات فوق صوتيه تصطدم بأي عائق في طريقها فترتد ليستقبلها جهاز الإشعار مجددا.
  • محرك له قابلية الدوران 180 درجة (servo-motor) يتم تثبيت جهاز الاستشعار عليه.
  • أربعة محركات تيار مباشر تعمل على تحويل الطاقة الكهربائية إلى طاقة ميكانيكية. نتحكم من خلالها في حركة عجلات الروبوت.
  • دائرة مدمجة (H-Bridge IC) تسمح بالتحكم في حركة محركات التيار المباشر في اتجاه واتجاه عكسي وبالتالي حركة عجلات الروبوت في اتجاهات مختلفة.
  • هيكل خارجي للروبوت على شكل سيارة بأربع عجلات.
  • بطاريات لشحن الأردوينو.
  • بعض الأسلاك للتوصيل ومقاومة صغيرة ومفتاح رئيسي.
التكلفة: ما يعادل 110 يورو كل الأدوات المستخدمة تم طلبها عبر الموقع الرسمي لأردوينو.

التصميم:
 موضح باستخدام تطبيق (fritzing) وهو تطبيق متميز في تبسيط وعرض المشاريع الإلكترونية. الصورة توضح طريقة التوصيل لمحركين فقط للتبسيط وبقية المحركات موصلة على نفس الشاكلة.

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

  • بعد تحديد حد أدنى للمسافة بين الروبوت والعائق بشكل اختياري وتحديد مسافة أكبر قليلا من الحد الأدنى كمسافة تحذيرية. تتم مقارنة بالمسافة المحسوبة سابقا بهذه القيمة المحددة، إذا كانت أكبر يستمر الروبوت بحركته للأمام، وإذا كانت هذه القيمة أقل من المسافة التحذيرية يتحرك الروبوت بسرعة أقل من سرعته الأصلية (في محاكاة لحركة فرامل السيارة في الواقع). 

  • إذا وقعت قيمة المسافة المحسوبة في نطاق أقل من الحد الأدنى يتوقف الروبوت عن حركته كليا.

  • يبدأ المحرك المثبت عليه جهاز الاستشعار بالتحرك 90 درجة نحو اليمين وحساب المسافة لأقرب عائق وبالمثل جهة اليسار، ثم تتم مقارنة القيمتين وتحديد الأكبر فيهما ليتحرك الروبوت في اتجاهها مع الأخذ في الاعتبار كل المقارنات المذكورة سابقا. يستمر الروبوت في حركته في اتجاه الأمام وتكرار ما سبق.

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

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

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

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

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

هناك تعليق واحد:

  1. بارك الله فيكي يا دكتور إيلاف ربنا يزيدك علم نافع وينفع بيكي <3

    ردحذف