مرحبًا بك عزيزنا الزائر لمدونة وادي التكنولوجيا | بالعربية، الآن يُمكن القول أن مصطلح الأردوينو Arduino أصبح أحد أكثر المصطلحات شهرةً وتداولاً في أوساط هواة الإليكترونيات والمتحمسين وحتى المطورين المحترفين، وأي شخص قريب من المجالات الهندسية والتقنية، سيكون قد سمع بهذا الاسم مرة واحدة على الأقل.
ببساطة، إذا كنت تريد التحكم بإضاءة مجموعة من ثنائيات المصدر للضوء LEDs، أو تريد التحكم بمحرك وسرعة دورانه، أو تريد أن تقرأ قيمة خرج مستشعر وتظهرها على شاشة كي تتأكد من فعالية المستشعر، أو إذا كنت ببساطة تريد أن تتعلم مبادئ التحكم والتصميم البرمجي والإلكتروني، فإن الأردوينو بلا شك هي أحد خياراتك المفضلة.
لذلك، من خلال هذه المقالة سوف نستعرض المفاهيم الأساسية المتعلقة بلوحة الأردوينو، من حيث مكوناتها وكيفية برمجتها وتوسيعاتها.
هيا بنا نتعرف على هذه اللوحة المثيرة للاهتمام.
ما هو الأردوينو | Arduino
يمكن تعريف الأردوينو بعدة تعريفات كلها صحيحة، وهي كالتالي:
- الأردوينو عبارة عن: متحكم منطقي قابل للبرمجة Programmable Logic Controller، بحيث يستطيع المستخدم أن يبرمج اللوحة من أجل تنفيذ وظيفةٍ أو مهمةٍ ما.
- الأردوينو عبارة عن: نظام مفتوح المصدر Open-Source System، وذلك بشقيه العتادي Hardware والبرمجي Software، حيث تتوافر كافة التصميمات المتعلقة بلوحات الأردوينو بشكلٍ مجاني، فيمكن تعديلها وتطويرها من قِبَل المطورين حول العالم، كما أن بيئة البرمجة الخاصة بها مجانية ومفتوحة المصدر، ويمكن تحسينها وإضافة توسيعات لها من قبل المبرمجين أيضًا حول العالم.
- الأردوينو عبارة عن: وسيلة تعليمية بسيطة وسهلة، يمكن لأي شخص اقتناؤها وتعلم البرمجة ومبادئ الإلكترونيات عبرها، من خلال البرامج والمشاريع المجانية المتوافرة على شبكة الإنترنت، والتي تم تنفيذها جميعًا باستخدام الأردوينو.
كل التعريفات السابقة صحيحة، ويمكننا أن نزيد عليهم أن الأردوينو عبارة عن نظام متكامل، يتكون من لوحة إلكترونية متعددة المهام بالإضافة إلى بيئة تطوير برمجية وبالإضافة إلى مجتمع مطورين وفلسفة تفكير تعتمد على مفهوم المصادر المفتوحة.
نشأة الأردوينو
بدأت قصة الأردوينو مع مجموعة من الطلاب في معهد التصميم التفاعلي في مدينة ايفيرا بإيطاليا عام 2005، وهدفهم الأساسي كان تصميم لوحة إلكترونية متعددة المهام، ومفتوحة المصدر.
استخدم الطلاب متحكم BASIC Stamp من أجل تنفيذ مشروعهم، وكلفتهم اللوحة الأولية ما يقارب 100 دولار أمريكي، فتم اعتبار التصميم الأولي مكلفاً للغاية، وتم العمل من أجل تطوير اللوحة، ثم تم تقديم المشروع وتفاصيله ضمن أطروحةٍ خاصة، مع كافة التفاصيل المتعلقة بالتوصيل اللازم لها، ثم عمل الفريق الأولي على تطوير اللوحة وجعلها أخف وأقل كلفة، حتى تمكنوا من إنتاج لوحة الأردوينو التي نعرفها الآن.
واليوم يُنظر إلى كلٍّ مِن: ماسيمو بانزي Massimo Banzi، دايفيد كورتيليوس David Caurtielles، توم ايغو Tom Igoe، جيانلوكا مارتينو Gianluca Martino، ودايفيد ميلليس David Mellis، على أنهم نواة الفريق الأساسي الذي شكل مشروع الأردوينو.
ومن الجدير بالذكر، أن اسم الأردوينو يعود لبار في مدينة ايفيرا بإيطاليا، وقد اتفق المؤسسون على تسمية المشروع باسم هذا البار، لأنهم اعتادوا اللقاء والاجتماع فيه من أجل تطوير مشروعهم.
ما هي لوحة الأردوينو Arduino Board
لوحة الأردوينو عبارة عن نظام حاسوبي صغير ومتكامل، والمقصود بـ “نظام حاسوبي” أن اللوحة تتضمن داخلها نواة أساسية هي “المتحكم الصغري | Microcontroller” حيث تقوم هذه النواة بأداء الوظائف الحاسوبية، من استقبال المعطيات والبيانات، ومعالجتها، وإصدار الأوامر اللازمة لعمل الأجزاء والقطع الأخرى المرتبطة بهذا النظام.
من الجدير بالذكر أنه لا يوجد لوحة أردوينو واحدة، بل يوجد العديد من الأنماط واللوحات المختلفة، التي تختلف عن بعضها البعض من حيث المتحكم الصغري المتواجد في اللوحة، وعدد المداخل والمخارج والرقمية، وفي شرحنا المبسط هنا حول مفهوم لوحات الأردوينو، فإننا سنقوم بالشرح بشكل عام عن المكونات الأساسية التي سوف تجدها على أي لوحة.
تعتمد معظم لوحات الأردوينو على متحكماتٍ صغرية بدقة 8-بت، وهي من عائلة Atmel AVR، كما أن بعض اللوحات تعتمد على متحكمات بدقة 32-بت من عائلة Atmel ARM، وهنالك فرق كبير بين اللوحات التي تعتمد على متحكمات بدقة 8-بت وبين اللوحات التي تعتمد على متحكمات بدقة 32-بت، فالأمر يعود هنا للمستخدم نفسه، من حيث حاجته لنوع اللوحة وطبيعة المشاريع التي سيقوم بتنفيذها عبرها.
وإلى جانب المتحكم الصغري (وهي الوحدة الأساسية في لوحة الأردوينو) فإننا نميز أيضًا على اللوحة مأخذ الطاقة الكهربائية اللازم لتشغيل اللوحة، حيث تعمل لوحات الأردوينو عند جهد تغذية معياري هو 5 فولط.
يجب أن تتضمن لوحة الأردوينو وسيلة للتواصل مع الحاسب كي يتم تحميل البرامج على المتحكم الصغري الخاص باللوحة، وأكثر وسائل التواصل استخداماً وأشهرها هي منفذ الـ USB الذي يربط لوحة الأردوينو مباشرةً بالحاسب، وبعض لوحات الأردوينو تتضمن منفذ الاتصال التسلسلي RS-232.
أخيرًا، تتضمن لوحة الأردوينو نوعين من المغارز أو الأرجل Pins التي سيستخدمها المطورون في مشاريعهم:
- مغارز أو أرجل الدخل والخرج الرقمي Digital Pins، وهي تكون أرجل من إدخال وإخراج البيانات والمعطيات الرقمية من وإلى اللوحة، وعدد هذه الأرجل يختلف من لوحةٍ إلى أخرى، ففي لوحة أردوينو أونو Arduino UNO على سبيل المثال يبلغ عدد هذه الأرجل 14 رِجل.
- مغارز أو أرجل المداخل التماثلية (التشابهية) Analog Pins، وهي المغارز المسؤولة عن قراءة البيانات التماثلية وإدخالها إلى المتحكم الصغري الخاص بلوحة الأردوينو، من أجل عمليات المعالجة اللاحقة.
وتتضمن لوحات الأردوينو عناصر أخرى مثل الكريستالة المسؤولة عن تزويد المتحكم بنبضات ساعة العمل الخاصة به، بالإضافة لمكثفات ومنظمات جهد للمحافظة على قيمةٍ ثابتة ومحددة للجهد والتيار الكهربائي التي تعمل عندها معظم عناصر لوحة الأردوينو، إلا أنه لايوجد داعي للخوض بتفاصيل هذه العناصر، كونها ليست أولوية أساسية بالنسبة لأي مطور يريد استغلال لوحات الأردوينو في مشاريعه التقنية.
إذاً، وكخلاصة، يمكن القول أن أي لوحة آردوينو تتضمن ما يلي:
- المتحكم الصغري المركزي الخاص باللوحة.
- المداخل والمخارج الرقمية Digital Pins – in and out.
- المداخل التماثلية Analog Pins.
- مغارز خاصة بطرفيات الاتصال التسلسلي (UART, I2C, SPI).
- مغارز خاصة بطرفيات أخرى، مثل المؤقتات وتوليد إشارات التحكم بعرض النبضة PWM ومداخل المقاطعات Interrupts.
- مأخذ الطاقة الكهربائية Power Connector.
- مأخذ الاتصال مع الكمبيوتر وبرمجة اللوحة.
المكونات الأساسية للوحة أردوينو أونو | Arduino Uno
ليس عليك أن تقلق فيما يتعلق بلوحات الأردوينو وتفاصيل أرجل العناصر المتموضعة عليها، فمؤسسة الأردوينو توفر الشرح الكامل لكافة العناصر المتموضعة على أي لوحة من لوحات الأردوينو، وذلك كي يكون المصممين والمطورين على دراية كاملة بكافة تفاصيل اللوحة التي سيستخدموها.
والمثال التالي هو لتفاصيل كافة أرجل لوحة أردوينو UNO وكافة المعلومات المتعلقة بتوصيل العناصر والقطع الإلكترونية على اللوحة:
فيما يتعلق بلوحات الأردوينو نفسها، من الجدير بالذكر أنه يمكن لأي مطور حول العالم أن يقوم بتركيب لوحة الأردوينو بنفسه! فلوحات الأردوينو أحد المصادر العتادية مفتوحة المصدر Open-Hardware، وبالتالي فإن المخططات الأساسية للعناصر والتوصيلات فيما بينها متاحة لأي شخص، ويستطيع أي مطور حول العالم أن يقوم بتركيب لوحة الأردوينو التي يريدها بنفسه، طالما أن القطع الأساسية التي يحتاجها متوافرة.
برمجة الأردوينو Arduino Programming
ما هي قيمة لوحة الأردوينو ومكوناتها، إن لم تكن قادرة على تنفيذ أمر مفيد وفعال؟ إذاً، لابد أن تتم برمجة هذه اللوحة، وتحميل برنامج يقوم بتوجيه المتحكم الصغري وكافة الأجزاء والعناصر المتصلة بلوحة الأردوينو كي تقوم بتنفيذ الوظيفة التي يريدها المستخدم والمطور.
هذا فعليًا هو جوهر الهدف من لوحة الأردوينو، أي جعلها متاحة لأي مبرمج كي يكون قادرًا على كتابة البرامج وتنصيبها على اللوحة، كي يتم تنفيذ وظيفة مفيدة بمجالٍ ما.
ولكي يتم برمجة لوحة الأردوينو، تم تخصيص بيئة تطوير متكاملة IDE خاصة بها، حيث تم تطوير البيئة اعتمادًا على لغة جافا Java كي تكون بيئة برمجية تدعم لغتي سي C وسي بلس بلس ++C، وبيئة التطوير البرمجية الخاصة بالأردوينو عبارة عن بيئةٍ مجانية، مفتوحة المصدر Open-Source، وتتضمن العديد من المكتبات الفعالة التي قد يحتاجها المطور أثناء عمله، وفضلاً عن ذلك، تتمتع بعددٍ كبير من المطورين المشتركين بمجتمع الأردوينو، والذين يقومون بشكلٍ دوري بإضافة المشاريع والتطبيقات، بحيث تكون متاحة بشكلٍ مجاني وكامل لأي شخص يريد أن يقوم بتطبيق برنامج أو مشروع تقني ما باستخدام لوحة الأردوينو.
بالنسبة للأشخاص الذين يمتلكون خلفيةً برمجية جيدة، خصوصاً في لغات C و ++C، فإنهم سيجدون بيئة التطوير البرمجية الخاصة بالأردوينو سهلة وممتعة، ولن يواجهوا أي صعوبة في التعامل معها، وبالنسبة للأشخاص الذين لا يمتلكون خلفية برمجية جيدة، فلا يوجد أي داعي للقلق أو الخوف، فالبيئة سهلة، ويمكن لأي شخص تعلمها وبسهولة، ويمكنكم أيضاً اعتمادها كخطوة أولى نحو الانطلاق لفهم عالم البرمجيات ولغات البرمجة والتخاطب مع العتاد الصلب.
أخيراً، وكميزة هامة خصوصاً للمستخدمين والمطورين الذين يستعملون متحكمات عائلة AVR، فإنه يمكن تنصيب البرنامج المكتوب بلغة C مباشرةً على لوحات الأردوينو.
توسيعات الأردوينو Arduino Shields
الآن لنفرض أننا نريد القيام بتنفيذ مشروع ما، ونريد أن نقوم بتنفيذه عبر الأردوينو، وليكن هذا المشروع عبارة عن قراءة قيمة خرج مستشعر ما، وإظهار النتيجة على شاشة من نمط LCD.
كل ما علينا فعله هو أن نقوم بتجميع القطع اللازمة: مصدر تغذية كهربائية للوحة الأردوينو وللشاشة، المستشعر وما يتطلبه من مقاومات وعناصر أخرى، وأخيرًا شاشة الـ LCD نفسها.
علينا الآن أن نقوم بتوصيل هذه القطع مع بعضها البعض، والتأكد من توصيلها بشكلٍ صحيح، ومن ثَمَّ تنصيب البرنامج، وكل شيء سيكون جاهز للعمل.
لو قمنا بإعادة النظر في المشروع، لوجدنا مثلاً أن شاشة الـ LCD هي أحد القطع الإلكترونية الهامة التي قد نستخدمها في العديد من المشاريع التطبيقية والعملية، وبالتالي وبدلاً من توصيل الشاشة في كل مرة، يمكننا أن نقوم بتصميم دارة خاصة بالشاشة، يمكن تعريفها على لوحة الأردوينو، بحيث تضيف هذه الدارة ميزة إضافية للأردوينو، وهي ميزة الإظهار، ودارة الإظهار باستخدام شاشة الـ LCD هي ما يعرف بـ “توسيعة | Shield”.
التوسيعة الخاصة بالأردوينو، وببساطة، هي عبارة عن دارة إلكترونية، تقوم بتقديم وظيفة إضافية للوحة الأردوينو، بما يساهم بجعل اللوحة أكثر كفاءة، وأكثر قدرة على المهام، والتوسيعات مثلها مثل لوحة الأردوينو نفسها، أي أنها مفتوحة المصدر، ويمكن لأي شخص أن يقوم بتطوير توسيعة جديدة متوافقة مع لوحة الأردوينو، أو يمكنه أن يقوم بتطوير توسيعة موجودة مسبقاً.
وهنالك العديد من التوسيعات الخاصة بلوحات الأردوينو، وهي تتضمن توسيعات لشاشات الـ LCD، أو مدخل شبكة إيثرنت، أو توسيعة نظام تموضع GPS، أو توسيعة تحكم بمحركات، والقائمة تطول.
ويمكنك الاطلاع على قائمة الأجهزة والدارات الإلكترونية المتوافقة مع لوحات الأردوينو، بالإضافة للتوسيعات الهامة والشهيرة، من خلال موقع الأردوينو الرسمي.
في النهاية، نتمنى أن نكون قد أضفنا لكم معلومة جديدة ومفيدة، وفي حالة وجود أي استفسارات لا تترددوا في ذكرها لنا في التعليقات وسوف نقوم بالتواصل معكم والرد على استفساراتكم.
إضافة تعليق