Skip to Content
Arduino EğitimleriKütüphane Kurulumu

Kütüphane Kurulumu

Kütüphane, başkasının yazdığı ve sizin kullanabileceğiniz hazır koddur. Bir OLED ekrana yazı yazdırmak için gereken yüzlerce satırlık düşük seviye kodu yeniden yazmak yerine, hazır bir kütüphaneyi çağırırsınız.

Arduino ekosisteminin gücü büyük ölçüde buradan gelir: hemen her sensör ve modül için hazır bir kütüphane vardır.

Kütüphane Yöneticisi ile Kurulum (Önerilen)

En kolay ve en güvenli yöntemdir.

  1. Arduino IDE’de Araçlar → Kütüphaneleri Yönet menüsünü açın. (IDE 1.8.x’te: Taslak → Kütüphane Ekle → Kütüphaneleri Yönet)
  2. Arama kutusuna kütüphane adını veya sensör modelini yazın (örneğin DHT, SSD1306, AccelStepper).
  3. Doğru kütüphaneyi seçin ve Yükle düğmesine basın.

Doğru kütüphaneyi seçmek

Aynı isimde birden fazla kütüphane çıkabilir. Şunlara bakın:

  • Yazar/geliştirici: Adafruit, Paul Stoffregen, Arduino gibi bilinen isimler genellikle güvenilirdir.
  • Güncellenme tarihi: Yıllardır güncellenmemiş kütüphaneler yeni kart sürümleriyle sorun çıkarabilir.
  • Açıklama: Kullandığınız çipi (SSD1306, SH1106 gibi) tam olarak desteklediğinden emin olun.

Bağımlılıklar

Bazı kütüphaneler başka kütüphanelere ihtiyaç duyar. IDE 2.x bunları genellikle sorar ve otomatik kurar; kurmazsanız derleme hatası alırsınız.

Sık karşılaşılan bağımlılıklar:

Kütüphaneİhtiyaç duyduğu
DHT sensor libraryAdafruit Unified Sensor
Adafruit SSD1306Adafruit GFX Library
Adafruit MPU6050Adafruit Unified Sensor + Adafruit BusIO
DallasTemperatureOneWire

Adafruit_Sensor.h: No such file or directory gibi bir hata alıyorsanız, eksik olan bağımlılıktır.

ZIP Dosyasından Kurulum

Kütüphane Yöneticisi’nde bulunmayan (genellikle GitHub’daki) kütüphaneler için:

  1. GitHub sayfasında yeşil Code düğmesine basın → Download ZIP.
  2. Arduino IDE’de Taslak → Kütüphane Ekle → .ZIP Kütüphanesi Ekle.
  3. İndirdiğiniz ZIP dosyasını seçin.
  4. IDE’yi yeniden başlatın.

ZIP’i açmayın; doğrudan ZIP dosyasını seçin. Elle açılmış klasörlerde isim uyuşmazlığı olabilir.

Elle Kurulum

ZIP yöntemi çalışmazsa kütüphaneyi doğrudan klasöre kopyalayabilirsiniz.

İşletim sistemiKonum
WindowsBelgeler\Arduino\libraries\
macOS~/Documents/Arduino/libraries/
Linux~/Arduino/libraries/

Klasör yapısı şöyle olmalıdır:

libraries/ └── KutuphaneAdi/ ├── KutuphaneAdi.h ├── KutuphaneAdi.cpp ├── library.properties └── examples/

GitHub’dan indirilen ZIP’ler genellikle KutuphaneAdi-master şeklinde açılır. -master ekini silin; bazı durumlarda IDE kütüphaneyi tanımaz.

Kopyaladıktan sonra IDE’yi yeniden başlatın.

Kütüphaneyi Kullanma

Kurulumdan sonra kodun başına #include satırını ekleyin:

#include <Servo.h> #include <Wire.h> #include <DHT.h>

Taslak → Kütüphane Ekle menüsünden kütüphaneyi seçerseniz IDE #include satırını sizin yerinize ekler.

Örnekleri incelemek

Her kütüphane örnek kodlarla gelir ve bunlar en iyi öğrenme kaynağıdır:

Dosya → Örnekler → [Kütüphane Adı] → [Örnek]

Yeni bir kütüphaneyi kullanırken önce çalışan bir örneği yükleyip test edin; kendi kodunuzu ondan sonra yazın. Bu, sorunun donanımda mı kodda mı olduğunu anlamanın en hızlı yoludur.

Yerleşik (Dahili) Kütüphaneler

Bazı kütüphaneler Arduino IDE ile birlikte gelir, kurulum gerektirmez:

Kütüphaneİşlevi
Servo.hServo motor kontrolü
Wire.hI2C haberleşmesi
SPI.hSPI haberleşmesi
EEPROM.hKalıcı bellek okuma/yazma
SoftwareSerial.hYazılımsal seri port
Stepper.hBasit step motor kontrolü
LiquidCrystal.hParalel LCD ekran

Sık Kullanılan Kütüphaneler

KütüphaneKullanım
Adafruit GFXGrafik altyapısı (ekranlar için)
Adafruit SSD1306OLED ekran
LiquidCrystal_I2CI2C LCD ekran
DHT sensor libraryDHT11 / DHT22
OneWire + DallasTemperatureDS18B20 sıcaklık sensörü
AccelStepperHızlanmalı step motor kontrolü
NewPingHC-SR04 ultrasonik sensör
FastLED / Adafruit NeoPixelAdreslenebilir LED şerit
IRremoteKızılötesi uzaktan kumanda
PubSubClientMQTT (IoT)
ArduinoJsonJSON ayrıştırma
RTClibGerçek zaman saati (DS3231)
SDSD kart okuma/yazma
Bounce2Buton debounce

Sürüm Çakışmaları

Aynı kütüphanenin birden fazla sürümü kuruluysa IDE hangisini kullanacağını şaşırabilir. Derleme çıktısında şuna benzer bir uyarı görürsünüz:

Multiple libraries were found for "DHT.h" Used: /Users/.../libraries/DHT_sensor_library Not used: /Users/.../libraries/DHT

Çözüm: kullanılmayan sürümü libraries klasöründen silin.

Ayrıca, bir kütüphane güncellemesi kodunuzu bozabilir. Böyle bir durumda Kütüphane Yöneticisi’nden eski bir sürüme dönebilirsiniz: kütüphaneyi arayın, sürüm açılır menüsünden istediğiniz sürümü seçip yeniden yükleyin.

Kütüphane Hataları ve Çözümleri

HataÇözüm
No such file or directoryKütüphane kurulu değil veya isim yanlış yazılmış
Adafruit_Sensor.h not foundBağımlılık eksik — Adafruit Unified Sensor kurun
was not declared in this scope#include satırı eksik veya nesne tanımlanmamış
Multiple libraries were foundAynı kütüphaneden birden fazla sürüm var, birini silin
Kütüphane menüde görünmüyorKlasör adı yanlış (-master ekini silin) veya IDE yeniden başlatılmadı
Örnekler menüde yokKlasör yapısı hatalı; library.properties dosyası eksik olabilir
Derleniyor ama çalışmıyorKütüphane kartınızı desteklemiyor olabilir (ESP32’de AVR kütüphanesi gibi)

Kütüphaneler Nerede Saklanır?

Konumİçerik
Belgeler/Arduino/libraries/Sizin kurduğunuz kütüphaneler
IDE kurulum klasörü /libraries/Yerleşik kütüphaneler
~/.arduino15/packages/Kart paketleri (ESP32, ESP8266 vb.)

Sorun yaşadığınızda ilk klasöre bakın; buradan elle silmek her zaman işe yarar.

Kütüphane Kullanmak Ne Zaman Doğru Değildir?

Kütüphaneler kolaylık sağlar ama bedeli vardır:

  • Bellek tüketirler. Uno’nun 2 KB SRAM’i birkaç büyük kütüphaneyle dolar.
  • Genel amaçlıdırlar. Sizin ihtiyacınız olmayan özellikleri de içerirler.
  • Bloke edebilirler. Bazı kütüphaneler delay() kullanır ve programınızı durdurur.

Basit işler için (bir LED yakmak, bir buton okumak) kütüphaneye gerek yoktur. Bellek sınırına dayandıysanız, kullandığınız kütüphanenin yaptığı işi doğrudan yazmak ciddi yer kazandırabilir.

Özet

Kütüphaneler, hazır kod paketleridir ve Arduino’nun en büyük avantajlarından biridir. En güvenli kurulum yöntemi Kütüphane Yöneticisi’dir.

Bu derste şunları öğrendik:

  • Kütüphane Yöneticisi ve ZIP ile kurulumu
  • Bağımlılık kavramını ve sık karşılaşılan eksikleri
  • Elle kurulum için klasör yapısını ve -master sorununu
  • Yerleşik kütüphaneleri ve sık kullanılan kütüphane listesini
  • Sürüm çakışmalarını çözmeyi ve eski sürüme dönmeyi
  • Yaygın kütüphane hatalarının nedenlerini