
Merhaba arkadaşlar,
Bu yazımda sizlere basit bir çizgi izleyen robot yapımını anlatacağım. Öncelikle çizgi izleyen robotun ne olduğundan ve çalışma mantığından bahsedelim.
Çizgi izleyen beyaz zemin üzerindeki siyah çizgiyi ya da siyah zemin üzerindeki beyaz çizgiyi takip eden bir robottur. Robot yarışmalarının vazgeçilmezi, belki de artık klişeleşmiş bir robottur.
Altında bulunan sensörler sayesinde siyah ve beyazı ayırt ederek yolunu bulur. Peki nasıl bulur? A,B,C durumlarını inceleyerek anlamaya çalışalım…
A durumunda şekilde görüldüğü gibi üç sensörden,soldaki sensör bize bilgi (kırmızı olan) veriyor. Yani robotumuz çizgiden sağa sapmış. Robotu tekrar çizgiye getirmek için sola dönüş yapmamız gerek. Bunu da sol motoru durdurup sağ motora güç vererek yapabiliriz.
B durumunda ise sağdaki sensör bize bilgi veriyor. Yani robot sola sapmış. Bizim robotumuzu sağa döndürmemiz gerek. Bunu da sağ motoru durdurup sol motora güç verdiğimizde başarabiliriz.
C durumunda ise bize ortadaki sensörden bilgi geliyor. Yani robotumuz zaten çizgi üzerinde. Bu durumda her iki motora da güç vererek robotumuzun düz gitmesini sağlayabiliriz.
Kullanılan Malzemeler
- QTR
- L293D Motor Sürücü
- DC Motor
- Arduino
- Robot İçin Uygun Bir Kasa
- Sarhoş Teker
QTR
QTR çizgiyi algılamakta kullanacağımız sensördür. Dijital ve analog olanları vardır. Dijital olanlar programlanması kolay olduğundan
daha çok tercih edilir. Üç bacaklı olup ikisi besleme uçlarımız(+5V ve GND) bir tanesi ise bilgi ucumuzdur.
L293D Motor Sürücü
Motorlar led direnç gibi elektronik aletlerden daha fazla akım çektiklerinden tek başlarına kullanılmaz, bir motor sürücü ile kullanılırlar.L293D yaklaşık 1.2 A ‘e kadar dayanabilen, işimizi görecek bir entegredir. Entegrenin bacak bağlantıları da yandaki şekilde görülmektedir.
DC Motor
Başlangıç için 6-9 V ‘luk DC motor işimizi görecektir.
Arduino
Arduino bildiğimiz gibi robotumuzun beynidir. Robotumuzu onun sayesinde kontrol edeceğiz.
Robot İçin Uygun Bir Kasa
Kasa olarak üç boyutlu yazıcıdan uygun bir kasa çıkartarak kendi özel kasanızı kullanabilirsiniz. Eğer imkanınız yoksa bir delikli plaket işinizi görecektir.
Sarhoş Teker
Robotumuzun hareketini kolaylaştırmak için sarhoş teker kullanabiliriz.
Devre Şeması
Arduino Kodları
int sol_s = 2, ort_s = 3, sag_s = 4; //sensör pinleri int sol_g = 9; //motor pinleri int sol_i = 8; int sag_g = 11; //eğer motor dönüş yönünde problem int sag_i = 12; //yaşıyorsanız bunu pinlerin yerini //değiştirerek çözebilirsiniz int dur2, dur3, dur4; //sensörden okunacak değerlerin //atanacağı değişkenler void setup() { pinMode(2, OUTPUT); pinMode(3, OUTPUT); pinMode(4, OUTPUT); //motor pimleri çıkış olarak ayrkanır pinMode(5, OUTPUT); pinMode(2, INPUT); pinMode(3, INPUT); //sensör pinleri giriş olarak ayarlanır pinMode(4, INPUT); } void loop() { dur2 = digitalRead(sol_s); dur3 = digitalRead(sag_s); //sensörlerden gelen bilgiler dur4 = digitalRead(ort_s); //okundu ve değişkenlere atandı if (dur3 == HIGH) { digitalWrite(sol_i, HIGH); digitalWrite(sol_g, LOW); //eğer ortadaki sensörden bilgi digitalWrite(sag_i, HIGH); //geliyorsa robot düz gidecek digitalWrite(sag_g, LOW); } else if (dur2 == HIGH) { digitalWrite(sol_i, LOW); digitalWrite(sol_g, LOW); //eğer sol sensörden bilgi digitalWrite(sag_i, HIGH); //geliyorsa robot sağa dönecek digitalWrite(sag_g, LOW); } else if (dur4 == HIGH) { digitalWrite(sol_i, HIGH); digitalWrite(sol_g, LOW); //eğer sağ sensörden bilgi digitalWrite(sag_i, LOW); //geliyorsa robot sola dönecek digitalWrite(sag_g, LOW); } }
NOT: Robot üç tane sensör ile ve en basit şekilde yapılmıştır. Sizler sensör sayısını arttırıp daha fonksiyonel bir kod yazarak çok daha verimli robotlar yapabilirsiniz… Şimdiden kolay gelsin…
Engelden Kaçan Robot Yapımı | roboturka.com |
23 Temmuz 2017 at 08:31
[…] gibi malzemelerimizi “çizgi izleyen robot” yazımızda kısaca bahsetmiştik. O yazıma buradan ulaşabilirsiniz.O yüzden şimdi sadece HC-SR04 ultrasonik mesafe sensörünü […]