Bir cümlelik özet
Arduino IDE, Arduino kartına yükleyeceğin kodu yazdığın, kontrol ettiğin ve karta gönderdiğin ücretsiz bir programdır.
Neden önemli?
Bir önceki derste kartı ve temel bileşenleri tanıdın. Ama kart tek başına ne yapacağını bilmez. Ona ne yapması gerektiğini bir program ile anlatırız. Bu programı yazdığımız yere geliştirme ortamı (İngilizce: IDE, "Integrated Development Environment") denir.
Arduino IDE, senin bilgisayarında çalışır. Kodu orada yazarsın, IDE bu kodu kartın anlayacağı dile çevirir ve USB kablosu üzerinden karta gönderir. Yani IDE, sen ve kart arasındaki köprüdür.
Bu köprüyü tanımadan hiçbir Arduino projesine başlayamayız. Bu yüzden ilk kodu yazmadan önce IDE'yi rahatça kullanmayı öğrenmek önemli. Bu ders "İlk Kod: Blink" dersine sağlam bir temel hazırlar.
Arduino IDE arayüzü
Arduino IDE'yi ilk açtığında ekranda birkaç bölüm görürsün. Hepsinin belirli bir işi var.
Ana bölümler
- Metin alanı (editör): Kodun yazıldığı büyük beyaz alan. Buraya yazdığın metne sketch denir.
- Araç çubuğu: Üstteki düğmeler. En önemlileri "Verify" (doğrula) ve "Upload" (yükle) düğmeleridir.
- Kart ve port seçici: Hangi karta bağlı olduğunu ve hangi USB portunu kullandığını seçtiğin açılır menü.
- Çıktı paneli: Alttaki koyu alan. Derleme sonuçlarını ve hata mesajlarını burada okursun.
- Seri monitör düğmesi: Sağ üstteki büyüteç benzeri simge. Kartın bilgisayara gönderdiği mesajları görmeni sağlar.
Günlük hayattan örnek: Mutfak
IDE'yi bir mutfak gibi düşün. Editör tezgahın, kodun ise tarifin. "Verify" düğmesi, pişirmeden önce tarifte eksik malzeme var mı diye kontrol etmeye benzer. "Upload" ise yemeği fırına koymaktır. Seri monitör de fırının camından içeriyi izlemek gibidir: içeride ne olduğunu sana gösterir.
Sketch yapısı: setup ve loop
Her Arduino programı sketch olarak adlandırılır ve iki temel bölümden oluşur. Boş bir sketch açtığında bu iki bölüm zaten hazır gelir.
void setup() {
// Bir kez çalışır: başlangıç ayarları
}
void loop() {
// Sürekli tekrarlanır
}
setup() bölümü
setup() içindeki komutlar kart açıldığında yalnızca bir kez çalışır. Burada başlangıç ayarlarını yaparız: hangi pin giriş, hangi pin çıkış olacak veya seri iletişim başlasın mı gibi.
loop() bölümü
loop() içindeki komutlar ise hiç durmadan baştan sona tekrarlanır. Kart kapanana kadar bu döngü çalışmaya devam eder. Bir LED'i yakıp söndürmek gibi tekrar eden işler buraya yazılır.
Günlük hayattan örnek: Sabah rutini
setup() bir kez yaptığın hazırlıklar gibidir: uyanmak, perdeleri açmak. loop() ise gün boyu tekrar ettiğin şeyler gibidir: her acıktığında yemek yemek. Biri günde bir kez, diğeri sürekli olur.
Bu iki bölüm boşken bile bir sketch geçerlidir. Kart hiçbir şey yapmaz ama kod hatasızdır.
Kart ve port seçimi
Kod göndermeden önce IDE'ye iki şeyi söylemen gerekir: hangi kartı kullandığını ve hangi USB portuna bağlı olduğunu.
Kart seçimi
Üstteki menüden "Tools > Board" yolunu izleyerek kartını seçersin. Örneğin "Arduino Uno". Yanlış kart seçilirse IDE, kodu yanlış çeviri kurallarıyla hazırlar ve yükleme başarısız olur.
Port seçimi
"Tools > Port" menüsünden kartın bağlı olduğu portu seçersin. USB kablosunu takmadan bu menü boş olabilir. Kabloyu taktığında listede yeni bir seçenek belirir; işte o senin kartındır.
İpucu: Port göremiyorsan önce kablonun tam takılı olduğunu ve veri aktaran (sadece şarj değil) bir USB kablosu olduğunu kontrol et.
Verify ve Upload
Kodun karta ulaşması iki adımda olur.
Verify (doğrula/derle)
Verify düğmesi (onay işareti) kodunu derler. Derlemek, yazdığın metni kartın işlemcisinin anlayacağı makine diline çevirmek demektir. Bu sırada IDE yazım hatalarını da kontrol eder. Hata varsa alttaki çıktı panelinde kırmızı bir mesaj görürsün ve yükleme yapılmaz.
Upload (yükle)
Upload düğmesi (sağ ok) kodu önce derler, sonra USB üzerinden karta gönderir. Yükleme sırasında karttaki küçük LED'ler hızlıca yanıp söner. "Done uploading" (yükleme tamam) mesajını gördüğünde kodun artık kartta çalışıyordur.
void setup() {
// Henüz bir komut yok
}
void loop() {
// Henüz bir komut yok
}
Yukarıdaki boş sketch'i Verify ile derleyip Upload ile yükleyebilirsin. Kart görünürde bir şey yapmaz ama bu, tüm zincirin (yazma, derleme, yükleme) çalıştığını doğrulaman için harika bir ilk denemedir.
Seri monitör
Seri monitör, kartın bilgisayara metin mesajları göndermesini görmeni sağlayan bir penceredir. Sağ üstteki büyüteç simgesine tıklayarak açarsın.
Kartın mesaj gönderebilmesi için önce setup() içinde seri iletişimi başlatmamız gerekir:
void setup() {
Serial.begin(9600); // Seri iletişimi başlat
Serial.println("Merhaba Arduino");
}
void loop() {
// Boş
}
Burada 9600 sayısı iletişim hızıdır (baud). Seri monitörün de aynı hıza ayarlı olması gerekir, yoksa mesaj bozuk görünür. Seri monitör, ileride kartın "ne düşündüğünü" görmek için en çok kullanacağın araçlardan biridir. Bir sensörün ölçtüğü değeri veya programın hangi adımda olduğunu buradan izleyebilirsin.
Mini uygulama
Bu uygulamada tek amaç IDE'yi tanımak; henüz bir devre kurmuyoruz.
- Arduino IDE'yi aç ve boş bir sketch oluştur.
setup()veloop()bölümlerinin hazır geldiğini gör.- USB kablosunu takıp "Tools > Board" menüsünden kendi kartını seç.
- "Tools > Port" menüsünden yeni beliren portu seç.
- Verify (onay işareti) düğmesine bas ve çıktı panelinde "Done compiling" mesajını bekle.
- Upload (ok) düğmesine bas ve "Done uploading" mesajını gör.
setup()içineSerial.begin(9600);veSerial.println("Merhaba Arduino");satırlarını ekle, tekrar yükle.- Seri monitörü aç ve mesajını gör. Hızın 9600 olduğundan emin ol.
Bu adımları tamamladıysan Arduino zincirinin her halkasını çalıştırmış oldun.
Uygulama laboratuvarı: Arduino IDE
Arduino IDE konusunu kalıcı hâle getirmenin en iyi yolu, kavramı küçük ve ölçülebilir bir göreve dönüştürmektir. Bu çalışmada Arduino IDE arayüzü ile Günlük hayattan örnek: Mutfak arasındaki ilişkiyi kullanarak bağlantı şeması, derlenebilen Arduino kodu, seri monitör kaydı ve test sonucu hazırlayacaksın. Amaç yalnız sonucun çalışması değil; hangi kararı neden verdiğini, neyi test ettiğini ve hangi durumda tasarımı değiştireceğini açıklayabilmektir.
Görev senaryosu
Şu senaryoyu ele al: toprak nemini okuyup pompa yerine güvenli bir LED ile karar gösteren sulama prototipi. Dersin ana hedefi “Arduino IDE'de sketch yapısını, kart/port seçimini ve kod yüklemeyi öğren” olduğuna göre önce problemi tek cümleyle tanımla. Ardından sistemin alacağı girdiyi, uygulayacağı işlemi ve üreteceği çıktıyı ayrı ayrı yaz. Bilmediğin bir ayrıntı varsa onu varsayım olarak işaretle; varsayımı gerçek bilgi gibi kullanma.
- Planla: Başlangıç durumunu, beklenen sonucu ve kullanacağın kavramları yaz.
- En küçük sürümü kur: Yalnız temel davranışı çalıştır; süsleme ve ek özellikleri sonraya bırak.
- Üç test hazırla: Normal bir durum, sınırda bir durum ve hatalı ya da beklenmeyen bir durum seç.
- Sonucu kaydet: Beklenen ile gerçekleşeni yan yana yaz; fark varsa olası nedeni belirt.
- Tek değişiklik yap: Aynı anda birçok şeyi değiştirmek yerine bir kararı düzeltip testi yeniden çalıştır.
Başarı ölçütleri
- Kartın 5 V veya 3,3 V çalışma sınırı doğru mu?
- Pin numaraları kod ve devrede eşleşiyor mu?
- Seri monitör ölçümü beklenen aralıkta mı?
- Motor veya servo karttan doğrudan aşırı akım çekiyor mu?
- Güç kesildiğinde sistem güvenli duruma dönüyor mu?
“Arduino IDE” çalışmasını bitirdiğinde ürünü bir arkadaşına yalnız bölüm başlıklarıyla anlat. Arkadaşın toprak nemini okuyup pompa yerine güvenli bir LED ile karar gösteren sulama prototipi senaryosundaki adımları ve karar nedenlerini takip edebiliyorsa anlatım yeterince açıktır. Anlaşılmayan noktayı daha fazla terim ekleyerek değil, Arduino IDE arayüzü ve Günlük hayattan örnek: Mutfak ilişkisini daha küçük adımlara bölerek düzelt.
Sık yapılan hatalar
Yanlış port seçmek
Kablo takılı ama yanlış port seçiliyse yükleme başarısız olur. Doğru portu bulmak için kabloyu çıkar, menüye bak, kabloyu tak ve yeni beliren seçeneği seç.
Yanlış kart seçmek
Uno yerine başka bir kart seçilirse derleme geçse bile yükleme hata verebilir. Yükleme öncesi kart adını kontrol et.
setup ile loop'u karıştırmak
Bir kez çalışması gereken ayarı loop() içine yazmak veya tekrar etmesi gereken işi setup() içine koymak sık yapılan bir hatadır. "Bir kez mi, sürekli mi?" diye sor.
Seri monitör hızını unutmak
Kodda 9600 yazıp seri monitörü farklı bir hıza ayarlarsan ekranda anlamsız karakterler görürsün. İki hız aynı olmalı.
Noktalı virgülü unutmak
C/C++ dilinde çoğu satır ; ile biter. Unutursan Verify kırmızı hata verir. Hata mesajındaki satır numarasına bak.
Güvenlik notu
- Bu derste kartı yalnızca bilgisayarın USB portuna bağlıyoruz. Bu düşük gerilimli (5 volt) ve güvenli bir bağlantıdır.
- Kartı ıslak elle veya ıslak bir yüzeyde tutma. Elektronik parçalar suyla temas etmemeli.
- Metal bir yüzeyin üstünde çalışma; kartın altındaki bağlantılar kısa devre yapabilir.
- Motor, pompa veya güçlü ışıklar bu derste yok. İleride bunları kullanırken ayrı bir güç kaynağı ve motor sürücü gerekir; motorları asla doğrudan Arduino pinlerinden çalıştırma.
- İlk kez donanım bağlarken bir yetişkinden yardım iste. Kabloyu takmadan önce doğru portu kontrol etmek iyi bir alışkanlıktır.
Ders özeti
- Arduino IDE, kodu yazdığın, derlediğin ve karta yüklediğin ücretsiz programdır.
- Her sketch
setup()(bir kez) veloop()(sürekli) bölümlerinden oluşur. - Yüklemeden önce doğru kart ve doğru port seçilmelidir.
- Verify kodu derler ve hata kontrolü yapar; Upload kodu derleyip karta gönderir.
- Seri monitör, kartın gönderdiği mesajları görmeni sağlar ve hızı kodla aynı olmalıdır.
Kontrol soruları
- Arduino IDE ne işe yarar?
setup()veloop()bölümleri arasındaki fark nedir?- Kod yüklemeden önce IDE'ye söylemen gereken iki ayar nedir?
- Verify ile Upload düğmeleri arasındaki fark nedir?
- Seri monitörde mesajı okuyabilmek için kodda ve monitörde neyin aynı olması gerekir?
Cevaplar
- Kodu yazmamızı, derlememizi ve USB üzerinden Arduino kartına yüklememizi sağlar; sen ile kart arasındaki köprüdür.
setup()kart açıldığında yalnızca bir kez çalışır ve başlangıç ayarlarını yapar;loop()ise durmadan tekrar ederek asıl işi yürütür.- Hangi kartı kullandığını (Tools > Board) ve hangi USB portuna bağlı olduğunu (Tools > Port) seçmen gerekir.
- Verify kodu yalnızca derler ve hata kontrolü yapar; Upload ise kodu derleyip USB ile karta gönderir.
- İletişim hızı (baud) aynı olmalıdır; kodda
Serial.begin(9600)yazdıysan seri monitör de 9600'e ayarlı olmalıdır.
Kaynak ve doğrulama notu
“Arduino IDE” dersi için doğrulama odağı Arduino IDE arayüzü ile Günlük hayattan örnek: Mutfak arasındaki ilişkinin örnekler üzerinde tutarlı çalışmasıdır. Arduino uyumlu kartlarda pin, gerilim ve akım sınırları modele göre değişebilir. Kod derlense bile devre güvenli olmayabileceğinden, motor ve servo gibi yükler uygun sürücü ve harici besleme ile kullanılmalıdır.
Sonraki ders
İlk Kod: Blink — Karttaki LED'i yakıp söndüren ilk gerçek programı yazıp yükleyeceğiz.