Robot Programlama – Metin Tabanlı Robot Programlama Yazılımları ve Ortamları – 1

1. Metin Tabanlı Robot Programlama Yazılımları ve Ortamları

Robot programlamak amacıyla kullanılan pek çok programlama yazılımı ve ortamı bulunmaktadır. Robot programlama için kullanılan diller incelendiğinde geleneksel dillere robotik kontrolleri kolaylaştıran yapıların eklenmesiyle oluşturduğu görülür. Robot C ve Parallax Propeller C bu alanda dikkat çeken C dilinin robotik programlamaya uyarlanmış metin temelli sürümleridir. Burada metin tabanlı programlama yazılımı olarak Arduino IDE tercih edilmiştir. Arduino IDE robotik programlamada oldukça yaygın kullanılan tümleşik geliştirme ortamıdır.

2. Arduino Geliştirme Kartları

Arduino, ileri derecede elektronik ve mikrodenetleyici bilgisi gerektirmeden çok çeşitli projelerin uygulanabileceği açık kaynaklı, donanımında Atmel firması tarafından üretilen AVR mikrodenetleyici içeren bir elektronik geliştirme platformudur. Kolaylıkla analog ve dijital sinyaller alınarak işlenebilmektedir. Bununla birlikte Arduino ile birlikte kullanılacak devre elemanlarının çalışma mantığı ve bağlantı yapısının bilinmesi gerekmektedir. Algılayıcılardan gelen sinyalleri kullanarak, çevresiyle etkileşim içerisinde olan robotlar ve sistemler tasarlanabilmektedir. Tasarlanan projeye özgü olarak dış dünyaya hareket, ses, ışık gibi tepkiler oluşturulabilmektedir. Arduino’nun farklı ihtiyaçlara çözüm üretebilmek için tasarlanmış çeşitli kartları ve modülleri bulunmaktadır. Örneğin daha az donanımın yeterli olduğu projelerde Arduino Nano gibi modeller, çok sayıda giriş çıkış bağlantısına (pin) ihtiyaç duyulduğunda Arduino Mega gibi modeller kullanılmalıdır.

Arduino Uno

Birçok robotik uygulamada Arduino ya da Arduino uyumlu Atmel AVR mikrodenetleyici içeren kartlar kullanıldığı için Arduino robot programlamada, programlama öğretiminde de iyi bir seçenektir. Arduino kartlarla çok çeşitli kütüphaneleri yardımı ile kolaylıkla programlama yapılabilmektedir. Bu kitapta gerek konu anlatımında gerekse uygulamalarda çok yaygın olarak kullanılan Arduino UNO modeli tercih edilmiştir.



3. Arduino UNO Geliştirme Kartı

Arduino Uno Atmel Atmega 328P mikrodenetleyicisine sahip mikrodenetleyici karttır. Kart üzerinde temel olarak; 14 adet dijital giriş / çıkış pini (6 adeti PWM (Pulse Width Modulation-Darbe / Sinyal Genişlik Modülasyonu), 6 adet analog giriş pini, 16 MHz saat hızı için osilatör, bir adet USB bağlantısı, bir adet DC güç girişi, bir adet ICSP bağlantı başlığı ve bir adet reset düğmesi bulunmaktadır. 32 KB kapasiteli bir flash belleğe sahiptir. Uno’nun mikrodenetleyicisinde diğer modellerde olduğu gibi önceden hazırlanmış bir bootloader programı yüklüdür. Bu nedenle programlama için harici bir programlayıcıya ihtiyaç duyulmaz. Kartın kolaylıkla kullanılabilmesi, bileşenlerin kablo bağlantılarının rahatlıkla yapılabilmesi için pin soket yapısı kullanılmaktadır. Arduino Uno’nun temel bileşenleri aşağıda gösterilmektedir.

Arduino UNO bileşenleri

1. Güç Girişi: 7-12 Volt DC adaptör girişi.

2. USB Bağlantı Konnektörü (USB Port): UNO’ya program yüklemek ve bilgisayar ile haberleşmek için kullanılmaktadır.

3. Reset Butonu: Arduinoyu ve programı setup() fonksiyonundan itibaren yeniden başlatmak için kullanılmaktadır.

4. LED (Light-Emitting Diodes): 13 numaralı dijital pine bağlıdır. Programları test etmek için kullanılabilir.

5. RX (Receiving) ve TX (Transmitting) LED’leri: Seri haberleşme için kullanılan RX ve TX pininin durumunu gösteren LED’lerdir. Veri alışverişi olduğunda bu LED’ler yanar.

6. Güç Bağlantıları: Bu kısımda güç çıkışları yer almaktadır.

7. Dijital Giriş /Çıkış Pinleri: Yanında ~ işareti bulunan pinler aynı zamanda analog çıkış (PWM) almak için de kullanılabilir. Ayrıca analog-dijital çeviricinin referans giriş pini ve seri iletişim pinleri de (RX ve TX) buradadır.

8. Anolog Giriş Pinleri: 6 adet analog giriş pini bu bölümde bulunmaktadır.

9. Kart Üzerinde Programlama (ICSP) Pinleri: Atmega microdenetleyiciyi harici bir programlayıcı ile programlamak için kullanılan pinlerdir.

10. Güç LED’i: Kartın güç gösterge LED’idir.

Arduino UNO ile bilgisayar veya diğer cihazlar arasında seri iletişim yoluyla bağlantı kurulmaktadır. Tüm Arduino kartlarında en az bir seri bağlantı noktası (UART veya USART) bulunmaktadır. Seri bağlantı için dijital pin 0 (RX) ve pin 1 (TX) üzerinden bilgisayara USB portundan bağlanarak iletişim kurulur. Bu nedenle, USB bağlantısı kullanılırken dijital giriş veya çıkış için 0 ve 1 numaralı pinler kullanılamazlar. Çalışılan programa bağlı olarak seri iletişim işlemleri için Arduino ortamının dâhili seri monitörü kullanılır.

Arduino uygulamalarında kullanılacak elektronik bileşenler için breadboard (devre tahtası) kullanılması uygulamaların hızlı, kolay ve en önemlisi lehim yapmadan yapılmasına olanak tanıyacaktır. Breadboardların kenarında bulunan alanlar voltaj bağlantıları için enine bağlı, diğer alanlar ise dikine bağlıdır. Bu bağlantı noktalarını kullanarak LED, direnç ve benzeri elektronik bileşenlerin birbirine bağlanması oldukça kolaydır. Aşağıdaki örnekte Arduino UNO R3’ün 12 numaralı dijital pinine bağlı bir LED’in breadboard bağlantısı gösterilmektedir. Bağlantılar için breadboard kabloları kullanılmaktadır.

Arduino IDEde breadboard kullanımı

 

Breadboard jumper kabloları

4. Arduino IDE (Tümleşik Geliştirme Ortamı-Integrated Development Environment)

Arduino IDE; kod yazım editörü, tümleşik bir derleyici, yorumlayıcı ve hata ayıklayıcı olarak görev yapan, aynı zamanda derlenen programı karta yükleme işlemini de yapabilen, her platformda çalışabilen Java programlama dilinde yazılmış bir uygulamadır. Arduino tümleşik geliştirme ortamı (IDE); Arduino bootloader (Optiboot), Arduino kütüphaneleri, AVRDude (Arduino üzerindeki mikrodenetleyiciyi programlayan, derlenen kodları programlamak için kullanılan yazılım) ve derleyiciden (AVR-GCC) oluşmaktadır. Bu araçlar yazılımın derlenmesi, bağlanması, çalışmaya tümüyle hazır hale gelmesi ve daha birçok ek işi otomatik olarak yapabilmek amacıyla kullanılmaktadır.

Arduino yazılımı bir tümleşik geliştirme ortamı (IDE) ve mikrodenetleyici ve elektronik konusunda detaylı bilgi sahibi olmayı gerektirmeden herkesin programlama yapabilmesini sağlayan kütüphanelerden oluşmaktadır. Arduino kütüphaneleri, geliştirme ortamı ile birlikte gelmekte ve “libraries” klasörünün altında bulunmaktadır. IDE, Java dilinde yazılmıştır ve Processing adlı dilin ortamına dayanmaktadır. Kütüphaneler ise C ve C++ dillerinde yazılmıştır ve AVR-GCC ve AVR Libc ile derlenmiştir. Optiboot bileşeni Arduino ‘nun bootloader bileşenidir. Bu bileşen, Arduino kartlarının üzerindeki mikrodenetleyicinin programlanmasını sağlayan bileşendir. Arduino C++ dili ile kolayca programlanabilmektedir. Kütüphaneler yardımıyla uygulama geliştirilmesi de oldukça kolay ve hızlıdır.



5. Arduino IDE Yazılımının Yüklenmesi

Arduino IDE yazılımının son versiyonu http://arduino.cc/en/ main/software sitesinden kullanılacak işletim sistemi seçilerek ücretsiz olarak indirilebilmektedir. Örneğin Windows işletim sistemi için zip dosyası veya doğrudan exe dosyasından biri seçilerek indirilmelidir. Eğer zıp seçilmişse dosya ayıklandıktan sonra arduino.exe’ye tıklayarak programın kurulması yeterlidir. Kurulum işlemi tamamlandıktan sonra program kullanılmaya hazırdır. Windows 10 işletim sistemi bulunan bir bilgisayarda yapılan kurulum işleminin önemli aşamaları aşağıda gösterilmiştir.

Arduino UNO indirme ekranı

İlk aşamada lisans sözleşmesi onaylanmalıdır.

Arduino IDE kurulum aşaması

İkinci aşamada kurulum seçenekleri seçili değilse hepsi onaylanmalıdır.

Arduino IDE kurulum seçenekleri

Üçüncü aşamada kurulum klasörü seçilmelidir. İstenirse olduğu gibi bırakılabilir.

Arduino IDE kurulum klasörü

Dördüncü aşamada Adafruit tarafından üretilen robotik bileşenler için aygıt yazılımı kurulumuna onay verilmelidir.

Adafruit aygıt yazılımı kurulumu

Beşinci aşamada Arduino kartlarının USB bağlantısı için gerekli olan aygıt yazılımının kurulumuna onay verilmelidir.

Arduino USB aygıt yazılımı kurulumu

Altıncı aşamada Arduino kartlarının USB üzerinden veri iletişimi için gerekli olan aygıt yazılımının kurulumuna onay verilmelidir.

Arduino veri iletişim aygıt yazılımının kurulumu

Program çalıştırıldığı zaman karşımıza aşağıdaki arayüz çıkmaktadır. Arayüz üzerinde bulunan sık kullanılan butonlar ve görevleri aşağıda açıklanmıştır.

Arduino IDE arayüzü ve yapısı

1. Kontrol Et: Yazılan kodları derler ve hataları bulur.

2. Yükle: Yazılan programı Arduino kartına yükler.

3. Yeni: Yeni çalışma sayfası açar.

4. Aç: Kayıtlı bir programı açar.

5. Kaydet: Yazılan programı kaydeder.

6. Seri Port Ekranı: Arduino ile seri iletişim yaparak ekran açar.

7. Sketch: Yazılan programın dosya ismini gösterir.

8. Gösterge: Yaptığı işlemin ilerleme durumunu gösterir.

9. Boş alan: Yazılacak program alanıdır.

10. Rapor: Derleme sonucu varsa yapılan hataları, yoksa programın yükleme sonrası mikrodenetleyicide kapladığı alanı gösterir.

11. Gösterge: Bilgisayara usb ile bağlanan Arduino’nun bağlandığı portu ve hangi Arduino modeli ile çalışılıyorsa onu gösterir.

Arayüzün üst kısmında temel bir menü çubuğu bulunmaktadır. Bu bölümde yer alan komutlarla da sık kullanılan butonların yaptığı işlevler yerine getirilebilmekte, buna ek olarak parça ayarlamaları, iletişim seçenekleri, ileri program ayarlamaları gibi işlevler de düzenlenebilmektedir.



Dosya Menüsü

Dosya menüsünde temel komutlar yer almaktadır. Ayrıca “Örnekler” komutu ile program kütüphanesinde yer alan kodlar incelenebilmektedir. Bu bölümde çok sayıda örnek bulunmakta, gerekli bağlantılar yapılarak görsel olarak incelenebilmekte, küçük değişiklikler yaparak etkisi görülebilmektedir. Bu bölüm yeni başlayan kullanıcılar için büyük kolaylık sağlamaktadır.

Arduino IDE dosya menüsü

Düzenle Menüsü

Düzenle menüsünde standart işlemlerin dışında “Forum için Kopyala” ve “HTML olarak Kopyala” seçenekleri kullanılarak internet ortamında, Arduino arayüzünde yazılan biçimde (renk, yazı tipi) paylaşabilmektedir.

Arduino IDE düzenle menüsü

Taslak Menüsü

Taslak menüsünde standart işlemlerin dışında “library ekle” sekmesini kullanarak istenilen kütüphane otomatik olarak çalışılan koda eklenebilmektedir. Ayrıca başka bir kütüphane eklemek için “Dosya Ekle” kullanılabilmektedir.

Arduino IDE taslak menüsü

Araçlar Menüsü

Araçlar menüsünde standart işlemlerin dışında “Kart” sekmesini kullanarak programlanacak Arduino modelinin seçimi, “Port” kısmından kullanılan Arduino’nun bilgisayarın hangi portuna bağladığı seçilmelidir. Arduino’nun bağlı olduğu port ile arayüzde seçili olan portun aynı olması gereklidir. Arduino destekli robotla bağlantı bu şekilde yapılmalıdır.

Arduino IDE araçlar menüsü

 

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir