Sayfalar

1 Şubat 2014 Cumartesi

Çizgi izleyen Robot - TulpaR - Line follower robot



Arduino Uno kiti kullanılarak yapılan bir çizgi izleyen robot uygulamasıdır. Ondokuzmayıs Üniversitesi, Elektrik-Elektronik Müh. Böl. 2013 yılında 5 günlük yaz stajı uygulamasında öğrencilere uygulamalı olarak anlatılmış ve uygulaması her bir öğrencilere yaptırılmıştır. Application of line following robot using the Arduino Uno kit Gerekli yazılımı bu adresten indirebilirsiniz. Ayrıca bağlantı şeması aşağıdadır.  You can download the software from this link :

Çizgi izleyen robot için Arduino kodları - Arduino codes for line follower robot

Şekil 1. Tulpar çizgi izleyen robot bağlantı şeması - Tulpar line follower robot pin layout

11 yorum:

  1. merhaba hocam arduino uno R3 ile çizgi izleyen robot yapıyorum fakat verdiğiniz kodu programa attığımda 'QTRSensorsRC' does not name a type' şeklinde bir hata alıyorum yardımcı olursanız sevinirim teşekkürler.

    sketch_apr10b:21: error: 'QTRSensorsRC' does not name a type
    sketch_apr10b:21: error: expected unqualified-id before ',' token
    sketch_apr10b:22: error: expected unqualified-id before numeric constant
    sketch_apr10b:23: error: expected constructor, destructor, or type conversion before 'unsigned'
    sketch_apr10b.ino: In function 'void setup()':
    sketch_apr10b:50: error: 'sensorValues' was not declared in this scope
    sketch_apr10b.ino: In function 'void loop()':
    sketch_apr10b:58: error: 'qtrrc' was not declared in this scope
    sketch_apr10b:58: error: 'sensorValues' was not declared in this scope
    sketch_apr10b.ino: In function 'void hareket()':
    sketch_apr10b:83: error: 'sensorValues' was not declared in this scope

    YanıtlaSil
    Yanıtlar
    1. Merhaba,

      Hata vermesinin sebebi : "QTRSensors" adlı kütüphanenin yüklü olmamasıdır.
      Çözüm :

      1- https://github.com/pololu/qtr-sensors-arduino bağlantısındaki "QTRSensors" adlı dosyayı indir.

      2- Arduino web sitesinden indirmiş olduğun Arduino klasörünü aç.

      - Bu klasör içinde examples, hardware ve libraries gibi dosyalar göreceksin.

      - Bunlardan libraries dosyasının içine indirmiş olduğun QTRSensors dosyasını kopyala

      - Çizgi izleyen yazılımını yeniden derlediğinde sorunun çözülmüş olması lazım.

      Sil
    2. merhaba. hayirli isler dilerim.size. cizgi izliyen. robotunuzu. yapmak.
      isterdim. sizden istedigim. calisan. kod. gonderseniz. cok .sevinirim.
      isvecten selamlar. hayirli ramazanlar.

      Sil
    3. Bu videodaki çalışan robotun yazılımı :
      http://ilkadim.omu.edu.tr/~ctepe/indir2/cizgi_izleyen_robot.ino

      Bu yazılıma göre donanımın montaj bağlantıları ise bu sayfadaki videonun altındaki fotoğrafta verdim.

      İsveçe selamlar, sizlere de hayirli ramazanlar

      Sil
  2. Merhaba, bizim drıverımız sizinkiden farklı drv8833 baglantılarında sorunla karsılasıyoruz ve kodunuzun bu kısmını acıklarsanız cok sevınırız
    int enablePinA = 9;
    int enablePinB = 10;
    int in1Pin = 7;//
    int in2Pin = 6;//
    int in3Pin = 5;//
    int in4Pin = 4;
    pinMode(in1Pin, OUTPUT);
    pinMode(in2Pin, OUTPUT);
    pinMode(in3Pin, OUTPUT);
    pinMode(in4Pin, OUTPUT);
    pinMode(enablePinA, OUTPUT);
    pinMode(enablePinB, OUTPUT);
    pinMode(sensorValues[0], INPUT);
    pinMode(sensorValues[1], INPUT);
    pinMode(sensorValues[2], INPUT);

    YanıtlaSil
  3. Hocam, Arduino Uno R3 ile çizgi izleyen robot yapmaktayım. Beyaz çizgide ilerliyor, fakat hem siyah çizgide ilerlemesi hem de hareket halindeyken pistteki renk değişikliğini algılaması için ne yapmam gerekiyor? Yazdığım kodu gönderirsem,üstünde ne gibi eklemeler yada değişikler yapmam gerektiğini söyleyebilir misiniz?

    YanıtlaSil
  4. Hocam,vermiş olduğunuz programa ilaveten MZ80 kızılötesi sensörün engel algılaması için nasıl bir program yazmalıyım? Birde hocam ben çizgi sensörü olarak QTR-8A analog sensör kullanıyorum bir sorun olur mu?

    YanıtlaSil
  5. Yoğunluktan dolayı uzun zamandır bloğuma yazamıyordum. Hem Erdal hem de Adnan beyin sorularına cevap olarak:

    Soru-1- Sensörlerin değişmesi yazılımı değiştirmez. Diğer bir deyişle MZ80 kızılötesi veya QTR-8A olması yazılımda neyi değiştirir ?
    Yanıt -1- Aşağıda yazılımın bir bölümünü verdim. Burada ben QTR 8C sensörü ile analog olarak üç adet sensörden gelen veriyi okuyorum. Ve bunları sensorValues[0], sensorValues[1], sensorValues[2] olmak üzere üç değişkene atıyorum. Bu üç değişkenden gelen verilerim 0-1023 aralığında 10 bit olarak analogtan sayısala dönüşüyor. Ben robotumu gideceği piste koyduğumda QTR 8C sensörünü beyaz zeminde siyah çizgi üzerinde iken sensorValues[1] den okuduğum değer 619 değeri ise ben eşik değerini "esik" değişkenine atıyorum ve yazılım içerisine "esik = 619; " şeklinde yazıyorum.

    ...
    void hareket()
    {

    if ((sensorValues[0] < esik_deger ) && (sensorValues[1] > esik_deger) && (sensorValues[2] < esik_deger))
    {
    motor_ileri(3, enAspeed, enBspeed);
    ...

    Sözün özü sizin QTR 8C sensörünü MZ80 kızılötesi veya QTR-8A sensörü ile değiştirdiğinizde siz örneğin sensorValues[0] (diğerleride olabilir bir tanesi yeterlidir.) değişkeninden okuduğun değer ne ise diyelim ki 19 olsun. "esik=619" yerine "esik=19" yazdığınızda sorun çözülmüş olacaktır.

    Soru 2-Beyaz çizgide ilerliyor, fakat hem siyah çizgide ilerlemesi hem de hareket halindeyken pistteki renk değişikliğini algılaması için ne yapmam gerekiyor?

    Yanıt 2- Yanıt 1 deki gibi sadece eşik değişkenini değiştirmen yeterli. Diyelimli sensör beyaz zemin üzerinde iken "esik = 119" siyah zemin üzerinde iken "esik = 619" bunu belirledikten sonra esik değişkenini değiştirmen ve birkaç tane "if else " içeren kodlarda değişiklik yapman yeterli olacaktır. Çünkü pistin boyasına ve ortamın ışığına göre bu eşik değerli sürekli değişir. Piste robotu yarıştırmadan önce bu eşik değerleri kontrol edilmeli ve gerekli değişiklikler yapılmalıdır.

    YanıtlaSil
  6. merhaba. hayirli isler dilerim. size. bu kodu. burda indirilmiyor. hata veriyor?
    http://ilkadim.omu.edu.tr/~ctepe/indir2/cizgi_izleyen_robot.ino. buraya basinca.
    kod . acilmiyor. hata veriyor. sizden. bunu ögrenmek. istiyorum. tesekkurler.
    allaha emanet olun.

    YanıtlaSil
    Yanıtlar
    1. Bağlantıda sorun var. Aşağıdaki linke de kodları ekledim. Buradan da indirebilirsiniz.

      https://drive.google.com/file/d/0B9kdJEkHIU5kd2tJdGdPc3dsNG8/view?usp=sharing

      Sil
  7. Kodun olduğu bağlantı da sorun var. Aşağıdaki linke de kodları ekledim. Buradan da indirebilirsiniz. Not: Aşağıdaki linki kopyalayın ve tarayıcınızın adres satırına yapıştırıp enter a basın. Açılan pencereden indir e tıklayın.

    https://drive.google.com/file/d/0B9kdJEkHIU5kd2tJdGdPc3dsNG8/view?usp=sharing

    YanıtlaSil