تقديم
بسم الله الرحمن الرحيم، هذا الروبوت بسيط التركيب وغير مكلف. يستطيع الربوت ROT تجنب العوائق، أي أنه يسير بشكل طبيعي وإذا ما اعترضه حاجز يقوم بعملية الإلتفاف ومتابعة الطريق... يوجد عدة أنواع على الإنترنت حول هذا الموضوع وهذا نموذج لها: |
الأجزاء الرئيسية
سنحتاج لإتمام هذا المشروع إلى: 1-هيكل سيارة قديمة (لعبة اطفال) مجهزة بمحركات للتيار المستمر كالتي في الصورة التالية: |
|||
2- بطاقة أردوينو وهي عبارة عن العقل الإلكتروني الذي سيقوم بالتحكم بالسيارة.
3- متحكم بالمحركات وظيفة هذا العنصر هي تلقي الأوامر من بطاقة أردوينو والتحكم باتجاه دوران المحركات (امام، خلف، يمين، يسار)
ولكن لماذا لا نأخذ الأمر مباشرة من بطاقة أردوينو؟ ألم يراودك هذا السؤال؟ حسنا السبب هو أن المحركات بحاجة إلى تيار عالي يصل إلى 2 أمبير، بينما التيار الأقصى التي يمكن أن تغذي به بطاقة أردوينو الحمل هو 600 ميليأمبير، إضافة أنه إذا قمنا بتغذية المحرك من بطاقة أردوينو سيؤدي إلى تلف هذه الأخيرة بسبب الطاقة التي يختزنها المحرك. اذن، نحن بحاجة إلى عنصر لتحكم بالمحركات الموجودة بالسيارة مثل: L298 motor driver
4- حساس الموجات فوق الصوتية (Ultrasonic Sensor) باستخدام هذا الحساس سنقوم بقياس المسافة بين السيارة وأقرب جسم سيواجه السيارة أثناء الحركة. |
|||
نبذة بسيطة عن هذا الحساس يقوم هذا الحساس بإطلاق أمواج فوق الصوتية بطول موجي معين عند اطلاق الموجة وارتدادها على شكل صدى "Echo"
سرعة الصوت في الفراغ تساوي 343 متر في الثانية عند درجة حرارة 25 سيلسيوس. |
|||
لتحديد المسافة يكفي أن نعلم السرعة والفرق بين زمن إرسال الموجة وارتدادها ومن خلال قانون نيوتن: المسافة = السرعة × الزمن
لا عليك لن نتطرق لتفاصيل هذه الأمور، بل هي فقط للتوضيح لا غير. هذا الحساس يمتلك 4 اطراف:
5- البطارية وهي من الأجزاء المهمة جدا لأنها تتحكم بمدى قوة السيارة وعدد الساعات التي يمكن أن تعمل بها السيارة، لذلك يفضل الحصول على بطارية بجهد لا يقل عن 6 فولت وتيار4 A/H.
7- كابل توصيل بين البطارية 9 فولت وبطاقة أردوينو. |
|||
الآن انتهينا من التحضير لأجزاء السيارة و سنبدا بتركيبها وبرمجتها فهل انت مستعد؟ |
تثبيت البطارية
سنقوم بتهيئة مكان مناسب للبطارية وتثبيتها كما هو مبين في الشكل: |
|
يمكن تثبيتها بأي طريقة تراها مناسبة كهذه مثلا: |
|
تركيب بطاقتي اردوينو وقيادة المحركات
الآن وبعد تثبيت البطارية يجب تثبيت بطاقة التحكم أردوينو وبطاقة قيادة المحركات كما في الصورة التالية: |
تركيب الحساس
واخيرا سنقوم بتثبيت حساس الموجات فوق الصوتية في مقدمة السيارة. ولكن احذر!! يجب أن تحافظ على استقامة الحساس وزاوية ميله مع المستوى الأفقي، لأنه وفي حال وضعه في ميل مع المستوى الأفقي سيقوم الحساس بإعطاء إشارة للبطاقة المبرمجة أردوينو بأن هنالك عائق، وبالتالي ستعطي هي أمر بالإلتفاف وستستمر العملية ولن يسير إلى الأمام مطلقا! |
التوصيل الكهربائي
الآن قد حان وقت التوصيل وربط المكونات مع بعضها البعض اتبع التعليمات التالية:
|
Motor driver |
Adruino |
IN1 |
Pin#2 |
IN2 |
Pin#3 |
IN3 |
Pin#6 |
IN4 |
Pin#7 |
|
|
وطريقة التوصيل مبينة في الصورة جانبه والجدول التالي: |
Arduino Pin |
Ultrasonic terminal |
+5 volt |
Vcc |
GND |
GND |
12 |
Trig |
13 |
Echo |
تحميل البرنامج
يفضل قبل تحميل الكود البرمجي فصل جميع مصادر التغذية عن الأحمال مثل المحركات... والأحمال التي تغذيها بطاقة أردوينو مثل حساس الموحات فوق الصوتية للحفاظ على سلامة البطاقة. |
|
ولتسهيل عملية البرمجة يجب تحميل المكتبة الخاصة بحساس الموجات فوق الصوتية من هنا: |
البرنامج
// Author: Omar Alterawi
#include "Ultrasonic.h"
//دالة التهئية Serial.begin(9600);
//دالة الاتجاه نحو الأمام
//دالة الاتجاه نحو الخلف
//دالة الاتجاه نحو اليمين
//دالة التوقف
//الدالة الرئيسية
while(distance>55) } |
مشاكل وحلول
بعض المشاكل التي من الممكن أن تواجهك:
1- السيارة تتحرك إلى الخلف بدل من أن تتحرك إلى الأمام؟ الحل: قم بقلب اسلاك التحكم L1&L2
2- السيارة لا تسير مطلقا؟ الحل: تأكد من توصيل خطوط التغذية وتأكد من أن الأسلال بحالة توصيل مع باقي المكونات.
3- السيارة تلتف عن الأجسام عن بعد كبير يمكنك؟ الحل: من الممكن أن تقوم بتعديل الشرط الموجود في جملة "While(distance<55)i" وجعل المسافة اقل مثلا "While(distance<30)i" او في حال كانت السيارة سريعة جدا يمكن زيادة المسافة.... افعل ما تراه مناسبا.
وفي النهاية ارجو ان يكون “ROT” قد نال اعجابكم، والسلام عليكم و رحمة الله و بركاته. |
تأليف
تأليف: عمر كمال الطيراوي (الأردن)
التعليقات
يوجد عدة أنواع على الإنترنت حول هذا الموضوع وهذا نموذج لها:
مثلا:
real_value = sensor_value*20/140