Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Robotik kodlama mini sumo çizgi izleyen, Schemes and Mind Maps of Robotics and Autonomous Systems

line follower robot , mini sumo robot, line follower robot

Typology: Schemes and Mind Maps

2020/2021

Uploaded on 01/24/2021

erkan-kasik
erkan-kasik 🇹🇷

5

(2)

3 documents

1 / 40

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28

Partial preview of the text

Download Robotik kodlama mini sumo çizgi izleyen and more Schemes and Mind Maps Robotics and Autonomous Systems in PDF only on Docsity!

TURKROBOKİT EĞİTİM KLAVUZU

İçindekiler:

1-) Robot kiti içeriği

2-) Robot kartının incelenmesi

3-) Sensörlerin tanıtımı

4-) Motor Kontrol Alt Programı Kullanımı

5-) Turkrobokit ışık izleyen robot yapımı

6-) Turkrobokit engelden kaçan robot yapımı

7-) Turkrobokit sumo robot yapımı

8-) Turkrobokit bluetooth kontrollü robot yapımı

9-) Turkrobokit çizgi izleyen robot yapımı

10-) Turkrobokit çizgi izleyen algoritmaları

a) İki çizgi arası hızlanma

b) 90 derece dönüşler

c) Yol ayrımında karar verme

d) Kesik çizgilerden geçme

e) Engelden atlama

f) Zemin değiştirme

g) Zamana ve referans noktalarına bağımlı olarak hızlanma

h) Haydi yarışalım :D

https://www.youtube.com/watch?v=BxqWyT5xYcw

2-) Robot kartının incelenmesi

Günümüzde kodlama ve elektronik severlerin ilgi alanları, geliştirme kartlarını kullanarak proje geliştirmeye yöneltmektedir. Kaynak fazlalığından ve kodlama kolaylığından dolayı Arduino geliştirme kartları oldukça popülerdir. Bundan dolayı bizler temel robotik kartımızda Arduino Nano V3 kartını tercih ettik. Toshiba firması tarafından üretilen TB6612 motor sürücü entegresini devremizde kullanmaktayız. TB6612FNG kartı çift kanal DC motor sürebilmektedir. Kanal başına sürekli olarak 1A çıkış verebilen kart anlık 3A e kadar desteklemektedir. Daha yüksek akım elde edebilmek için TB6612FNG kartları üst üste lehimleyerek paralel bağlanabilirler. Paralel bağlantıda akım değerleri 2 kat artabilmektedir. Motor sürücü besleme gerilimi en fazla 13,5V verilebilir. Robotik uygulamalarda motor devir hızı pil gerilimine bağlı olarak değişmektedir. Örneğin DC bir motora 12,2V gerilim altında 127PWM kontrol sinyali verdiğinizde yaklaşık olarak 1200 devirde döndüğünü farzedelim. Pil gerilimi azaldıkça devir hızı ve torkta düşecektir. Bu durum özellikle çizgi izleyen robotlarda önem arz etmektedir. Çizgi izleyen robot yarışmalarında önceden ölçüleri belli olan pistlerde başarılı olabilmek için zamana göre kodlama yapılabilmektedir. Pil gerilimdeki değişimler zamanlarda kaymalara sebep olmaktadır. Robotunuz 16. Saniyede 23m yol alması gerekirken pildeki azalmadan dolayı 22 veya 21m yol alabilir. Bu olumsuz durumun önüne geçebilmek için gerilimin sabitlenmesi gerekmektedir. Gerilim değişimlerinin önüne geçmek için step-up veya step-down regülatör modülleri kullanılabilir. Bizim temel robotik kartımızda regülatör bağlantıları için pinleri mevcuttur. Gerekli bağlantılar kılavuzumuzun ilerleyen sayfalarında anlatılacaktır. Kartımız üzerinde kullanılan Arduino nano pinlerinin kullanım tablosu aşağıda verilmiştir.

Arduino Amacı & Kullanımı Arduino Amacı & Kullanımı

D0 Bluetooth bağlantısı D11 Sağ Motor PWM (Hız Kontrol) D1 Bluetooth bağlantısı D12 Taktik Anahtarı D2 Dijital sensör bağlantısı D13 Dahili Kontrol Ledi D3 Dijital sensör bağlantısı A0 Analog Giriş 0 D4 Dijital sensör bağlantısı A1 Analog Giriş 1 D5 Sol Motor PWM (Hız Kontrol) A2 Analog Giriş 2 D6 Sol Motor Yön Kontrolü 1 A3 Analog Giriş 3 D7 Sol Motor Yön Kontrolü 2 A4 Analog Giriş 4 D8 Dijital sensör bağlantısı A5 Analog Giriş 5 D9 Sağ Motor Yön Kontrolü 2 A6 Analog Giriş 6 D10 Sağ Motor Yön Kontrolü 1 A7 Analog Giriş 7 Kart ile ilgili videoya aşağıdaki linkten ulaşabilirsiniz.

https://www.youtube.com/watch?v=FcbEt8sOGKE

d) SG90 micro servo SG90 Servo Motor - Tower Pro, Futaba kumandalarla uyumlu, RC projelerde kullanılabilecek küçük boyutlu bir servo motordur. PWM sinyalleriyle kontrol edilir. Motorun dişli kutusu plastiktir. SG90 Servo Motor - Tower Pro paketi içerisine değiştirilebilir servo başlıkları dahildir. Boyutları: 23.1mm x 12.2mm x 29mm Ağırlık: 9g Hız @4.8V: 0.1sn/ Zorlanma torku @ 6V: 1.3kg-cm Kablo Uzunluğu: 15cm e) HCSR HC-SR04 Ultrasonik mesafe ölçümü yapabileceğiniz cisim sensörüdür. 2cm'den 400cm'ye kadar 3mm hassasiyetle ölçüm yapabilen bu ultrasonik sensör çeşitli uzaklık okuma, radar ve robot uygulamalarında kullanılabilir. Arduino ve tüm mikrodenetleyicilerde sorunsuz kullanabilirsiniz. Çalışma Voltajı DC 5V Çektiği Akım 15 mA Çalışma Frekansı 40 Hz Maksimum Görme Menzili 4m Minimum Görme Menzili 2cm Görme Açısı 15° Tetik Bacağı Giriş Sinyali 10 us TTL Darbesi Echo Çıkış Sinyali Giriş TTL sinyali ve Mesafe Oranı Boyutları 45mm x 20mm x 15mm f) QTR8A analog kızılötesi çizgi sensörü Çizgi izleyen robotlar için tasarlanmış olan bu sensör kartı 1cm arayla yerleştirilmiş 8 IR LED/fototransistör çifti barındırmaktadır. Stabil ve sorunsuz çalıştığı için robotlarda çok fazla tercih edilmektedir. LED çiftlerinin her biri ayrı birer MOSFET transistörle sürülmektedir ve ek hassasiyet ya da güç tasarrufu için LED'ler kapatılabilir. Kart üzerindeki her sensör ayrı bir analog voltaj çıkışı sağlar. Her bir sensöre bir pull-up direnci bağlanmıştır. Zeminin ışığı yansıtması veya cisimle olan mesafesine göre voltaj çıkışı analog olarak değişir. Yansıma arttıkça çıkış voltajı da yükselir. QTR-8A Sensör Kartı çizgi izleyen robotlar dışında bir yakınlık veya cisim algılama sensörü olarak da kullanılabilir. 4-) Motor Kontrol Alt Programı Kullanımı Yapacağımız tüm robotlarda redüktörlü DC motorlarımızı kontrol edebilmek için motor kontrol alt programımızı sıklıkla kullanacağız. Bu sebepten kodlamaya başlamadan önce mantığının çok iyi kavranması gerekmektedir. Motor kontrol alt programımızda iki temel parametre vardır bunlar sağ motor hızı ve sol motor hızı. Biz kartımızda iki kanallı, çift yönlü TB6612FNG motor sürücü kullanıyoruz. Bu sürücü de A ve B kanalları ile motorlara birbirinden bağımsız olarak yön ve hız ayarı yapılabiliyor. Motor sürücüde A motorunun yönünü kontrol edebilmek için 2 tane pin vardır. TB6612 hakkında detaylı bilgi için https://www.pololu.com/file/0J86/TB6612FNG.pdf adresini kullanabilirsiniz. Motor kontrol alt programımızda parametre olarak -255 ile +255 arasında PWM değeri yazabiliriz. 255 PWM motorlara tam güç aktarız 0 PWM ise dinamik frenler. Ara değerler ile aktarılan güç değiştirilir ve hız da değişmiş olur. Negatif değerler motorun geri döndüreceğimizi pozitif değerler ise ileri yönde döndüreceğimiz

gösterir. Parametlerden birincisi sol motor hız ve yön bilgisini ikincisi de sağ motor hız ve yön bilgisini göstermektedir. Bundan sonrasını örneklerle açıklayalım. motorkontrol(127,127); delay(1000); // 1sn boyunca orta güçte ileri gider motorkontrol(255,255); delay(250); // 250ms tam gaz ileri gider motorkontrol(0,100); delay(500); // 500ms boyunca sol motor fren yapar sağ motor 100PWM ileri gider motorkontrol(200,100); delay(500); // 500ms boyunca sol motor hızlı olmak üzere sağa kavis çizer motorkontrol(-50,-50); delay(750); // 750 boyunca iki motorda 50PWM hızında geri gider motorkontrol(0,0); delay(5000); // 5sn boyunca iki motorda frenler motorkontrol(-200,0); delay(350); // 350ms boyunca sol motor geri döner sağ motorda frenler Bu kadar örnek konunun anlaşılması için yeterlidir sanırım. Alt program kodlarımızı inceleterek nasıl çalıştığını anlayabiliriz. Ancak bu alt programı kullanabilmek için kitabın ilerleyen sayfalarındaki tanımlamaları yapmalısınız. Bu şekilde derleme hatası verir. Artık robotlarımızı kodlamaya başlayabiliriz. 5-) Turkrobokit ışık izleyen robot yapımı Türkrobokit kartımızın bulunduğu ana gövdeye 3 adet farklı yönlere bakan LDR li sensör kartımızı QTRA yazan pinlere yerleştiriyoruz. LDR lerden robota arkadan baktığımızda en sağda bulunan LDR kartımızın A0 analog girişine ortadaki LDR kartımızın A1 pini ve en soldaki LDR ise A2 pinine bağlanmış olacaktır. LDR ler ışığa bağlı olarak direnci değişen pasif sensörlerdir. Işık sensör kartımız alttaki devre şemasına uygun olarak tasarlanmıştır. Her LDR nin bir ucunu 10K direnç üzerinden +5V a bağlanmış diğer ucu ise GND ye bağlanmıştır. LDR nin üzerine düşen ışık miktarı arttıkça Analog pindeki gerilim de düşmektedir. Yapacağımız algoritma mantığı şu şekildedir; öncelikle robotumuzu kendi etrafında birkaç tur döndürerek sensörlerden okunan en düşük değeri bulmaya çalışacağız. Programımızın ana döngüsünde sürekli sensörleri okuyacağız ve minimum değerden daha da düşük değer görürsek o yönden ışık geliyor demektir ve bu durumlara göre şartlarımızı yazacağız.

Robot videosuna aşağıdaki linkten ulaşabilirsiniz.

https://www.youtube.com/watch?v=9Q48u7xpPjA

Robot videosuna aşağıdaki linkten ulaşabilirsiniz.

https://www.youtube.com/watch?v=9FoorFeKgNw

Kitimizde bağlantı oldukça kolaydır kodlara bakarak hangi sensörün hangi pine bağlı olduğunu kolaylıkla anlayabilirsiniz.