كيفية صنع روبوت بسيط

كيفية صنع روبوت بسيط

يُعدّ بناء روبوت بسيط طريقةً ممتعةً لتعلم الإلكترونيات والميكانيكا الأساسية والبرمجة. يعتقد الكثيرون أن الروبوتات يجب أن تكون باهظة الثمن ومعقدة، ولكن في الواقع يُمكننا البدء بمشاريع صغيرة يسهل تجميعها في المنزل. في هذه المقالة، سنبني روبوتًا بسيطًا يتجنب العوائق باستخدام مستشعرات فوق صوتية. يستطيع هذا الروبوت السير للأمام والانعطاف تلقائيًا عند استشعاره أي جسم أمامه. هذا المشروع مناسب للمبتدئين والطلاب، أو أي شخص يرغب في تعلم علم الروبوتات.

1. فهم مفهوم الروبوتات البسيطة

بشكل عام، تتكون الروبوتات من ثلاثة مكونات رئيسية: الدماغ (وحدة التحكم)، والحواس (المستشعرات)، والعضلات (المحركات). في هذا المشروع:

– وحدة التحكم: أردوينو أونو (أو ما يماثله)
- المستشعر: مستشعر الموجات فوق الصوتية HC-SR04 لقياس المسافة
– المحرك: محرك تيار مستمر يقوم بتدوير العجلات
– وحدة تحكم المحرك: وحدة تحكم المحرك L298N (أو L293D) بحيث يمكن التحكم في المحرك بواسطة أردوينو

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

2. الأدوات والمواد اللازمة

فيما يلي قائمة بالمكونات الشائعة الاستخدام والتي يسهل العثور عليها في متاجر الإلكترونيات أو الأسواق:

1. أردوينو أونو (قطعة واحدة)
2. محرك L298N (قطعة واحدة)
3. مستشعر الموجات فوق الصوتية HC-SR04 (قطعة واحدة)
4. محرك تيار مستمر + علبة تروس وعجلات (قطعتان) لروبوت ذي عجلتين (دفع تفاضلي)
5. عجلة دوارة (قطعة واحدة) عجلة توازن صغيرة في الأمام أو الخلف
6. بطاريات (مثل بطاريتين 18650 أو حزمة 7,4 فولت) أو 6 بطاريات AA، حسب احتياجات المحرك
7. هيكل الروبوت (يمكن شراؤه جاهزًا أو صنعه من الأكريليك/الخشب الرقائقي)
8. كابلات التوصيل (ذكر-أنثى وذكر-ذكر)
9. مفتاح التشغيل/الإيقاف (اختياري، ولكنه مفيد للغاية)
10. لوح تجارب صغير (اختياري)
11. البراغي والصواميل والمفكات والغراء الساخن حسب الحاجة

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

3. تصميم هيكل الروبوت

الهيكل هو الإطار الذي تُركّب عليه جميع المكونات. يمكنك استخدام طقم هيكل جاهز أو بناء هيكلك الخاص من مواد خفيفة الوزن مثل الأكريليك أو البولي فينيل كلوريد أو الخشب الرقيق. المبدأ هو:

- قم بتركيب محركين يعملان بالتيار المستمر على الجانبين الأيمن والأيسر.
- قم بتركيب العجلات على الدراجة النارية.
- أضف عجلة دوارة كأداة موازنة لجعل الروبوت مستقرًا.
- ضع البطارية في وضع لا يتسبب في ميلان الروبوت.
– يجب وضع لوحة أردوينو ومحركات التشغيل في الأعلى لسهولة الوصول إليها.

تأكد من أن الكابل لا يتدلى للأسفل حتى لا يعلق في العجلات.

4. مخطط الأسلاك الأساسي

إليك مفهوم عام للتوصيل (يمكن تخصيص الدبابيس):

أ) محرك إلى سائق L298N
– المحرك الأيسر لإخراج OUT1 و OUT2
– المحرك الأيمن لإخراج OUT3 و OUT4

ب) برنامج تشغيل L298N لأردوينو
- توصيل IN1 و IN2 للمحرك الأيسر ببعض منافذ Arduino الرقمية
- توصيل IN3 و IN4 بالمحرك الأيمن عبر بعض منافذ Arduino الرقمية
يمكن توصيل طرفي ENA وENB (التفعيل) بمنافذ PWM في أردوينو للتحكم في السرعة (اختياري). في حال عدم التوصيل، تحتوي بعض وحدات L298N على وصلة تفعيل تسمح بتشغيل المحرك بأقصى سرعة.

ج) توصيل مستشعر HC-SR04 بلوحة أردوينو
- تحويل VCC إلى 5 فولت أردوينو
- توصيل GND بـ GND في أردوينو
– قم بتوصيل إشارة TRIG بالمنفذ الرقمي في أردوينو
– توصيل جهاز ECHO بمنفذ رقمي في أردوينو

د) الطاقة
يحتاج المحرك إلى تيار كهربائي أكبر مما يستطيع الأردوينو توفيره. لذلك:
– يتم توصيل البطارية الرئيسية بمحرك التشغيل (+12 فولت و GND على L298N).
– يمكن تشغيل أردوينو من البطارية أيضًا (عبر VIN) أو من بنك طاقة/USB منفصل.
– الأرضي: يجب توصيل GND الخاص بالبطارية/المحرك و GND الخاص بـ Arduino لكي تكون إشارة التحكم مستقرة.

الخطأ الأكثر شيوعًا بين المبتدئين هو نسيان توصيل سلك التأريض (GND)، مما يجعل الروبوت يتحرك بشكل غير منتظم.

5. منطق عمل روبوت تجنب العوائق

سيعمل الروبوت وفق آلية بسيطة:

1. اقرأ المسافة من مستشعر الموجات فوق الصوتية.
2. إذا كانت المسافة > العتبة (على سبيل المثال 20 سم)، فإن الروبوت يتحرك للأمام.
3. إذا كانت المسافة ≤ 20 سم، يتوقف الروبوت لفترة وجيزة.
4. يتحرك الروبوت للخلف قليلاً ثم يستدير (على سبيل المثال إلى اليمين) لبضع مئات من المللي ثانية.
5. اقرأ المسافة مرة أخرى وكرر العملية.

بهذا النمط، سيبدو الروبوت وكأنه "يتجنب" العقبات، حتى لو لم يختر المسار الأمثل.

6. مثال بسيط لبرنامج أردوينو

فيما يلي مثال أساسي للبرنامج. يمكنك تخصيص المنافذ لتناسب دائرتك:

"" cpp
تعريف TRIG 8
تعريف ECHO 9

// المحرك الأيسر
تعريف IN1 2
تعريف IN2 3

// المحرك الأيمن
تعريف IN3 4
تعريف IN4 5

مدة طويلة؛
المسافة (int distance;)

دالة القراءة (int readDistance()) {
digitalWrite(TRIG, LOW);
تأخير ميكروثانية (2) ؛
digitalWrite(TRIG, HIGH);
تأخير ميكروثانية (10) ؛
digitalWrite(TRIG, LOW);

المدة = pulseIn(ECHO, HIGH);
int cm = duration 0.034 / 2;
أعد سم؛
}

void forward() {
الكتابة الرقمية (IN1 ، عالية) ؛
الكتابة الرقمية (IN2 ، منخفضة) ؛
الكتابة الرقمية (IN3 ، عالية) ؛
الكتابة الرقمية (IN4 ، منخفضة) ؛
}

void reverse() {
الكتابة الرقمية (IN1 ، منخفضة) ؛
الكتابة الرقمية (IN2 ، عالية) ؛
الكتابة الرقمية (IN3 ، منخفضة) ؛
الكتابة الرقمية (IN4 ، عالية) ؛
}

void turnRight() {
الكتابة الرقمية (IN1 ، عالية) ؛
الكتابة الرقمية (IN2 ، منخفضة) ؛
الكتابة الرقمية (IN3 ، منخفضة) ؛
الكتابة الرقمية (IN4 ، عالية) ؛
}

void stop() {
الكتابة الرقمية (IN1 ، منخفضة) ؛
الكتابة الرقمية (IN2 ، منخفضة) ؛
الكتابة الرقمية (IN3 ، منخفضة) ؛
الكتابة الرقمية (IN4 ، منخفضة) ؛
}

إعداد باطل () {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);

pinMode (IN1 ، الإخراج) ؛
pinMode (IN2 ، الإخراج) ؛
pinMode (IN3 ، الإخراج) ؛
pinMode (IN4 ، الإخراج) ؛

Serial.begin (9600) ؛
}

حلقة باطلة () {
المسافة = قراءة المسافة();
Serial.println(distance);

إذا كانت المسافة أكبر من 20 {
يتابع()؛
{} آخر
قف()؛
تأخير (200) ؛
يعكس()؛
تأخير (300) ؛
قف()؛
تأخير (200) ؛
انعطف يمينا()؛
تأخير (400) ؛
قف()؛
}

تأخير (50) ؛
}
"`

هذا الكود هو النسخة الأساسية. إذا تعطل الروبوت بشكل متكرر، يمكنك زيادة الحد الأدنى إلى 25-30 سم أو زيادة زمن الدوران.

7. الاختبار والضبط

بعد تجميع الروبوت، قم بإجراء اختبارات خطوة بخطوة:

1. اختبر المحرك أولاً: قم بتشغيل وظيفة الحركة للأمام/للخلف للتأكد من أن العجلات تدور في الاتجاه الصحيح.
2. اختبر مستشعر الموجات فوق الصوتية: راجع نتائج المسافة في شاشة المراقبة التسلسلية في بيئة تطوير Arduino المتكاملة.
3. دمج النظام: قم بتشغيل البرنامج الكامل ولاحظ رد فعل الروبوت.

إذا كان الروبوت يدور أو يتحرك للخلف عندما يجب أن يتحرك للأمام، فقد تحتاج إلى تبديل كابلات المحرك أو عكس منطق IN1-IN2 (وIN3-IN4).

8. المشاكل والحلول الشائعة

بعض العقبات التي غالباً ما تنشأ:

– الروبوت لا يتحرك على الإطلاق: تحقق من البطارية، وتحقق من مشغل المحرك، وتأكد من أن وصلة التمكين نشطة.
– يُعاد تشغيل أردوينو أثناء تشغيل المحرك: قد يكون السبب عدم كفاية مصدر الطاقة أو ضوضاء المحرك. جرّب استخدام بطارية منفصلة لأردوينو، وإضافة مكثف، وتصحيح توصيل التأريض.
– قراءة مستشعر المسافة غير مستقرة: تأكد من أن المستشعر موجه بشكل مستقيم، وأبقِه بعيدًا عن الاهتزاز المفرط، وتأكد من أن الكابل ليس مرتخيًا.
– الروبوت "عالق" في زاوية: أضف منطق دوران عشوائي أو استخدم محركات مؤازرة لتحريك المستشعرات حتى تتمكن من "النظر" يمينًا ويسارًا.

9. أفكار التطوير بعد النجاح

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

– إضافة محركات مؤازرة لتحريك أجهزة الاستشعار فوق الصوتية بحيث يختار الروبوت أفضل مسار.
– تمت إضافة خاصية التحكم عبر البلوتوث (HC-05) بحيث يمكن التحكم بها من خلال الهاتف المحمول.
– استخدام مستشعرات الخط لصنع روبوت لتتبع الخط.
- اضبط سرعة تعديل عرض النبضة (PWM) للحصول على حركة أكثر سلاسة.
- أضف جرسًا أو مؤشر LED كمؤشر عند اكتشاف عائق.

استنتاج

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

إذا أردت، يمكنني مساعدتك في إنشاء مخطط توصيل أكثر تفصيلاً وفقًا للدبابيس التي تختارها، أو تعديل الكود بحيث يمكن للروبوت أن ينعطف يسارًا/يمينًا بشكل عشوائي ويكون أكثر "ذكاءً".

اترك تعليقا