Robotik Kodlama-Eğitsel Robot Motor Uygulamaları

Bileşenlerinin montajı yapılmış eğitsel robotun kablo bağlantıları:

Eğitsel Robot Bileşenlerinin Kablo Bağlantı Şeması:

Robot bileşenlerini robot gövdesine vidalarla sabitledikten sonra yukarıdaki görseldeki gibi bağlantı şemasından yararlanılarak kablo bağlantılarının yapılması gerekir. Bu bağlantılar kısaca şu şekilde açıklanabilir. Pil yatağından gelen kırmızı kablo (pilin + ucu ) önce açma kapama anahtarına sonra anahtardan çıkan diğer uç, hem mikrodenetleyici kartın Vin girişine hem de motor sürücünün +12 girişine bağlanır. Pil yatağından çıkan siyah kablo (pilin – ucu ) doğrudan hem mikrodenetleyici kartın GND girişine hem de motor sürücünün GND girişine bağlanır. Motor kabloları motor sürücü üzerindeki sağ ve sol klemenslere bağlanır. Yine motor sürücüdeki 4 adet kontrol girişleri mikrodenetleyici kartın D5, D6 (Sağ motor için) ve D9, D10 (Sol motor için) portlarına bağlanır.

Motorların Hareket Durumları:

1- Motorları İleri Yönde Hareket Ettirmek İçin Arduino Kodları:

Motorları ileri yönde hareket ettirmek için mikrodenetleyici kart üzerindeki D5 ve D9 numaralı portların “1”, D6 ve D10 numaralı portların “0” yapılması gerekir.
Yukarıda verilen program yazılıp mikrodenetleyici karta yüklendiğinde motorlar ileri yönde dönecektir. Eğer motorlardan herhangi biri veya her ikisi birden geri yönde dönüyorsa bu durum iki şekilde düzeltilebilir. Birinci yöntem ters dönen motorun ilgili mikrodenetleyici kartının kontrol kablosunun yerlerini değiştirmektir.
İkinci yöntem ise ters dönen motorun motor sürücüsü üzerine takılı motor kablolarının yerini değiştirmektir. Örneğin sağ motor ters dönüyorsa sağ motor için mikrodenetleyici karttan motor sürücüye giden kontrol kablosu D5 ve D6’nın yerlerini değiştirmek yeterli olur.

2- Motorları Geri Yönde Hareket Ettirmek İçin Arduino Kodları:

Motorları geri yönde hareket ettirmek için bu sefer D6 ve D10 numaralı portların “1”, D5 ve D9 numaralı portların “0” yapılması gerekir.

Motorların Hareketine Göre Robotun Hareket Durumları:

Eğitsel robotun hareketleri iki motorun hareketine bağlıdır. Mikrodenetleyicinin D5, D6, D9 ve D10 numaralı portlarına gönderilen 0 veya 1 bilgisine göre motorlar hareket etmektedir. Motorların hareketleri de eğitsel robotun hangi doğrultuda hareket etmesi gerektiğini belirlemektedir. Eğitsel robottaki uygulamalarda aşağıdaki tabloda robotun hareket durumlarında kırmızı ile gösterilenler kullanılacaktır. Mavi ile gösterilenler ise çizgi izleyen robot uygulamalarında kullanılacaktır.
Motorların hareketine göre robotun hareketleri şu şekilde sağlanır.

3- Eğitsel robotu sola doğru hareket ettirebilmek için Arduino Kodları:

Eğitsel robotu sola doğru hareket ettirebilmek için yukarıdaki tabloda gösterildiği gibi mikrodenetleyici kartın D5 ve D10 numaralı portlarına 1 verisini, D6 ve D9 numaralı portlarına 0 verisini göndermek gerekir.

4- Eğitsel robotu sağa doğru hareket ettirebilmek için Arduino Kodları:

Robotunuzu sağa doğru hareket ettirebilmek için yukarıdaki  tabloda gösterildiği gibi mikrodenetleyici kartın D6 ve D9 numaralı portlarına 1 verisini, D5 ve D10 numaralı portlarına 0 verisini göndermek gerekir.

5- Eğitsel robotun ileri, geri, sağa, sola hareket komutlarını içeren fonksiyonları kullanan örnek bir program Arduino Kodları:

Eğitsel robotun ileri, geri, sağa, sola hareket komutlarını içeren fonksiyonları kullanan örnek bir program yazmak gerekirse aşağıdaki işlemler gerçekleştirilmelidir.
Eğitsel robot 2 saniye ileri, 1 saniye geri, 2 saniye sağa, 1 saniye sola gitsin ve 2 saniye dursun sonra da program başa dönsün. Programın belirli saniye aralıklarıyla ileri, geri, sağa, sola hareketini içeren fonksiyonlar “void loop()” fonksiyonu içinde çağrılır. Eğitsel robotun ileri, geri, sağa, sola hareket komutlarını içeren fonksiyon tanımlamaları da “void loop()” fonksiyonu dışında yapılır.

6- PWM ile motorların hızını kontrol eden uygulama için:

Motor sürücüden mikrodenetleyici karta gerekli bağlantılar yapılırken özellikle mikrodenetleyici kartın D5, D6 ve D9, D10 portları kullanılacak diye bir şart yoktur. Mikrodenetleyici kartın diğer portları da kullanılabilir. Ancak mikrodenetleyici kartın D5, D6 ve D9, D10 portları motorlarda hız kontrolü yapmaya olanak tanıyan
PWM çıkışlarıdır. PWM sinyalleri motorlara belirli aralıklarla kesik kesik enerji vererek motorun hızlı veya yavaş dönmesini sağlar. Bu sayede eğitsel robotun hızının kontrol edilmesine olanak tanır. Eğitsel robotun hız kontrolü yapılırken digitalWrite(5,1); komutu yerine analogWrite(5,h); komutu kullanılır. Komutta kullanılan “h” değişkeni burada “0” ile “255” arasında değer alabilen bir sayıyı ifade etmektedir. Bu sayı “255” olduğunda motor en hızlı devirde döner, “128” olduğunda yarı hızda döner, “0” olduğunda ise motorlar durur. Daha önce en yüksek hızda çalıştırılan “robot 2 saniye ileri, 1 saniye geri, 2 saniye sağa, 1 saniye sola gitsin ve 2 saniye dursun sonra da program başa dönsün” şeklindeki programı motorları yarı hızda çalıştırabilmek için yeniden düzenlemek gerekir.

7- Motor Sürücü Kartının Enable Uçları Kullanılarak, For Döngüsü ile Tekerlekleri Hızlandırıp, Yavaşlatma:

8- EĞİTSEL ROBOTUN UZAKTAN KUMANDA İLE KONTROLÜ

Eğitsel robot şu ana kadar kullanıcı yönlendirmesi olmadan belirli bir program dâhilînde çalıştırıldı. Bundan sonraki aşamada uzaktan kumanda ile eğitsel robot yönlendirilebilir. Uzaktan kumandalar Görsel 3.22.c’de görüldüğü gibi üzerinde bulunan tuş kombinasyonuna bağlı olarak belirli kodları kızılötesi LED yardımıyla karşı tarafa gönderir. Uzaktan kumandalar, günlük yaşantıda TV, uydu alıcısı, müzik sistemi gibi birçok elektronik aygıtı kontrol etmek için kullanılır. Bu bölümde herhangi bir uzaktan kumanda ile eğitsel robot kontrol edilecektir.

IRRemote kütüphanesini indirmek için tıklayınız.

9- EĞITSEL ROBOT ILE ENGELDEN KAÇMA

Engelden kaçan robotlarda mesafe algılama sensörleri kullanılır. Mesafe algılama sensörlerinin birçok çeşidi vardır. Eğitsel robotta HC-SR04 olarak da bilinen ultrasonik mesafe sensörü kullanılacaktır. Montaj aparatı kullanılarak eğitsel robotun ön tarafına Görsel 3.32’de görüldüğü gibi vidalarla ultrasonik mesafe sensörünün montajı yapılır ve program yazılacak hâle gelir. Ultrasonik mesafe sensörü ve montaj aparatı Görsel 3.31’de görülmektedir.

Normalde hareket etmeyen engeli görünce geri giden robot (yakalanmayan robot) kodları şunlardır: