Professional Documents
Culture Documents
Hazırlayan
Mehmet Berkay GÖKSUN, 222801010
MANİSA
2024
İÇİNDEKİLER
1. GİRİŞ ....................................................................................................... 1
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.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.
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ı
Kendi üzerinde motor ve tekerlekleri bulunan çok amaçlı robot kitidir. Montaj bu kit üstüne
yapılmıştır.
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.
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.
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.
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ı
Ç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ı
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ı
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;
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.