dominoFiber     domiRobot     Forum


Projeler - Çizgi İzleyen Robot

Projede basit anlamda nasıl çizgi izleyen yapılır onu göreceğiz. Sensör ile algıladığımız çizgiyi motorlar yardımı ile araca yön vererek çizgi  takibini sağlayacağız. Arduino ile programlamaya yeni başlayanlar için basit ve yapılması önerilen bir projedir. Gerekli malzemeleri aldıktan sonra projemize başlayabiliriz.

Seviye:
Orta seviye

Malzeme listesi:

Şema 1: Çizgi izleyen robot fritzing devre şeması

Arduino kodu:
Kod: [Seç]
#define SensorSol 4
#define SensorOrta 3  //  Sensör sayısı arttırılabilir,Arttırmak daha iyi ve hızlı bir çizgi izleyene sahip olmanızı sağlar
#define SensorSag 2

#define MotorSag1 12
#define MotorSag2 11
#define MotorSagE 10

#define MotorSol1 8
#define MotorSol2 7
#define MotorSolE 6

int git=250;       // Motor hızları buradan değiştirilebilir.
int dur=0;
int yavas=100;    // Sensör sayısı arttırlırsa kullanılabilir

void setup()
{
Serial.begin(9600);
 
  pinMode(SensorSol, INPUT);
  pinMode(SensorOrta, INPUT);
  pinMode(SensorSag, INPUT);
  pinMode(MotorSag1, OUTPUT);
  pinMode(MotorSag2, OUTPUT);
  pinMode(MotorSagE, OUTPUT);
  pinMode(MotorSol1, OUTPUT);
  pinMode(MotorSol2, OUTPUT);
  pinMode(MotorSolE,OUTPUT);

}

void loop()

{
                   
                         //Eğer orta sensör görüyorsa 2 motorda çalışsın
  if(digitalRead(SensorSol) == 0 && digitalRead(SensorOrta) == 1 && digitalRead(SensorSag) == 0)
 
  { 
  digitalWrite(MotorSag1, HIGH);
  digitalWrite(MotorSag2, LOW);
  analogWrite(MotorSagE, git);

  digitalWrite(MotorSol1, HIGH);
  digitalWrite(MotorSol2, LOW);
  analogWrite(MotorSolE, git);

  Serial.println("Düz gidiyor"); // test amaçlı
 
  }
                       //Eğer sag sensör görüyorsa sol motor çalışsın ve sağ motor dursun,böylece araç sağa dönsün
  if(digitalRead(SensorSol) == 0 && digitalRead(SensorOrta) == 0 && digitalRead(SensorSag) == 1)
 
  { 
  digitalWrite(MotorSag1, HIGH);
  digitalWrite(MotorSag2, LOW);
  analogWrite(MotorSagE, dur);

  digitalWrite(MotorSol1, HIGH);
  digitalWrite(MotorSol2, LOW);
  analogWrite(MotorSolE, git);

  Serial.println("Sağa dönüyor"); //test amaçlı
 
  }
                        //Eğer sol sensör görüyorsa sağ motor çalışsın ve sol motor dursun,böylece araç sola dönsün
  if(digitalRead(SensorSol) == 1 && digitalRead(SensorOrta) == 0 && digitalRead(SensorSag) == 0)
 
  { 
  digitalWrite(MotorSag1, HIGH);
  digitalWrite(MotorSag2, LOW);
  analogWrite(MotorSagE, git);
 
  digitalWrite(MotorSag1, HIGH);
  digitalWrite(MotorSag2, LOW);
  analogWrite(MotorSagE, dur);

  Serial.println("Sola dönüyor"); // test amaçlı
  }

                                     // EGER 5 sensör kullanılsaydı söyle yapılabilirdi

                                   // sol1 numaralı sensör görürse sağ motor çalışsın ,Sol motor yavaş çalışsın
   // if(digitalRead(SensorSol2) == 0 && digitalRead(SensorSol) == 1 && digitalRead(SensorOrta) == 0 && digitalRead(SensorSag1) == 0 && digitalRead(SensorSag2) == 0)
 
 // { 
 // digitalWrite(MotorSag1, HIGH);
 // digitalWrite(MotorSag2, LOW);
 // analogWrite(MotorSagE, git);
 
 // digitalWrite(MotorSag1, HIGH);
 // digitalWrite(MotorSag2, LOW);
 // analogWrite(MotorSagE, yavas);
 // }
 
}

Proje ile ilgili destek almak için buraya tıklayıp forumumuzdan faydalanabilirsiniz.

DC Motor satın al

  • DC Motor Satın AlDC Motor Satın AlDC Motor Satın Al

L298N satın al

  • L298N motor sürücü satın alL298N motor sürücü satın alL298N motor sürücü satın al

Arduino uno R3 satın al

  • Arduino uno R3<br /> satın alArduino uno R3<br /> satın alArduino uno R3<br /> satın al

3'lü çizgi izleyen sensör modülü satın al

  • 3'lü çizgi izleyen sensör modülü satın al3'lü çizgi izleyen sensör modülü satın al3'lü çizgi izleyen sensör modülü satın al