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.
- 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)
- Arama kutusuna kütüphane adını veya sensör modelini yazın (örneğin
DHT,SSD1306,AccelStepper). - 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 library | Adafruit Unified Sensor |
| Adafruit SSD1306 | Adafruit GFX Library |
| Adafruit MPU6050 | Adafruit Unified Sensor + Adafruit BusIO |
| DallasTemperature | OneWire |
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:
- GitHub sayfasında yeşil Code düğmesine basın → Download ZIP.
- Arduino IDE’de Taslak → Kütüphane Ekle → .ZIP Kütüphanesi Ekle.
- İndirdiğiniz ZIP dosyasını seçin.
- 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 sistemi | Konum |
|---|---|
| Windows | Belgeler\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.h | Servo motor kontrolü |
Wire.h | I2C haberleşmesi |
SPI.h | SPI haberleşmesi |
EEPROM.h | Kalıcı bellek okuma/yazma |
SoftwareSerial.h | Yazılımsal seri port |
Stepper.h | Basit step motor kontrolü |
LiquidCrystal.h | Paralel LCD ekran |
Sık Kullanılan Kütüphaneler
| Kütüphane | Kullanım |
|---|---|
| Adafruit GFX | Grafik altyapısı (ekranlar için) |
| Adafruit SSD1306 | OLED ekran |
| LiquidCrystal_I2C | I2C LCD ekran |
| DHT sensor library | DHT11 / DHT22 |
| OneWire + DallasTemperature | DS18B20 sıcaklık sensörü |
| AccelStepper | Hızlanmalı step motor kontrolü |
| NewPing | HC-SR04 ultrasonik sensör |
| FastLED / Adafruit NeoPixel | Adreslenebilir LED şerit |
| IRremote | Kızılötesi uzaktan kumanda |
| PubSubClient | MQTT (IoT) |
| ArduinoJson | JSON ayrıştırma |
| RTClib | Gerçek zaman saati (DS3231) |
| SD | SD kart okuma/yazma |
| Bounce2 | Buton 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 directory | Kütüphane kurulu değil veya isim yanlış yazılmış |
Adafruit_Sensor.h not found | Bağı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 found | Aynı kütüphaneden birden fazla sürüm var, birini silin |
| Kütüphane menüde görünmüyor | Klasör adı yanlış (-master ekini silin) veya IDE yeniden başlatılmadı |
| Örnekler menüde yok | Klasör yapısı hatalı; library.properties dosyası eksik olabilir |
| Derleniyor ama çalışmıyor | Kü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
-mastersorununu - 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