Başa dön

Arduino ile Engelden Kaçan Robot

 

Merhabalar Engelden kaçan robot projemiz için gereken malzemelerin listesi ile başlayalım. Hazır bir set olan Arduino Combo 2wd araç seti ihtiyacımız olan tüm elemanları barındırmaktadır. İlgili sete buraya tıklayarak ulaşabilirsiniz.

Gerekli elemanlar:

Stok Kodu           Set İçeriği                                                                                        Adet
AV-20                   2WD Araç Platformu                                                                      1
C1B1X                   10’lu Dişi – Erkek Jumper Kablo                                                  1
A1I2X                    Ultrasonik Mesafe Sensörü                                                           1
E1B3X                  HC-SR04 Ultrasonik Mesafe Sensörü Tutucu                             1
C2A3X                 Arduino UNO R3 (Klon – CH340 USB Kablo Hediye)                 1
B1A7X                  L298N DC/Step Motor Sürücü Kartı                                             1
B2F4X                 Mini Breadboard (Turuncu)                                                           1
C1A8X                 10’lu Erkek – Erkek Jumper                                                            1

Buradaki ürünlere ekstradan bir adet hc05 bluetooth modül alırsanız engelden kaçan aracınızı isterseniz bluetooth modül ile kontrol edilebilen araç da yapabiliriz.

Şimdi montaj kısmına geçelim bu kısımda da devre şemasını fritzing üzerinde çiziyoruz.

Pin bağıntılarını tekrardan yazalım.

echoPin 12 //Ultrasonik sensörün echo pini Arduino'nun 12.pinine
trigPin 13 //Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı.
MotorR1 7  // Motor Sagpinlerini tanımlıyoruz.
MotorR2 6  // Motor Sagpinlerini tanımlıyoruz.
MotorRE 9  // Enable pin ile hızlarını ayarlıyoruz.
MotorL1 5  // Motor Sol pinlerini tanımlıyoruz.
MotorL2 4  // Motor Sol pinlerini tanımlıyoruz.
MotorLE 3  // Enable pin ile hızlarını ayarlıyoruz. 

Şimdi pin bağıntıları ve devre şemasını verdiğimize göre geriye kod bloğu kalıyor. Kod bloğunda da pinlere özel olarak dikkat edelim.

#define echo 12 //Ultrasonik sensörün echo pini Arduino'nun 12.pinine
#define trig 13 //Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı.
#define sol 7  // Motor Sag pinlerini tanımlıyoruz.
#define sol1 6  // Motor Sag pinlerini tanımlıyoruz.
#define e1 9  // Enable pin ile hızlarını ayarlıyoruz.
#define sag 5  // Motor Sol pinlerini tanımlıyoruz.
#define sag1 4  // Motor Sol pinlerini tanımlıyoruz.
#define e2 3  // Enable pin ile hızlarını ayarlıyoruz.

int  sure = 0;
int mesafe = 0;

void setup()

{
   // ultrasonik sensör Trig pininden ses dalgaları gönderdiği için OUTPUT (Çıkış),
  // bu dalgaları Echo pini ile geri aldığı için INPUT (Giriş) olarak tanımlanır.
  pinMode(trig , OUTPUT); 
  pinMode(echo , INPUT ); 

  pinMode(sol, OUTPUT); //Motorlarımızı çıkış olarak tanımlıyoruz.
  pinMode(sol1, OUTPUT);
  pinMode(sag, OUTPUT); 
  pinMode(sag1, OUTPUT);
}

void loop()

{
 digitalWrite(trig, LOW); //sensör pasif hale getirildi
  delayMicroseconds(5);
  digitalWrite(trig, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
  delayMicroseconds(10);
  digitalWrite(trig, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi

  sure = pulseIn(echo, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
  mesafe = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor

  Serial.println(mesafe);

  if (mesafe < 30 ) 
  {
    digitalWrite(sol ,  LOW);
    digitalWrite(sol1 , HIGH);
    digitalWrite(sag ,  LOW);
    digitalWrite(sag1 , HIGH);
    delay(150);

    digitalWrite(sol ,  LOW);
    digitalWrite(sol1 , HIGH);
    digitalWrite(sag , HIGH);
    digitalWrite(sag1 ,  LOW);
    delay(250);
  }
  else 
  {
    digitalWrite(sol , HIGH);
    digitalWrite(sol1 ,  LOW);
    digitalWrite(sag , HIGH);
    digitalWrite(sag1 ,  LOW);
  }
}

Projemiz burada son bulmaktadır. Bir başka projede görüşmek dileği ile.