Arduino Programlamaya Giriş Arduino; temel olarak üzerindeki mikrodenetleyici ile pinleri üzerinden bağlı elemanları, portları, cihazları kontrol eder. Arduino IDE programına Arduino’nun ne yapması gerektiğini yazarız bu şekilde kullanıcıyla iletişime geçmiş olur. Arduino yazdığımız kodları yorumlayarak sonuçları ortaya çıkarır ve kontrol mekanizmalarını harekete geçirir.
Arduino IDE programını çalıştırdığımızda karşımıza çıkan ekranı ayrıntılı bir şekilde inceleyelim;
Arduino IDE, kodları yazmamız için bir metin düzenleme alanı, bir programın bizi bilgilendirmesi için mesaj alanı, bir konsol ekranı, düğmeler ve menülerden oluşur. Arduino IDE’de kod yazarken genel işleyiş aynıdır. İlk olarak kütüphaneler (#include <EEPROM.h>) tanıtılır. Değişkenler (const int LED=9;) tanıtılır. Void setup bölümünde parametre değerleri tanıtılır. Void loop bölümünde program içeriği yazılır.
Arduino için yazılan programlara sketch denir. Sketch’ler .ino uzantısı ile saklanır. Mesaj bölgesi kısa olarak hataları ve uyarıları gösterir. Konsol ekranı ise ayrıntılı mesajlar içerir ve düzeltilmesi gereken kısımları belirtir. Ekranın sağ alt köşesinde ise bilgisayara bağlı olan Arduino kartının çeşidini ve bilgisayara bağladığınız port numarasını gösterir.
Doğrula: Kodları derleyerek hata olup olmadığını denetler.
Yükle: Kodları derler ve yazdığımız programın HEX dosyasını (hexademal dosya) karta yükler.
Yeni: Yeni bir sketch oluşturur.
Aç: Daha önceden kayıtlı sketchleri açmak için kullanılır.
Kaydet: Sketch’i kaydeder.
Seri Port Ekranını açar.
Menü çubuğunda ise Dosya, Düzenle, Taslak, Araçlar, Yardım menüleri bulunur.
Program (Sketch) Yazma ve Çalıştırma Arduino’yu USB kablosu ile bilgisayara bağlayalım. Bu bilgisayar > Aygıt Yöneticisi yolunu izlediğimizde Bağlantı Noktaları(COM ve LPT) sekmesinde Arduino’nun bağlı olduğu port numarası gözükecektir. Benim kullandığım Arduino Nano COM portu 4 olarak algılamıştır.
Arduino IDE’yi açalım Dosya menüsünden Örnekler > 01.Basics > Blink yolunu takip edelim.
Araçlar menüsünden Kart seçeneğinden kullandığınız Arduino modelini seçin ben Arduino Nano’yu seçtim. İşlemci seçeneğinden Arduino’nuzun üzerinde ki işlemci modelini seçin benim kullanmış olduğumda ATmega 328P modeli var. Son olarak port kısmından kaç numaralı portu kullanıyorsanız onu seçin.
Şimdi “blink” kodumuzu yüklemek için yükle düğmesine basalım. Böylece kartımıza ilk kodumuzu yüklemiş oluyoruz. Birkaç saniye gecikmenin ardından kartın üzerindeki L adlı sarı LED’in 1 er saniye aralıklarla yanıp söndüğünü göreceksiniz. Blink örneğinin kod yapısını adım adım inceleyelim.
1. (/* Açıklama */) Bu işaretlerin arasına yazılanlar derleyici tarafından kod olarak algılanmaz sadece açıklama yapmak için kullanılır.
2. (// Açıklama) 1. Madde ile aynı amaçla kullanılır fakat burda sadece işaretten sonra ki satır kod olarak okunmaz.
3. pinMode(LED_BUILTIN, OUTPUT); kart üzerindeki pinin giriş modunda mı yoksa çıkış modunda mı çalışacağını belirleriz burda LED_BUILTIN(kart üzerindeki ledin bağı olduğu pin)’i çıkış moduna
ayarlıyoruz.
4. digitalWrite((LED_BUILTIN, HIGH); çıkış olarak belirttiğimiz pinin lojik olarak seviyesini belirler. 2 adet parametre alır ilkinde işlem yapılacak pini belirtiriz ikincisinde ise pinin
sayısal durumunu belirtiriz. HIGH modunda pinden 5V çıkış alırız LOW modunda ise 0V çıkış alırız.
5. delay(1000); gecikme komutudur. Milisaniye cinsinden yazılır yani Arduino bu koddan önceki işi yaptıktan sonra 1 saniye bir şey yapmadan bekleyecektir. Led in son hali HIGH da kaldığı için
1 saniye boyunca yanmaya devam eder.
6. digitalWrite(LED_BUILTIN, LOW); çıkış pininin lojik değeri 1 den 0 a getirilerek çıkış gücü 5V tan 0V a düşürülür ve LED söner.
Potansiyometre LED Uygulaması Potansiyometreden parlaklığı kontrol edilen LED uygulamasını inceleyelim. Kartın güç beslemesini 9V’luk pil ile VIN ve GND pinlerinden yaptım.
const int pot=A0; // Potumuzu bağlayacağımız analog giriş.
int led=9; // Ledimizi bağlayacağımız çıkış.
int potdurum=0;
int pos = 0;
void setup()
{pinMode(OUTPUT,led);} // Led pininini çıkış olarak ayarlıyoruz.
void loop(){
potdurum=analogRead(pot); //Potun durumunu analog olarak okuyoruz
pos= map(potdurum,0,1024,0,255); //Girişi çıkışa oranlıyoruz.
{ analogWrite(led,pos); //oranladığımız değeri led'e veriyoruz. pottan +5V alındığında led tam parlaklık ile yanacaktır.
}
}