Engelden Kaçan Araba

Engelden Kaçan Araba

Engelden kaçan robot,diğer adıyla engel algılayan robot, otonom olarak çevre kontrolü yapabilen ve hareketini önleyebilecek cisimleri atlatabilen robot tipidir. Çevre kontrolünü sağlayabilmesi için ultrasonik, kızılötesi vb. gibi çeşitli sensörlere ihtiyaç duyar.

Fritzing Engelden Kaçan Robot Devresi
Araba Devresi
Engelden Kaçan Robot Algoritması
Yazacağımız Kodun Algoritması
const int solileri = 7;
const int solgeri = 6;
const int sagileri = 4;
const int saggeri = 5;
const int solHiz = 9; // Pwn pini hız ayarı için Jumperları sökünce
const int sagHiz = 3; // Pwn pini hız ayarı için Jumperları sökünce
const int echoPin = 12; //Ultrasonik sensörün echo pini Arduino'nun 12.pinine
const int trigPin = 13; //Ultrasonik sensörün trig pini Arduino'nun 13.pinine tanımlandı.
void setup() {
  pinMode(solileri, OUTPUT);
  pinMode(solgeri, OUTPUT);
  pinMode(sagileri, OUTPUT);
  pinMode(saggeri, OUTPUT);
  pinMode(solHiz, OUTPUT);
  pinMode(sagHiz, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(trigPin, OUTPUT);
  Serial.begin(9600);
}
void loop() {
  digitalWrite(trigPin, LOW); //sensör pasif hale getirildi
  delayMicroseconds(5);
  digitalWrite(trigPin, HIGH); //Sensore ses dalgasının üretmesi için emir verildi
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW); //Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi
  
  int sure = pulseIn(echoPin, HIGH); //ses dalgasının geri dönmesi için geçen sure ölçülüyor
  int uzaklik = sure / 29.1 / 2; //ölçülen süre uzaklığa çevriliyor
  Serial.println(uzaklik);

  if (uzaklik < 10) {
     geri();
    delay(1500);
    sag();
    delay(1000);
    
  }
  else {
   ileri();
  }
}
void ileri() {
  // Araba İleri Gidiyor...
  digitalWrite(solileri, HIGH);  // Sol İleri
  digitalWrite(solgeri, LOW);
  analogWrite(solHiz, 250);

  digitalWrite(sagileri, HIGH);  // Sağ İleri
  digitalWrite(saggeri, LOW);
  analogWrite(sagHiz, 250);
}
void geri() {
  // Araba Geri Gidiyor...
  digitalWrite(solileri, LOW);  // Sol İleri
  digitalWrite(solgeri, HIGH);
  analogWrite(solHiz, 250);

  digitalWrite(sagileri, LOW);  // Sağ İleri
  digitalWrite(saggeri, HIGH);
  analogWrite(sagHiz, 250);
}

void sag() {
  // Araba Sağa Gidiyor...
  digitalWrite(solileri,HIGH);
  digitalWrite(solgeri, LOW);
  analogWrite(solHiz, 250);

  digitalWrite(sagileri, HIGH);
  digitalWrite(saggeri, LOW);
  analogWrite(sagHiz, 0);
}

void sol() {
  // Araba Sola Gidiyor...
  digitalWrite(solileri, HIGH);
  digitalWrite(solgeri, LOW);
  analogWrite(solHiz, 0);

  digitalWrite(sagileri, HIGH);
  digitalWrite(saggeri, LOW);
  analogWrite(sagHiz, 250);
}
Paylaş,

Yazar hakkında

Orhan Gazi DEMİRCİ administrator

1984 Samsun doğumluyum. Ondokuz Mayıs Üniversitesi Bilgisayar öğretmenliği 2007 Mezunuyum. Bafra İlçe Milli Eğitim Müdürlüğünde Fatih Projesi eğitmenliği görevinde bulunmaktayım. KodlaBafra yürütücülüğü 2017 yılından beri yürütmekteyim. Evli ve bir çocuk babasıyım.