You are on page 1of 19

MANİSA CELAL BAYAR ÜNİVERSİTESİ

HASAN FERDİ TURGUTLU TEKNOLOJİ FAKÜLTESİ

ÇİZGİ İZLEYEN ROBOT PROJESİ

Hazırlayan
Mehmet Berkay GÖKSUN, 222801010

MANİSA
2024
İÇİNDEKİLER

1. GİRİŞ ....................................................................................................... 1

1.1 Amaç ..................................................................................................... 1

2. GENEL BİLGİLER ................................................................................... 1

2.1 Kullanılan Malzemeler .......................................................................... 1

2.1.1 Arduino ............................................................................................... 1

2.1.2 Arduino UNO ..................................................................................... 1

2.1.3 REX Chassis Serisi Çok Amaçlı Robot Platform ............................... 2

2.1.4 L298 Motor Sürücü Kartı …………………………………………… 3

2.1.5 Çizgi İzleyen Sensör ………………………………………………… 4

2.1.6 Sarhoş Teker …………………………………………………………. 5

2.1.7 1.5 Volt Pil …………………………………………………………… 5

2.1.8 6’lı AA Pil Yuvası ……………………………………………………. 5

2.1.9 Jumper Kablo veya Zil Teli ………………………………………….. 5

2.1.10 30 mm Metal Aralayıcı (Dişi-Erkek) ………………………………. 5


2.2 Projenin Sanal Ortamda Test Aşaması ………………………………………. 6

2.2.1 Tinkercad ………………………………………………………………… 6

2.3 Yazılım ve Kodlama ………………………………………………………….. 7

3. Montaj Aşaması ………………………………………………………………….. 10

4. Çalışma Mekanizması ……………………………………………………………. 11

5. Test Aşaması ……………………………………………………………………… 12

6. Proje Sonucu ……………………………………………………………………… 13

7. Öneriler ……………………………………………………………………………. 13

8. Kaynakça ……………………………………………………………………...…… 15
1. GİRİŞ

1.1 Amaç

Günümüz dünyasında her geçen saniye geliştirilen teknoloji ve yapay zeka her alanda
durmaksızın ilerlemeye devam ediyor. Bu iki uçsuz bucaksız alanın birleşimi ise eşsiz fikirler
ortaya sunuyor. Özellikle de son zamanlarda herkesin ‘’Daha ne kadar ileriye gidebilirler?’’
sorusuna cevap olarak çıkan her gelişme beklentilerin çok yukarısında oluyor. İnsanların artık
iş gücünden tasarruf edip işlerini robotlara yaptırmaya başlamasıyla birçok fikir ortaya
atılıyor.
Robot tasarımları mekanik, elektronik, bilgisayar donanımı ve yazılımını içeren birden çok
konuda yayılmıştır. Robotun gerekli testleri geçip, istenilen görevleri yerine getirebilmesi için
gerekli teknik zorlukları aşmak zorundadır.
Bu çalışmada, beyaz zemin üstüne kurulu siyah çizgiler çekilmiş bir pist üzerinde ilerleyen
robot tasarımı yapılmıştır.

2. GENEL BİLGİLER

2.1 Kullanılan Malzemeler

2.1.1 Arduino

Arduino, kullanımı kolay ve programlanabilen bir mikrodenetleyici karttır. C/C++ dilleri ile
Arduino IDE aracılığıyla yazılımı yapılır.

2.1.2 Arduino UNO

Arduino serisinin en yaygın ve en uygun kartıdır. Arduino Uno'nun 14 tane dijital giriş çıkış
pinine ve 6 adet analog giriş pinine sahiptir. USB bağlantısı ile bilgisayara bağlanılabilir.
Standart bir USB kablosu veya harici bir güç kaynağı ile besleme yapılabilir.
Şekil 1: Arduino Uno Kartı

2.1.3 REX Chassis Serisi Çok Amaçlı Robot Platformu

Kendi üzerinde motor ve tekerlekleri bulunan çok amaçlı robot kitidir. Montaj bu kit üstüne
yapılmıştır.

Şekil 2: Çok Amaçlı Robot Platformu


2.1.4 L298 Motor Sürücü Kartı

Kart, DC motorları veya adım motorlarını kontrol etmek için kullanılır. Birbirinden bağımsız
2 ayrı motoru kontrol edebilir. Kanal başına 2 Amper akım verebilir. Yüksek sıcaklık veya
kısa devre anında kendini koruyabilir. Motorun dönüş yönüne göre yanan LED’leri vardır.

Şekil 3: L298 Motor Sürücü Kartının Pinlerinin Bağlantı Şeması

Şekil 4: L298N Motor Sürücü Kartı


Şekil 5: L298N Datasheet

2.1.5 Çizgi İzleyen Sensör

Kızılötesi alıcı verici modül bulunduran 3 adet sensör kullanılır. Bu sensörler beyaz zeminin
üstündeki siyah çizgiyi veya siyah zeminin üstündeki beyaz çizgileri takip etmeye yarar.
Robot kitinin ön tarafına monte edilir. Montaj sırasında sensörlerin olabildiğince yere
yaklaşması için aralayıcı adı verilen küçük parçalar takıldıktan sonra sensörler yerleştirilir.

Şekil 6: Çizgi İzleyen Sensör


2.1.6 Sarhoş Teker

Gövde kitinin arka tarafına monte edilir. Montaj sırasında 2 adet aralayıcı 2 adet cıvata ve 2
adet somon kullanılır. Robotun viraj alırken daha iyi manevra yapabilme yeteneğini arttırır.

Şekil 7: Sarhoş Teker

2.1.7 1.5 Volt Pil (6 Adet)

2.1.8 6’lı AA Pil Yuvası

2.1.9 Jumper Kablo veya Zil Teli

2.1.10 30 mm Metal Aralayıcı (Dişi-Erkek)


Şekil 8: Proje Malzemelerinin Kuşbakışı Görüntüsü

2.2 Projenin Sanal Ortamda Test Aşaması

Robotun parçalarını birleştirmeden önce sanal ortamda elde edilen parçalarla test yapılması
için Tinkercad uygulamasından bağlantılar yapılır. Teorik bilgiler uygulamaya dökülür ve
Tinkercad adlı uygulamada test edilir. Herhangi bir eksik görünmez ise parçalar
birleştirilmeye başlanır. Bu aşamanın yapılma amacı teorik bilgilerde atlanılan bir detay
olmaması için yapılır ve parçaların zarar görmesini engeller.

2.2.1 Tinkercad
Uygulama üzerinden robotun tüm elemanları indirilir ve bağlantılar yapılır. Bağlantılar
datasheetlere ve pim özelliklerine göre yapılır ve simüle edilir. Tinkercad simülasyonunda
herhangi bir probleme rastlanılmaması durumunda çizgi izleyen robot projesinin montaj
kısmına geçilir.
Şekil 9: Tinkercad Simüle Aşaması

2.3 Yazılım ve Kodlama

Çizgi izleyen robotun sensör okuma ve hareket kontrolünü sağlamak için Arduino IDE
programı aracılığıyla gerekli kodlar yazılır. Bu kodlar sayesinde sensörlerden gelen verileri
analiz eder, durumlardan hangisini yapacağına karar verir ve harekete geçer. Yaptığımız bu
kodlama robotun çizgi üstünde veya çizgi dışında olduğunu kendisinin anlamasını sağlar ve
karar vermesine yardımcı olur.

#define enA 5
#define enB 6
#define in1 7
#define in2 8
#define in3 9
#define in4 10

#define sol 2
#define orta 3
#define sag 4

int sag_s = 0;
int orta_s = 0;
int sol_s = 0;

void setup()
{
Serial.begin(9600);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(2, INPUT);
pinMode(3, INPUT);
pinMode(4, INPUT);
}

void loop() {
sag_s = digitalRead(sag);
Serial.print("Sağ Sensor: ");
Serial.println(sag_s);
orta_s = digitalRead(orta);
Serial.print("Orta Sensor: ");
Serial.println(orta_s);
sol_s = digitalRead(sol);
Serial.print("Sol Sensor: ");
Serial.println(sol_s);
delay(1000);
if(sag_s==0 && orta_s==0 && sol_s==0)
{
ileri();
}
if(sag_s==0 && orta_s ==1 && sol_s==0)
{
ileri();
}
if(sag_s==0 && orta_s==1 && sol_s==1)
{
soldon();
}
if(sag_s==0 && orta_s==0 && sol_s==1)
{
soldon();
}
if(sag_s==1 && orta_s ==1 && sol_s==0)
{
sagdon();
}
if(sag_s==1 && orta_s==0 && sol_s==0)
{
sagdon();
}

}
void ileri()
{
analogWrite(enA, 200);
digitalWrite(in1, 0);
digitalWrite(in2, 1);

analogWrite(enB, 200);
digitalWrite(in3, 0);
digitalWrite(in4, 1);
}

void soldon()
{
analogWrite(enA, 200);
digitalWrite(in1, 0);
digitalWrite(in2, 1);

analogWrite(enB, 200);
digitalWrite(in3, 0);
digitalWrite(in4, 0);
}
void sagdon()
{
analogWrite(enA, 200);
digitalWrite(in1, 0);
digitalWrite(in2, 0);

analogWrite(enB, 200);
digitalWrite(in3, 0);
digitalWrite(in4, 1 );
}

3. Montaj Aşaması
Şekil 10: Proje Montaj Aşaması

Şekil 11: Montaj İşleminin Bitmiş Hali

4. Çalışma Mekanizması

Beyaz zemin üstüne çekilen siyah çizgiler robotun şasisin ön tarafına koyulan sensörler
sayesinde tespit edilir. Sensörlerden gelen verileri işlemek ve motorları kontrol etmek için
Arduino UNO devreye girer. Motor sürücüsü L298N, motorların hızını ve yönünü kontrol
etmek için kullanılır. Çizgi izleyen robotun hareketini sağlamak için tekerleklerle birlikte
motorlar kullanılır. Güç kaynağı olarak da totalde 9V (1.5Vx6) kalem pil tercih edilmiştir.
Robotun, çizgi izleme algoritmalarını uygulayabilmesi için Arduino IDE aracılığıyla yazılan
kodlar kullanılır. Program mikrodenetleyici üzerinde çalışır ve sensör verilerine dayanarak
motorları kontrol eder. Sensörlerden gelen veri bilgileri alınır. Siyah çizgi görülen sensör ‘’1’’
olarak işlenir.
Sol sensör ‘’1’’, orta ve sağ ‘’0’’ bilgisi gelirse sol teker motoru çalışır, sağ teker motoru
durur ve robot sola gider.
Sağ sensör ‘’1’’, orta ve sol ‘’0’’ bilgisi gelirse sağ teker motoru çalışır, sol teker motoru
durur ve robot sağa gider.
Orta sensör ‘’1’’, sağ ve sol ‘’0’’ bilgisi gelirse her iki taraftaki tekerlek motorları çalışır ve
motor düz gider.

5. Test Aşaması

Robot hazırlandıktan sonra robotun performansının, sensörlerin hassasiyetini, çizgi izleme


algoritmalarının doğruluğunu ve motor gücünü kontrol etmek amacıyla test aşamasına geçilir.
Test aşamasında motorun koyulacağı zeminin beyaz ve kirli olmamasına dikkat edilir. Beyaz
zemin üzerine siyah bant ile test pisti hazırlanır ve robot başlangıca koyulur. Çeşitli zorluklar
hazırlanarak sensörlerin çizgiyi takip edip etmediği ve robotun virajları nasıl aldığı test edilir.

Şekil 12: Test Aşaması


6. Proje Sonucu

Proje sonucunda robot, zeminle temas eden sensörleri aracılığıyla çevresindeki çizgiyi
algılamış ve entegre edilen Arduino mikrodenetleyici sayesinde yeterince hızlı ve doğru
kararlar alarak izlemiştir. Motor sürücüleri, kontrol programlaması ile robotun çizgi üzerinde
hassas bir şekilde hareket etmesi sağlanmıştır. Proje sürecinde robot üstünde yapılan testler
programlamanın, sensörlerin doğruluğunu ve çeşitli çizgi izleme olasılıklarına hata yapmadan
çalışmaya devam ettiği tespit edilmiştir.

7. Öneriler

Robotun dikkat çeken zayıf bir özelliği tespit edilmiştir. Sensörlerin gövde kitinden uzağa
koyulmasından ötürü robotun viraja girerken çok erken güç kestiği ve olması gerektiğinden
daha fazla yavaşladığı görülmüştür. Bu sebepten ötürü kesin virajlar robotun zayıf yönü
olarak belirlenmiştir. Bu problemi çözmek için sensörlerin robot gövde kitine daha çok yakın
monte edilmesi gerektiğine karar kılınmıştır.
Projeyi Hazırlayan;

Adı: Mehmet Berkay Bölümü: Mekatronik Mühendisliği


Soyadı: GÖKSUN Numarası: 222801010
KAYNAKÇA

 https://www.robotistan.com/arduino?
gad_source=1&gclid=Cj0KCQjwwMqvBhCtARIsAIXsZpaedGEtG3esIzPKTV-
OyDLQb2KXBgc6Q-JGOosSkaFSdQhWlD4iZwoaAlz6EALw_wcB

 https://www.alpgenrobotics.com/arduino-cizgi-izleyen-robot-yapimi

 https://www.youtube.com/watch?v=I2grQGtD19I

 Kodlar: https://www.alpgenrobotics.com/arduino-cizgi-izleyen-robot-yapimi

 https://www.robotistan.com/arduino-uno-r3-klon-usb-kablo-hediyeli-usb-chip-ch340?
utm_source=youtube&utm_medium=aciklama&utm_campaign=cizgi_izleyen_video

 https://www.robotistan.com/platforma-cok-amacli-mobil-robot-platformu-turuncu?
utm_source=youtube&utm_medium=aciklama&utm_campaign=cizgi_izleyen_video

 https://www.robotistan.com/l298n-voltaj-regulatorlu-cift-motor-surucu-karti?
utm_source=youtube&utm_medium=aciklama&utm_campaign=cizgi_izleyen_video

 https://www.robotistan.com/4lu-cizgi-izleyen-sensor-seti-4-way-tracking-module?
utm_source=youtube&utm_medium=aciklama&utm_campaign=cizgi_izleyen_video

 https://www.robotistan.com/6li-aa-pil-yuvasi?
utm_source=youtube&utm_medium=aciklama&utm_campaign=cizgi_izleyen_video

 ChatGPT https://chat.openai.com/

 Tinkercad https://www.tinkercad.com/circuits

8. Sadece konu ile ilgili durumu aktaran raporlar vardır. Sorunlara ve çözüm yollarına
girmez.

15. İstatistik bilgilere dayalı olmalıdır. Yapılmadı


22. Konu ile ilgili sözkonusu ülkedeki ya da dünyadaki durumun da duruma göre
özetlenmesi ya da betimlenmesi gereklidir. Yapılmadı.

25. İlginç ve az bilinir bilgilerin olması raporu ilginç ve önemli kılar.

You might also like