Siroline Çizgi İzleyen Robot

Merhaba arkadaşlar, tüm robot yarışmalarında vazgeçilmez kategori olan çizgi izleyen robot yarışmaları için geliştirdiğimiz Siroline Temel Çizgi İzleyen Robotun yapım ve kodlama aşamalarını anlatacağım. Umarım faydalı olur ve beğenirsiniz.

Önemli Bilgilendirme:

  • Bu robot MEB Robot Yarışması Temel Seviye Çizgi İzleyen Kategorisi Şartnamesine uygun olacak şekilde tasarlanmaya çalışılmıştır.
  • Performanstan ödün vermeden mBlock ile blok tabanlı olarak kodlanabilmektedir. Bu sayede kodları çocukların yazması amaçlanmıştır.
  • PID algoritması kullanılarak hızlı çizgi izleme ve Encoder kullanılarak istenilen yerlerde hızlandırma, yavaşlatma özelliği bulunmaktadır.
  • Kod yazımı ve karşınıza çıkabilecek tüm algoritmalara çözümler Sıfırbir Yayınları Robotik Kodlama kitabında paylaşılmıştır.

MALZEME ADIADET
Arduino Nano1
Siroline Kontrol Kartı1
TB6612FNG Motor Sürücü1
QTR 8A Kızılötesi Sensör1
QTR 8A Kızılötesi Sensör2
6-12V Plastik Redüktörlü Motor ( 250-500-1000-2000rpm seçenekleri)2
2mm 2 Pin JST Kablo (Motor Kart Bağlantısı)2
3S- 11.1 Lipo Pil1
JST Kablo- (Lipo Pil Kart Bağlantısı)1
Dişi-Dişi Jumper Kablo (QTR-8A Kart Bağlantısı)40
5 Shore Silikon Teker2
Siroline Temel Çizgi İzleyen Robot Şasesi1
QTR Koruyucu- Tutucu1
Motor Tutucu2
Distance- Yükseltici4
Sarhoş Teker2
Vida ve Somun (3 Metrik)30
MZ80 Kızılötesi Sensör ve tutucu1

Robot üzerinde kullanılan malzemeler yukarıda tablo halinde verilmiştir. Set haline Sivas Robotik adresinden ulaşabilirsiniz. Detaylı bilgi için mutlaka İnstagram hesabım üzerinden bana ulaşabilirsiniz.


Robot satın alımlarda full montajlı olarak gönderilmektedir. Yinede talep üzerine Montaj kılavuzu pdf olarak eklenecektir.


Robotların küçük yaş grupları tarafından kodlanabilmesi için mBlock programından kodlayabileceğimiz bir eklenti oluşturulmuştur. Tüm kodlama işlemleri mBlock üzerinden yapılacaktır. Mblock programınız yok ise buraya tıklayarak indiriniz.

1- KART SEÇİMİNİ YAPALIM

Program yüklendikten sonra mBlock programını açalım ve Aygıtlar altında bulunan aygıtları silelim.

mblock

Daha sonra Ekle seçeneğini kullanarak Nano araması yapalım. Aşağıda resimde olduğu gibi iki farklı Nano kartın listelendiğini göreceğiz. İkisi de aynı fakat birinde parantez içinde (Old Bootloader) yazar. Biz öncelikle Arduino Nano kartını seçerek deneme yapacağız. Eğer kod yükleme işlemi yapılıyorsa kartımız Arduino Nano demektir. Eğer yapılmazsa Arduino Nano Old olan seçeneği seçerek tekrar deneyeceğiz.

blank

İlk olarak Arduino Nano seçip kablo ile bağlantısını yapalım. Kartımız aygıtlar bölümünde göründükten sonra bağlantı kuralım.

blank

Bağlan seçeneğini seçip Tüm bağlanabilen aygıtları göster kutucuğunu işaretleyelim ve açılan portlardan nano kartımızın bağlı olduğu portu seçerek Bağlan diyelim.

Sürücüleri yükleyip denedikten sonra artık sorunsuz Nano ile Bilgisayar arasındaki bağlantıyı kuracağız. Şimdi kartımızı belirleme aşamasına geri dönelim.

Kod alanına “Arduino başlatıldığında” (aşağıda resimde verilen) kod bloğunu ekleyerek yükleme yapalım. Sadece aşağıdaki kod bloğunu yazacağız.

blank

Eğer yükleme yapıyorsa doğru kart seçimi yapmışız kartımız Arduino Nano demektir. Yükleme yapmaz ise kartı kaldırıp Arduino Nano Old kartını ekleyip aynı blok kodu yazarak yükleme işlemi yapıp deneyelim.

Kartımızı belirleyip kod yükleme işlemini yapabildiğimizden emin olduktan sonra diğer işlemlere geçebiliriz.

2- ÇİZGİ İZLEYEN ROBOT UZANTISINI YÜKLEYELİM

Çizgi izleyen robot projeleri genellikle yüksek performans alabilmek için Arduino IDE ile metin tabanlı olarak kodlanmaktadır. Performans kaybı olmadan blok tabanlı kodlayabilmek için Çizgi İzleyen Robot Uzantısı oluşturulmuştur.

Robotumuzu yaparken bu uzantıyı kullanacağız Kartımızı ekledikten sonra uzantı ekleme bölümüne girelim ve arama kısmına “Çizgi İzleyen Robot” yazarak görselde verilen uzantıyı bularak ekleyelim. 

blank

Uzantıyı ekledikten sonra QTR 8A kızılötesi sensöründen değer alabilecek ve alınan değerlere göre motor güçlerini ayarlayabileceğimiz kod blokları kullanılabilir hale gelecektir.

3- MOTOR BAĞLANTILARINI KONTROL EDELİM

Ana kodlara geçmeden önce robotumuzun motorlarını doğru şekilde bağlayıp bağlamadığımızı kontrol edelim. Bunun için aşağıdaki kod bloklarını yazarak karta yükleyelim.

blank

Görselde verilen kod bloklarını robotumuza yüklediğimizde robotumuzun sağ ve sol motoru 100 hızında ileri doğru hareket etmesi gerekmektedir. Eğer herhangi bir motorumuz ters yönde hareket ediyorsa ilgili motorun M1 ve M2 değerlerini değiştirerek tekrar yükleme yapmalıyız. Bu kod bloklarını yükleyip deneme yapmadan diğer kodlara geçmeyelim. Motorlardan herhangi birinin ters bağlanmış olması robotun düzgün çalışmasını engelleyecektir.

4- ÇİZGİYİ İZLETELİM

Aşağıda verilen kod bloklarını yazalım. Yazarken sağ motor pinleri ve sol motor pinlerini bir önceki aşamada tespit ettiğimiz pinlere göre düzeltelim.

blank

Yukarıdaki kod bloklarını yazdığımızda Çizgi İzleyen Robotumuz sorunsuz bir şekilde çizgi takibi yapacaktır. Bu kodlarla robotun 2024 MEB Robot Yarışma pisti üzerindeki performansı aşağıya eklenmiştir.


5- KALİBRASYON VE KONUMLANDIRMA

Robotun kodlarını yükledikten sonra pistimiz üzerinde doğru bir kalibrasyon yapmak ve bırakmak oldukça önemlidir. Motorların daha hızlı gidebilmesi için işlemler yapıldığından robotların kendi kendine kalibrasyon yapma yeteneği ortadan kalkmıştır. Bu yüzden kalibrasyon işlemini elle yaptıktan sonra çizginin üzerine ortalı bir şekilde bırakmanız gerekmektedir. Örnek kalibrasyon yapma videosu aşağıya eklenmiştir.

6- UYARILAR

Pist üzerinde deneme yaparak robotunuzun çizgileri net bir şekilde takip edecek taban hız değerini bulunuz. Düz çizgilerde sorunsuz gidecektir. Fakat virajlarda ve 90 derece açılarda çizgiden çıkıyorsa hızınızı azaltmanız veya bu bölümler için özel kodlar yazmanız gerekebilir. Robotun encoder özelliğini kullanarak istediğiniz bölümlerde hızlanıp istediğiniz bölümlerde yavaşlayarak pisti çok iyi sürelerde tamamlayabilirsiniz.

7- MEB ROBOT YARIŞMASI DERECELERİ

Robotumuz Türkiye’nin En büyük temel seviye çizgi izleyen yarışmasında kendini gösterdi. Ödülleri alarak döndü.

8- ÖRNEK KOD KULLANIM YAPILARI

Buraya örnek bloklar eklenecektir.

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*