Arduino Kodunuz Çalışmıyorsa Kontrol Etmeniz Gereken 5 Şey

Arduino Kodunuz Çalışmıyorsa Kontrol Etmeniz Gereken 5 Şey

Arduino Kodunuz Çalışmıyorsa Kontrol Etmeniz Gereken 5 Şey

Arduino ile proje geliştirmek keyiflidir, ancak bazen her şey doğru görünse bile kodun çalışmadığını fark edebilirsin.
LED yanmaz, sensör tepki vermez, motor dönmez… Oysa hata genellikle çok basit bir ayrıntıdadır.
Bu yazıda, Arduino kodunun çalışmamasına neden olan en yaygın 5 durumu ve bunların çözüm yollarını adım adım anlatıyoruz.

1. Donanım Bağlantılarını Kontrol Et

İlk adım her zaman fiziksel bağlantıları kontrol etmek olmalıdır.
Yanlış pin, kopuk kablo veya gevşek breadboard bağlantısı, yazılımın çalışmasını tamamen engelleyebilir.

Bağlantı Kontrol Listesi:
----------------------------------------
- Kablolar doğru pine takılı mı?
- Breadboard temasları sağlam mı?
- GND ve 5V hatları doğru mu?
- Sensör veya modül ters mi takıldı?
- Güç kaynağı yeterli mi?
----------------------------------------

Öneri:

  • Multimetre ile bağlantıları ölç.
  • “Blink” test kodunu yükleyerek kartın çalıştığından emin ol.

Eğer LED bile yanmıyorsa, sorun donanımsal olabilir.

2. Doğru Kart ve Port Ayarlarını Yap

Birçok kullanıcı farkında olmadan yanlış kart modeli veya bağlantı portu (COM port) seçtiği için kodun çalışmadığını zanneder.

Kontrol Etmen Gerekenler:

  1. Tools → Board → Arduino Uno / Nano / Mega (kullandığın modele göre)
  2. Tools → Port → COM3 / COM4 gibi doğru portu seç

Sık Yapılan Hata:

Klon Arduino kartlarda CH340 veya CP2102 sürücüsü yüklenmemiş olabilir.
Bu durumda kart, port listesinde görünmez.
Çözüm:

  • Gerekli sürücüyü indir ve yükle.
  • Kabloyu değiştirmeyi dene (özellikle veri aktarımı desteklemeyen kablolar sorun çıkarabilir).

3. Kodu Derlemeden Önce Hata Mesajlarını Oku

Arduino IDE, hata mesajlarını açıkça gösterir.
Kırmızı yazılar genellikle korkutucu görünür ama çoğu basit bir yazım hatasından kaynaklanır.

En Sık Görülen Hatalar:

error: expected ';' before '}' token  
error: 'ledPin' was not declared in this scope  
error: stray '\342' in program  

Anlamları:

  • Noktalı virgül (;) unutulmuş.
  • Değişken tanımlanmamış.
  • Türkçe karakter veya yanlış kodlama var.

Çözüm:

  • Hata mesajındaki satır numarasını incele.
  • Kodu satır satır kontrol et.
  • Parantez, süslü parantez ve tırnakların dengede olduğuna emin ol.

Eğer hata anlamını bilmiyorsan, mesajı Google’da aratarak çözüm bulabilirsin.

4. Kütüphaneleri Doğru Kur

Bazı projelerde ek sensör veya modüller kullanılır.
Bu durumda ilgili kütüphane (library) dosyalarının kurulması gerekir.

Örnek Hata:

fatal error: DHT.h: No such file or directory

Anlamı:

DHT sensörünün kütüphanesi yüklü değil.
Çözüm:

  1. Arduino IDE → Sketch → Include Library → Manage Libraries
  2. Arama kutusuna “DHT” yaz ve uygun kütüphaneyi yükle.
  3. Yükleme sonrası IDE’yi kapatıp yeniden aç.

Alternatif Kurulum:

  • .zip kütüphanelerini Sketch → Include Library → Add .ZIP Library seçeneğiyle ekleyebilirsin.

Not:
Kütüphaneleri farklı kaynaklardan karışık yüklemek çakışma yaratabilir.
Her zaman orijinal veya güvenilir kaynaklardan kurulum yap.

5. Gecikme, Güç ve Donanım Uyumsuzluğunu Göz Ardı Etme

Arduino kartının besleme gücü, bekleme süreleri (delay) ve modül uyumu da kodun düzgün çalışmamasına neden olabilir.

Güç Sorunları:

Bazı modüller (örneğin Wi-Fi, motor sürücüler, röleler) USB bağlantısından gelen 5V gücü yeterli bulmaz.
Yetersiz akım olduğunda kod doğru çalışsa bile donanım tepki vermez.
Çözüm:

  • Harici 9V adaptör veya 5V regülatör kullan.
  • Vin hattına doğrudan besleme yapma (kartın regülatörünü koru).

Gecikme (Delay) Sorunları:

Çok kısa gecikme süreleri, sensörün doğru veri göndermesini engeller.
Örnek:
DHT11 sensöründe delay(2000); yerine delay(100); kullanırsan okuma hataları alırsın.
Çözüm:

  • Kütüphanenin tavsiye ettiği minimum gecikme süresine uy.
  • millis() tabanlı zamanlama kullanarak akıcı kontrol sağla.

Donanım Uyumsuzluğu:

Bazı sensörler 3.3V ile, bazıları 5V ile çalışır.
Yanlış voltaj, modülün yanmasına veya hiç çalışmamasına neden olur.

Genel Voltaj Rehberi:
----------------------------------------
DHT11/DHT22  →  3.3V – 5V
HC-SR04      →  5V
ESP8266      →  3.3V
BMP180       →  3.3V
OLED Display →  3.3V
----------------------------------------

Bonus: Kod Derleniyor Ama Çalışmıyor

Bazen kod hatasız derlenir ama kart beklenen davranışı göstermez.
Bu durumda yazılım değil, mantık veya donanım hatası vardır.

Olası Sebepler:

  • LED’in yanlış pine takılması
  • Sensörün GND yerine VCC’ye bağlanması
  • Analog pin yerine dijital pin kullanılması
  • pinMode() fonksiyonunun eksik olması

Örnek Hatalı Kod:

int led = 13;

void setup() {
  // pinMode tanımlaması eksik!
}

void loop() {
  digitalWrite(led, HIGH);
  delay(500);
  digitalWrite(led, LOW);
  delay(500);
}

Düzeltilmiş Kod:

int led = 13;

void setup() {
  pinMode(led, OUTPUT);
}

void loop() {
  digitalWrite(led, HIGH);
  delay(500);
  digitalWrite(led, LOW);
  delay(500);
}

Sonuç

Arduino projelerinde “kod çalışmıyor” hataları çoğu zaman küçük ayrıntılardan kaynaklanır.
Sorun yazılımda değilse, büyük ihtimalle bağlantı, port, kütüphane veya güç kaynağındadır.
Bu yazıda öğrendin:

  • Donanım bağlantılarını kontrol etmeyi,
  • Kart ve port ayarlarını doğrulamayı,
  • Hata mesajlarını analiz etmeyi,
  • Kütüphaneleri doğru kurmayı,
  • Güç ve gecikme sorunlarını çözmeyi.

Bu beş adımı sistematik şekilde uyguladığında, Arduino projelerinde yaşadığın hataları çok daha kolay bulup çözebilirsin.