Arkadaşlar merhaba, ilk çizgi izleyen robotumuz olan v1.00’ın videosuna hoş geldiniz 🙂

Bu projede Arduino Haber sayfasından Korhan Abi ile yapabildiğimiz en dandik ( aslında ucuz ) olan çizgi izleyen robotu yapmaya çalışıyoruz. Daha sonrada bunu zaman içerisinde malzeme ve kod bakımından güncelleyerek daha üst seviyelere çıkarmaya çalışacağız.

3 video ile oluşturduğumuz projenin ilk bölümünde, robotumuzun şasesini yaparak fiziksel manada robotu ortaya koyacağız. İkinci bölümde ise elektronik devresi, sensör kartı tasarımı ve kodunu hazırlayarak robotumuzu tamamlayacağız. Üçüncü bölümde robotu pistimizde deneyerek, onu test edecek ve aldığımız geri bildirimler dahilinde kodda veya devre üzerinde değişiklikler yaparak onu en iyi hale getireceğiz. Bu arada bölümler arasında, video playerin altındaki kutucuklar ile geçiş yapabilirsiniz.

Eğer Lezzetli Robot Tarifleri ile yeni tanıştıysanız veya kanalımızda/sitemizde çok zaman geçirmedi iseniz bu robotun videolarına başlamadan önce aşağıdaki videolara bakarak gerekli olan ön bilgiye sahip olabilir ve bu projeden en iyi şekilde istifade edebilirsiniz. İşte izlemeniz tavsiye olunan videolar:

1- CNY70 Ve 74HC14 Kullanımı – https://youtu.be/JOO2FBP9RE4
2- L293D – L293B Motor Sürücüleri Ve PWM – https://youtu.be/lw5Syd8VDm8
3- Arduino Tarifleri serisinde 11. videoya kadar gelmiş olursanız projede kullanılan tüm kod satırlarına hakim olursunuz – https://youtu.be/veJUayf1pxo
4- Arduino Ve L298N Motor Sürücü Kartı – https://youtu.be/kE0Vrtbw4Vw

İşte tüm robotu bu 3 videodaki bilgileri kullanarak yaptık. 3 diyorum çünkü 4. video çok da önemli değil. L293D ve L293B videosunu iyi anlarsanız, L298N’de onlarla aynı şekilde çalıştığı için izlenmese de olabilir. Fakat L298N motor sürücü videosunda, motor sürücünün çalışma mantığı Arduino ile kod yazarak anlatıldı, L293D-L293B videosunda ise Arduino ve kod kullanmadan elektronik devre ile anlatıldı. Dolayısı ile aynı mantığa sahip olmalarına rağmen kod ile olan anlatımı da izleyin derim 🙂

4. video dışında 1-2 ve 3 çok önemli arkadaşlar. Eğer Arduino’da yeniyim diyorsanız bu 3’ünü izlemeden projeye atlarsanız temeliniz olmadığı için ufacık bir problemde bile büyük bir sıkıtı yaşayabilirsiniz çünkü sadece ezbere iş yapıyor olacaksınız.

Tamam öyleyse, size bol bol kolaylıklar diliyoruz. Umarız kısa sürede robotunuzu toplarsınız. İyi çalışmalar, hoşça kalın:)

1. Bölüm : https://youtu.be/sOnFqpAsY00
2. Bölüm : https://youtu.be/Wg1nQncxB34
3. Bölüm : https://youtu.be/QqV1587zZPw

DEVRE ŞEMASI

ARDUINO KODU

const int sag_i = 4;
const int sag_g = 5;
const int sol_i = 7;
const int sol_g = 6;
const int sol_sensor = 2;
const int sag_sensor = 3;
int sol_durum, sag_durum;

void setup()
 {
  pinMode(sag_i, OUTPUT);
  pinMode(sag_g, OUTPUT);
  pinMode(sol_i, OUTPUT);
  pinMode(sol_g, OUTPUT);
  pinMode(sag_sensor, INPUT);
  pinMode(sol_sensor, INPUT);
 
}

void loop() 
{
  sol_durum = digitalRead(sol_sensor);
  sag_durum = digitalRead(sag_sensor);


  if (sol_durum == LOW && sag_durum == LOW) // ileri
  {
    digitalWrite(sag_i, HIGH);
    digitalWrite(sag_g, LOW);
    digitalWrite(sol_i, HIGH);
    digitalWrite(sol_g, LOW);
  }
  else if (sol_durum == LOW && sag_durum == HIGH) // sağa
  {
    digitalWrite(sag_i, HIGH);
    digitalWrite(sag_g, HIGH);
    digitalWrite(sol_i, HIGH);
    digitalWrite(sol_g, LOW);
  }
  else if (sol_durum == HIGH && sag_durum == LOW) // sola
  {
    digitalWrite(sag_i, HIGH);
    digitalWrite(sag_g, LOW);
    digitalWrite(sol_i, HIGH);
    digitalWrite(sol_g, HIGH);
  }
  else
  {
    digitalWrite(sag_i, LOW);
    digitalWrite(sag_g, LOW);
    digitalWrite(sol_i, LOW);
    digitalWrite(sol_g, LOW);
  }
  delay(25);
  digitalWrite(sag_i, LOW);
  digitalWrite(sag_g, LOW);
  digitalWrite(sol_i, LOW);
  digitalWrite(sol_g, LOW);
  delay(50); 
}