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.
KULLANILAN MALZEMELER
MALZEME ADI | ADET |
Arduino Nano | 1 |
Siroline Kontrol Kartı | 1 |
TB6612FNG Motor Sürücü | 1 |
QTR 8A Kızılötesi Sensör | 1 |
QTR 8A Kızılötesi Sensör | 2 |
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 Pil | 1 |
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 Teker | 2 |
Siroline Temel Çizgi İzleyen Robot Şasesi | 1 |
QTR Koruyucu- Tutucu | 1 |
Motor Tutucu | 2 |
Distance- Yükseltici | 4 |
Sarhoş Teker | 2 |
Vida ve Somun (3 Metrik) | 30 |
MZ80 Kızılötesi Sensör ve tutucu | 1 |
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.
MONTAJ KILAVUZU
Robot satın alımlarda full montajlı olarak gönderilmektedir. Yinede talep üzerine Montaj kılavuzu pdf olarak eklenecektir.
KOD YÜKLEME VE İYİLEŞTİRME İŞLEMLERİ
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.

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.

İ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.

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.
Not: Eğer bağlantı hatası alıyorsanız bilgisayarınızda sürücü eksik demektir. Öncelikle bilgisayarın Nano Kartı tanıyabilmesi için sürücü yüklemeniz gerekmektedir. Aşağıya 2 farklı sürücü ekliyorum. Genelde CH340 yaygın olarak kullanılsa da nadir olarak FT232R karşımıza çıkmaktadır. Yüklemekte bir sorun olmayacağı için bu iki sürücüyü de bilgisayarımıza kuralım ve tekrar bağlantıyı deneyelim.
CH340 Driver indirmek için tıklayınız.
FT232R Driver indirmek için tıklayınız.
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.

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.

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.

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.
Bu aşamaya kadar yaptığımız tüm işlemler sadece kontrol amaçlı idi. Motorların düz gidiş pinlerini tespit ettikten sonra not alalım. Yazacağımız ana kodda pinleri kullanacağız. Sonra tüm kodları silelim ve sıfırdan kod yazımına başlayalım.
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.

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