مدونة د.خلدون عرفة للروبوتيك

حجم الخط: +

تحريك DC Motors بناء على Line Sensor

photo_2025-05-14_22-48-17

مقدمة

 في رحلتنا السابقة، قمنا باستكشاف عالم المستشعرات وتعلمنا كيفية عمل Line Sensor في اكتشاف المسارات، كما تعرفنا على قوة DC Motor في تشغيل الأنظمة الميكانيكية. اليوم، سنخطو خطوة جديدة نحو الابتكار؛ حيث سنقوم بدمج المستشعر مع المحرك لإنشاء نظام ذكي قادر على التحرك بناءً على البيانات المستقبَلة من البيئة المحيطة. هذه الفكرة ليست مجرد تطبيق، بل هي بوابة نحو فهم أعمق لآلية التفاعل بين المكونات الإلكترونية والحركة الميكانيكية.


هل أنت مستعد لاستكشاف هذه المغامرة التقنية؟ دعنا نبدأ!

فكرة المشروع

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

 1. Arduino Uno.

2. DC Motor.4

3. L298N Motor Driver

4. Line Sensor (IR Sensor Module).2

5. بطارية 9V أو 12V.

6. male to male

7.male to female

8. Breadboard

التوصيلات

 1 توصيل المحركات DC:


المحركات يتم تقسيمها إلى مجموعتين:

المحركان الأيمنان (Right Motors) يتم توصيلهما مع Output 1 و Output 2 في الـ Motor Driver.

المحركان الأيسر (Left Motors) يتم توصيلهما مع Output 3 و Output 4 في الـ Motor Driver.



2 توصيل الـ Motor Driver:

VCC: إلى مصدر الطاقة (بطارية 12V مثلاً).

GND: إلى الأرضي.

IN1, IN2, IN3, IN4: إلى المنافذ الرقمية في المتحكم للتحكم في الاتجاه.


2 توصيل Line Sensors:

كل Line Sensor يحتوي على 3 أطراف:

VCC: إلى 5V في المتحكم.

GND: إلى الأرضي.

OUT: إلى منفذ رقمي (مثلاً D2 و D3 في Arduino).

الكود

 const int leftSensor = 2;  // المستشعر الأيسر
const int rightSensor = 3; // المستشعر الأيمن
const int leftMotorForward = 11;  // Pin for left motor forward
const int leftMotorBackward = 10; // Pin for left motor backward
const int rightMotorForward = 6; // Pin for right motor forward
const int rightMotorBackward = 5; // Pin for right motor backward
void moveForward();
void turnRight();
void turnLeft();
void stopMotors();

void setup() {
  Serial.begin(9600);
  pinMode(leftMotorForward, OUTPUT);
  pinMode(leftMotorBackward, OUTPUT);
  pinMode(rightMotorForward, OUTPUT);
  pinMode(rightMotorBackward, OUTPUT);
}

void loop() {
  int leftValue = digitalRead(leftSensor);
  int rightValue = digitalRead(rightSensor);

  Serial.print("Left Value: ");
  Serial.print(leftValue);
  Serial.print(" Right Value: ");
  Serial.println(rightValue);
  
  // تحديد عتبة للكشف عن الخط

  if (leftValue == 0 && rightValue == 0) {
    // كلا المستشعرين على الخط
    moveForward();
  } 
  else if (leftValue == 0) {
    // المستشعر الأيسر على الخط
    turnRight();
  } 
  else if (rightValue == 0) {
    // المستشعر الأيمن على الخط
    turnLeft();
  } 
  else {
    // خارج الخط، يمكن إيقاف المحركات أو تغيير اتجاهه
    stopMotors();
  }
}

void moveForward() {
  digitalWrite(leftMotorForward, HIGH);
  digitalWrite(leftMotorBackward, LOW);
  digitalWrite(rightMotorForward, HIGH);
  digitalWrite(rightMotorBackward, LOW);
}

void turnRight() {
  digitalWrite(leftMotorForward, HIGH);
  digitalWrite(leftMotorBackward, LOW);
  digitalWrite(rightMotorForward, LOW);
  digitalWrite(rightMotorBackward, LOW);
}

void turnLeft() {
  digitalWrite(leftMotorForward, LOW);
  digitalWrite(leftMotorBackward, LOW);
  digitalWrite(rightMotorForward, HIGH);
  digitalWrite(rightMotorBackward, LOW);
}

void stopMotors() {
  digitalWrite(leftMotorForward, LOW);
  digitalWrite(leftMotorBackward, LOW);
  digitalWrite(rightMotorForward, LOW);
  digitalWrite(rightMotorBackward, LOW);
} 

خاتمة

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

وتابعو التطوير على هذا الروبوت وكيف تحول هذا الروبوت الى niava bot الروبوت الميداني الذكي القادر على الإطفاء والإنقاذ والتفاعل

https://www.facebook.com/groups/arabicyoungtalentrobotics/ 

 https://www.youtube.com/@YoungTalentRobotics

حول المقالة

  • مبتدىء
×
فرصة لتطوير مهاراتك

عندما تشترك في المدونة سنرسل لك بريدا إلكترونيا عندما تكون هناك مقالات جديدة على الموقع حتى لا تفوتها.

ورشة روبوتات تعليمية لطلاب موهوبين من خلفيات متعدد....
تمكين الأطفال العرب في أوترخت عبر ورشة روبوتات مبت....

مدونات ذات صلة

 

تعليقات

لا تعليق على هذه المشاركة بعد. كن أول من يعلق.
مسجّل مسبقاً؟ تسجيل الدخول هنا
الخميس، 25 حزيران/يونيو 2026