Bu yazıda ne yapacağız?
- Arduino'nun ne olduğunu ve kartın üstünde neyin nerede durduğunu göreceğiz.
- Uno, Nano ve Mega arasından hangisini seçeceğimize karar vereceğiz.
- Arduino IDE'yi kurup ilk kodu (Blink) karta yükleyeceğiz.
- Sanal Uno'da yanıp sönme süresini kendimiz değiştireceğiz.
- Dış LED ve buton bağlayıp ilk devremizi kuracağız.
Neden işe yarar? Robot araba, radar ya da akıllı sera: hepsi aynı üç adımla başlar. Bu yazının sonunda bir LED'i kodla yakıp bir butonu okuyabilirsiniz; geri kalan projeler bunun üstüne kurulur.
Arduino nedir?
Arduino, üzerinde küçük bir bilgisayar (mikrodenetleyici) olan ve bilgisayardan USB ile kodlanan açık kaynaklı bir elektronik karttır. En yaygını Arduino Uno: kalbinde ATmega328P işlemcisi var.
| Arduino Uno R3 | Değer |
|---|---|
| İşlemci | ATmega328P, 16 MHz |
| Program belleği | 32 KB (0,5 KB'ı önyükleyicide) |
| Çalışma gerilimi | 5 V |
| Pinler | 14 dijital (6'sı PWM), 6 analog giriş |
| Pin başına akım | 20 mA |
| Besleme | USB ya da DC jak (önerilen 7-12 V) |
Arduino ne işe yarar, nasıl çalışır?
Arduino girdileri okur, yüklediğiniz koda göre karar verir ve çıktıları sürer. Kodun iki parçası var:
setup(): kart açılınca bir kez çalışır. Pinlerin görevi burada belirlenir.loop(): ardından sonsuza kadar tekrar eder. Asıl iş burada yapılır.
Nerelerde kullanılır, neler yapılabilir?
- Engelden kaçan robot araba: HC-SR04 mesafe sensörü ve L298N motor sürücüsü.
- Radar: bir servo motor HC-SR04'ü döndürür, mesafeler ekrana çizilir.
- Çizgi izleyen robot, akıllı sera (toprak nemi ölçüp pompa çalıştırma), park sensörü, elektronik zar.
Arduino çeşitleri: Uno, Nano, Mega
| Kart | İşlemci | Dijital / PWM | Analog | Ne zaman? |
|---|---|---|---|---|
| Uno R3 | ATmega328P, 16 MHz | 14 / 6 | 6 | İlk kart; örneklerin çoğu buna göre |
| Uno R4 Minima / WiFi | Renesas RA4M1, 48 MHz | 14 / 6 | 6 | Daha hızlı, 256 KB bellek, USB-C. WiFi sürümünde Wi-Fi, Bluetooth ve 12×8 LED matris |
| Nano | ATmega328, 16 MHz | 14 / 6 | 8 | Küçük projeler; 45×18 mm, breadboard'a takılır |
| Mega 2560 | ATmega2560, 16 MHz | 54 / 15 | 16 | Çok pin isteyen büyük projeler |
Uno ile Nano farkı: işlemci ve kod aynı. Nano küçüktür, doğrudan breadboard'a oturur, DC jakı yoktur ve 2 analog girişi fazladır.
Uno R4 notu: R4'te bir pinden en fazla 8 mA çekin (R3'te 20 mA). LED'e yine direnç takın, motoru pine bağlamayın.
Arduino Uno pinleri (pinout)
| Pin | Ne yapar? |
|---|---|
| 0-13 dijital | HIGH (5 V) ya da LOW (0 V) yazar veya okur. 0 ve 1 seri haberleşme (RX/TX) içindir |
| ~3, 5, 6, 9, 10, 11 | PWM: analogWrite() ile LED parlaklığı, motor hızı |
| A0-A5 | analogRead() 0-5 V'u 0-1023 arası sayıya çevirir |
| 5V, 3.3V, GND | Sensör besleme; GND ortak eksi |
| VIN | Harici güç girişi (DC jakla aynı hat) |
| RESET | Programı baştan başlatır, kodu silmez |
Aşağıdaki sanal Uno'nun Pin haritası sekmesinde her gruba dokunup açıklamasını görebilirsiniz.
Arduino IDE kurulumu ve kod yükleme
Arduino IDE'yi arduino.cc/en/software adresinden indirin. IDE 2, Windows 10 ve üstü (64 bit), macOS 10.15 ve üstü ile 64 bit Linux'ta çalışır. Kurmak istemiyorsanız tarayıcıda çalışan Arduino Cloud Editor da var.
- Kartı USB kablosuyla bağlayın (Uno R3'te USB-B, R4'te USB-C).
- Üstteki açılır menüden Arduino Uno'yu ve portu seçin. Görünmüyorsa Araçlar > Kart ve Araçlar > Port.
- Doğrula (✓) ile kodun derlendiğini kontrol edin.
- Yükle (→) düğmesine basın. Sağ altta bildirim çıkınca kod kartta çalışmaya başlar.
Port Windows'ta COM3 gibi, Linux'ta /dev/ttyACM0 gibi görünür.
Arduino 1. ders: Blink ile LED yakmak
İlk kod hep budur: kart üstündeki L LED'i (pin 13) saniyede bir yakıp söndürür. IDE'de Dosya > Örnekler > 01.Basics > Blink ile de açılır.
// Blink: kart üstündeki L LED'i (pin 13) saniyede bir yanıp söner
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // bir kez: pini çıkış yap
}
void loop() { // sonsuza kadar tekrar
digitalWrite(LED_BUILTIN, HIGH); // yak (5 V)
delay(1000); // 1000 ms = 1 s bekle
digitalWrite(LED_BUILTIN, LOW); // söndür (0 V)
delay(1000);
}
LED_BUILTIN Uno'da 13 demektir. delay() milisaniye ister ve beklerken kart başka iş yapmaz.
Kendiniz deneyin: sanal Uno
Önce yanık süresini 200, sönük süresini 800 ms yapın; sonra pini 8'e alıp 3 kez seçin ve kodun nasıl değiştiğine bakın.
Burada Blink kodunun pinini ve sürelerini değiştirip çizilmiş bir Arduino Uno'da LED'in o zamanlamayla yanıp söndüğünü, altında HIGH/LOW zaman çizelgesini ve pin haritasını görebileceğiniz bir alan var; JavaScript ile çalışır. Açılmadıysa yukarıdaki Blink kodu ve pin tablosu aynı bilgiyi veriyor.
Dış LED bağlamak: direnç neden şart?
Direnç, LED'den geçen akımı sınırlar. Dirençsiz LED hem kendini hem pini bozabilir. 220 Ω ile akım yaklaşık 14 mA olur. Renk bantlarını okumak için direnç renk kodları yazısına bakın.
// Dış LED: pin 8 -> 220 Ω -> LED (uzun bacak) -> LED (kısa bacak) -> GND
const int LED_PIN = 8;
void setup() {
pinMode(LED_PIN, OUTPUT);
}
void loop() {
digitalWrite(LED_PIN, HIGH);
delay(200); // kısa yanık
digitalWrite(LED_PIN, LOW);
delay(800); // uzun sönük
}
Buton okumak
Butonun bir bacağı pin 2'ye, öbürü GND'ye gider. INPUT_PULLUP kartın içindeki direnci açar, dış direnç gerekmez. Dikkat: basılıyken LOW okunur.
// Buton: pin 2 -> buton -> GND. Basınca L LED'i (pin 13) yanar.
const int BUTON = 2;
void setup() {
pinMode(BUTON, INPUT_PULLUP); // içteki direnç pini 5 V'a çeker
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
if (digitalRead(BUTON) == LOW) { // basılı: pin GND'ye bağlandı
digitalWrite(LED_BUILTIN, HIGH);
} else {
digitalWrite(LED_BUILTIN, LOW);
}
}
Arduino nasıl öğrenilir?
- Blink: süreleri değiştirin, dış LED ekleyin.
- Buton: girdi okumayı öğrenin.
- Analog: bir potansiyometre ile
analogRead(), LED parlaklığı içinanalogWrite(). - Hareket: servo, sonra sürücüyle DC motor.
- Proje: bunları birleştirip robot araba ya da radar yapın.
Sık yapılan hatalar
| Belirti | Sebep | Çözüm |
|---|---|---|
| Port listesinde kart yok | Yalnız şarj eden kablo; bazı uyumlu kartlarda sürücü eksik | Veri kablosu deneyin; CH340 çipli kartlara sürücüsünü kurun |
| Linux'ta "Permission denied" | Seri port izni yok | Kullanıcıyı dialout grubuna ekleyin |
| Yükleme hata veriyor | Yanlış kart ya da port; pin 0-1'e bağlı bir şey var | Kart ve portu kontrol edin, 0 ve 1'i boşaltın |
| Nano'ya yüklenmiyor | Eski önyükleyici | Araçlar > İşlemci: ATmega328P (Old Bootloader) |
| Dış LED yanmıyor | LED ters takılı | Uzun bacak dirence (pine), kısa bacak GND'ye |
| Buton kendi kendine basılıyor | Pin boşta kalıyor | INPUT_PULLUP kullanın |
expected ';' hatası |
Satır sonunda ; unutuldu |
Hatanın gösterdiği satırın bir üstüne bakın |
Kaynaklar
Erişim: 17 Ekim 2026
- Arduino, UNO R3 teknik özellikler: 5 V, 7-12 V, 20 mA pin akımı, 3.3V pininden 50 mA, 32 KB bellek, LED_BUILTIN 13.
- Arduino Docs, UNO R3 ve veri sayfası (A000066): pin tablosu, A4/A5 I2C.
- Arduino Docs, UNO R4 Minima veri sayfası: RA4M1 48 MHz, 256 KB, 6-24 V, pin başına 8 mA.
- Arduino Docs, UNO R4 WiFi: ESP32-S3, 12×8 LED matris.
- Arduino Docs, Nano ve Mega 2560: boyut, pin sayıları.
- Arduino Docs, Blink: 220 Ω, kırmızı LED için 1,8-2,2 V.
- Arduino Docs, analogWrite ve analogRead: PWM pinleri, 490/980 Hz, 0-1023.
- Arduino Docs, IDE 2 ile kod yükleme ve IDE 2 kurulumu: adımlar, sistem gereksinimleri, Linux port izni.
- Arduino Docs, Button: pull-up direnci, boşta kalan pin.