Arduino Nano Pinleri: Pin Diyagramı, A6/A7, Güç ve Old Bootloader
Arduino Nano pinleri tek rehberde: D0–D13, A0–A7 (A6/A7 yalnız analog), PWM pinleri, VIN/5V/3V3, CH340 sürücüsü, Old Bootloader ve Uno ile pin eşleme tablosu.
Arduino Nano pinleri, 45 × 18 mm'lik kartın iki uzun kenarına dizilmiş 30 bacaktan oluşur: 14 dijital giriş/çıkış pini (D0–D13), bunlardan PWM verebilen 6 pin (~3, 5, 6, 9, 10, 11), 8 analog giriş (A0–A7) ve VIN, 5V, 3V3, AREF, iki GND ile iki RST'den oluşan güç ve kontrol pinleri. Nano, Arduino Uno ile aynı ATmega328P işlemciyi kullandığı için pin numaraları ve görevleri de aynıdır: Uno için yazılmış bir kod, kart menüsünden Nano'yu seçmen dışında hiçbir değişiklik yapmadan çalışır.
Yine de Nano'yu Uno'dan ayıran birkaç önemli ayrıntı vardır ve yeni başlayanların takıldığı yerler tam olarak bunlardır: A6 ve A7 yalnızca analog çalışır, kartta DC jak yoktur, 3V3 pini çok az akım verir, klon kartlarda USB işini CH340 yongası yapar ve kod yüklemek için çoğu zaman ATmega328P (Old Bootloader) seçmen gerekir. Bu rehberde pinleri tek tek tanıyacak, Nano'yu breadboard'a doğru yerleştirmeyi, Uno ile pin eşlemesini ve Nano Every ile Nano ESP32'nin klasik Nano'dan nasıl ayrıldığını öğreneceksin.

Arduino Nano nedir, Uno'dan farkı ne?
Arduino Nano, Uno'nun bütün temel yeteneklerini 45 × 18 mm'lik, yaklaşık 7 gramlık bir karta sığdırır. Pinleri kartın altına doğru uzandığı için doğrudan breadboard'a takılır; böylece jumper kablo kalabalığı azalır ve devre, bitince bir kutuya ya da kalıcı bir devre kartına kolayca taşınır. İçinde Uno ile aynı 16 MHz'lik ATmega328P vardır, lojik seviyesi 5 V'tur ve aynı kütüphaneler değişmeden çalışır. Orijinal Nano'da USB ile seri haberleşmeyi FT232RL yongası yapar; piyasadaki uygun fiyatlı klonların neredeyse hepsinde ise kartın alt yüzünde CH340G ya da CH340C bulunur. Robot arabalar, giyilebilir projeler, kumandalar ve bir kutuya sığması gereken her devre için Nano, Uno'dan daha pratik bir seçimdir.
| Özellik | Arduino Nano (V3) |
|---|---|
| Mikrodenetleyici | ATmega328P, 8 bit, 16 MHz (TQFP-32 kılıf) |
| Lojik (çalışma) gerilimi | 5 V |
| VIN giriş gerilimi | Önerilen 7–12 V |
| Dijital giriş/çıkış | 14 pin (D0–D13); A0–A5 ile birlikte 20 |
| PWM çıkışı | 6 pin: D3, D5, D6, D9, D10, D11 |
| Analog giriş | 8 pin (A0–A7), 10 bit (0–1023) |
| Pin başına akım | 20 mA önerilen, 40 mA mutlak sınır |
| Bellek | 32 KB flaş (IDE'de 30.720 bayt kullanılabilir), 2 KB SRAM, 1 KB EEPROM |
| USB | Mini-B; FT232RL (orijinal) ya da CH340 (klon) |
| Boyut ve ağırlık | 45 × 18 mm, yaklaşık 7 g |
Arduino Nano pin diyagramı: hangi pin nerede?
Nano'nun 30 pini karşılıklı iki sırada 15'er pin olarak dizilmiştir ve iki sıra arasındaki mesafe 15,24 mm'dir (0,6 inç). Kartı mini USB soketi sana yakın olacak şekilde önüne koyduğunda soketin hemen yanında karşılıklı iki pin görürsün: D12 ve D13. D13'ün bulunduğu sırada 3V3, AREF, A0–A7 ve güç pinleri; D12'nin bulunduğu sırada ise D11'den D2'ye kadar dijital pinler, ardından GND, RST, RX0 (D0) ve TX1 (D1) yer alır. İki sıranın USB'den en uzak ucunda VIN ile TX1 karşı karşıyadır; 2×3'lük ICSP konnektörü de bu uçtadır. Ortadaki reset düğmesinin çevresinde güç LED'i (POW ya da ON), D13'e bağlı L LED'i ve yükleme sırasında yanıp sönen TX ile RX LED'leri bulunur.
| Sıra (USB'den) | Analog ve güç sırası | Dijital sıra | Not |
|---|---|---|---|
| 1 | D13 (SCK, L LED'i) | D12 (MISO) | USB soketinin hemen yanı |
| 2 | 3V3 | ~D11 (MOSI) | 3V3 çok az akım verir |
| 3 | AREF | ~D10 (SS) | - |
| 4 | A0 | ~D9 | - |
| 5 | A1 | D8 | - |
| 6 | A2 | D7 | - |
| 7 | A3 | ~D6 | - |
| 8 | A4 (SDA) | ~D5 | I2C veri hattı |
| 9 | A5 (SCL) | D4 | I2C saat hattı |
| 10 | A6 | ~D3 (INT1) | A6 yalnız analog |
| 11 | A7 | D2 (INT0) | A7 yalnız analog |
| 12 | 5V | GND | 5V ile GND karşılıklı |
| 13 | RST | RST | İkisi de aynı reset hattı |
| 14 | GND | D0 (RX0) | D0 USB-seri yongaya bağlı |
| 15 | VIN | D1 (TX1) | ICSP konnektörü bu uçta |
Dijital pinler (D0–D13), PWM ve özel görevler
Her dijital pin pinMode() ile giriş ya da çıkış yapılır; çıkışta HIGH yaklaşık 5 V, LOW ise 0 V verir. Girişte pini havada bırakmamak için INPUT_PULLUP ile çipin içindeki 20–50 kΩ'luk direnci açabilirsin. Pin başına güvenli akım 20 mA'dir; kırmızı bir LED 220 Ω'luk dirençle yaklaşık 13 mA çeker, doğru direnci LED direnci hesaplayıcı ile bulabilirsin. Bazı pinlerin ek görevleri vardır ve bunları önceden bilmek, projen büyüdüğünde çıkacak çakışmaları önler:
| Pin | Ek görev | Dikkat edilecek nokta |
|---|---|---|
| D0 (RX), D1 (TX) | Donanım seri portu (Serial) | 1 kΩ dirençle USB-seri yongaya bağlı; yükleme sırasında boş bırak |
| D2, D3 | Harici kesme INT0, INT1 | attachInterrupt() yalnız bu iki pinde çalışır |
| ~D3, ~D11 | PWM, Timer2 (yaklaşık 490 Hz) | tone() çalarken bu pinlerin PWM'i bozulur |
| ~D5, ~D6 | PWM, Timer0 (yaklaşık 980 Hz) | millis() ve delay() ile aynı zamanlayıcı |
| ~D9, ~D10 | PWM, Timer1 (yaklaşık 490 Hz) | Servo kütüphanesi bu iki pinin PWM'ini kapatır |
| D10–D13 | SPI: SS, MOSI, MISO, SCK | SPI kullanırken D10 çıkış olarak kalmalı |
| D13 | Kart üzerindeki L LED'i | LED ve direnci doğrudan pine bağlı |
Nano'yu Uno'dan ayıran küçük ama önemli bir ayrıntı D13'tedir. Uno R3'te L LED'i bir op-amp üzerinden sürülür, Nano'da ise LED ve direnci doğrudan pine bağlıdır. D13'ü INPUT_PULLUP ile buton girişi yaparsan LED pini aşağı çeker ve buton basılı olmasa bile LOW okuyabilirsin; bu pini çıkış ya da SPI için ayır. PWM'in nasıl çalıştığını ve analogWrite() değerlerinin anlamını PWM nedir yazısında, kesmeleri de Arduino interrupt yazısında bulabilirsin.
Analog pinler A0–A7: A6 ve A7 neden farklı?
Nano'nun sekiz analog girişi 0–5 V arasındaki gerilimi 10 bit çözünürlükle ölçer: analogRead() 0–1023 arası bir sayı döndürür ve bir adım yaklaşık 4,9 mV'tur. A0–A5 gerektiğinde normal dijital pin gibi de çalışır (A0 = 14 … A5 = 19); A4 ve A5 aynı zamanda I2C hattının SDA ve SCL uçlarıdır. Uno'da bulunmayan A6 ve A7 ise ATmega328P'nin yüzey montaj (TQFP) kılıfında bulunan iki ekstra ADC kanalıdır. Bu iki kanal yalnızca analog-dijital dönüştürücüye bağlıdır; arkalarında bir port yazmacı, çıkış sürücüsü ya da pull-up direnci yoktur. Bu yüzden pinMode(), digitalRead(), digitalWrite() ve INPUT_PULLUP bu iki pinde çalışmaz.
A6 ve A7'nin dijital çalışmaması bir dezavantaj gibi görünse de akıllıca kullanılabilir. Bir analog pine farklı değerde dirençlerle bağlanmış birkaç buton koyarsan her buton farklı bir gerilim üretir; böylece tek pinle dört butonu okursun ve dijital pinleri motorlara ve ekranlara ayırırsın. Devrede A6'yı 10 kΩ'luk bir dirençle 5V'a bağla; birinci butonu A6 ile GND arasına doğrudan, diğer üç butonu ise sırasıyla 2,2 kΩ, 4,7 kΩ ve 10 kΩ'luk dirençlerin üzerinden GND'ye bağla.
1// A6'da 4 buton: 10 kΩ pull-up + farklı seri dirençler / 4 buttons on A6: 10 kΩ pull-up + different series resistors
2const byte LADDER_PIN = A6; // yalnız analog pin / analog-only pin
3
4byte readButton() {
5 int v = analogRead(LADDER_PIN);
6 if (v < 92) return 1; // 0 Ω -> yaklaşık 0 / about 0
7 if (v < 256) return 2; // 2,2 kΩ -> yaklaşık 184 / about 184
8 if (v < 419) return 3; // 4,7 kΩ -> yaklaşık 327 / about 327
9 if (v < 767) return 4; // 10 kΩ -> yaklaşık 512 / about 512
10 return 0; // basılı değil -> 1023 / not pressed -> 1023
11}
12
13void setup() {
14 Serial.begin(9600);
15}
16
17void loop() {
18 static byte lastButton = 0;
19 byte b = readButton();
20 if (b != lastButton) {
21 delay(20); // kontak sıçramasını bekle / wait out contact bounce
22 b = readButton(); // değeri doğrula / confirm the value
23 if (b != lastButton) {
24 lastButton = b;
25 if (b != 0) {
26 Serial.print(F("Buton / Button: "));
27 Serial.println(b);
28 }
29 }
30 }
31}| Buton | GND'ye giden seri direnç | Beklenen analogRead | Kodda kabul aralığı |
|---|---|---|---|
| Buton 1 | 0 Ω (doğrudan) | 0 | 0–91 |
| Buton 2 | 2,2 kΩ | Yaklaşık 184 | 92–255 |
| Buton 3 | 4,7 kΩ | Yaklaşık 327 | 256–418 |
| Buton 4 | 10 kΩ | Yaklaşık 512 | 419–766 |
| Hiçbiri | - | 1023 | 767–1023 |
Değerler analogRead = 1023 × R / (10 kΩ + R) formülüyle hesaplanır ve eşikler iki komşu değerin tam ortasına konur. Pull-up direnci ve ADC aynı 5 V hattından beslendiği için besleme 4,7 V'a düşse bile okunan sayılar değişmez; bu yönteme oranlı (ratiometrik) ölçüm denir. Aynı anda iki butona basılırsa dirençler paralel bağlanır ve okunan değer düşer: kod daha küçük numaralı bir butonu görür, hatta 3 ile 4 birlikte basılınca 2 okunur. Bu yüzden direnç merdiveni, aynı anda tek tuşa basılan menüler için uygundur. Gerilim bölücü hesabını gerilim bölücü hesaplayıcı ile deneyebilir, analog okumanın ayrıntılarını ADC yazısında okuyabilirsin.
Güç pinleri: VIN, 5V, 3V3 ve GND
| Pin | Ne yapar? | Sınır ve dikkat |
|---|---|---|
| VIN | Kartı 7–12 V ile besler; gerilim regülatörde 5 V'a düşürülür | Klonlardaki AMS1117 en çok 15 V kaldırır; 12 V'ta çabuk ısınır |
| 5V | Kartın 5 V hattı: çıkış olarak sensörleri besler, giriş olarak düzenli 5 V alır | USB'de yaklaşık 4,7 V; dışarıdan asla 5 V'tan fazla verme |
| 3V3 | 3,3 V çıkış | Orijinalde FT232RL'den, klonlarda CH340'tan gelir; akımı çok sınırlı |
| GND (2 adet) | Ortak toprak | Harici kaynakların GND'si mutlaka buraya bağlanmalı |
| RST (2 adet) | LOW yapılınca kartı yeniden başlatır | Harici reset düğmesi için; ikisi aynı hattır |
| AREF | Analog ölçüm için dış referans girişi | Kullanmadan önce analogReference(EXTERNAL) yaz |
Nano'yu üç yoldan besleyebilirsin. USB ile beslediğinde 5 V bilgisayardan bir Schottky diyot üzerinden gelir; diyot yaklaşık 0,3 V düşürdüğü için 5V pininde genellikle 4,6–4,8 V ölçersin ve orijinal karttaki MBR0520 diyotu en çok 500 mA için tasarlanmıştır. VIN pinine 7–12 V verirsen kartın altındaki regülatör (orijinalde LM1117, klonlarda çoğunlukla AMS1117) bunu 5 V'a düşürür. Regülatör fazla gerilimi ısıya çevirir: harcanan güç (VIN − 5 V) × akım kadardır, yani 12 V girişte 150 mA çekersen küçük regülatör yaklaşık 1 W ısı üretir ve elle dokunulamayacak kadar ısınır. Bu yüzden VIN için 7–9 V idealdir. Üçüncü yol 5V pinine dışarıdan düzenli 5 V vermektir; bu durumda regülatör devre dışı kalır, USB tarafındaki diyot da bilgisayarına geri akım gitmesini engeller. 12 V'luk bir kaynaktan çalışacaksan LM2596 voltaj düşürücü ile 5 V elde edip 5V pinine vermek çok daha serin bir çözümdür; tüm besleme yöntemleri Arduino güç besleme yazısında.
3V3 pini Nano'nun en çok yanlış anlaşılan pinidir. Uno'da bu pin ayrı bir regülatörden gelir; klasik Nano'da ise 3,3 V için ayrı bir regülatör yoktur. Orijinal Nano'da 3,3 V, FT232RL yongasının içindeki küçük regülatörden gelir (en çok 50 mA) ve Arduino'nun eski belgelerine göre kart USB'den beslenmiyorsa bu çıkış kullanılamaz. Klonların çoğunda pin CH340'ın kendi iç regülatörüne bağlıdır ve yalnızca birkaç mA'lik yükler için güvenlidir. Bu yüzden nRF24L01, ESP-01 ya da RC522 gibi 3,3 V'luk modülleri bu pinden besleme; 5V pininden beslenen ayrı bir AMS1117-3.3 regülatör kullan. 3,3 V'luk bir modülün giriş pinine Nano'nun 5 V'luk çıkışını bağlarken de araya bir seviye dönüştürücü ya da gerilim bölücü koy.
USB'de 5V pininin 4,7 V civarında olması analog ölçümleri de etkiler: analogRead() üst sınır olarak besleme gerilimini kullanır, sen ise hesapta 5,0 V yazarsan sonuç yüzde 4–6 kadar sapar. ATmega328P'nin içindeki yaklaşık 1,1 V'luk sabit referansı ölçerek gerçek besleme gerilimini hesaplamak mümkündür. Aşağıdaki ilk test kodu bunu yapar, sekiz analog girişin tamamını gerçek besleme gerilimine göre volta çevirir ve D13'teki L LED'ini yakıp söndürür:
1// Arduino Nano: A0-A7'yi ve gerçek besleme gerilimini oku / read A0-A7 and the real supply voltage
2const byte ANALOG_PINS[8] = {A0, A1, A2, A3, A4, A5, A6, A7};
3
4long readVccMillivolts() {
5 // Referans AVcc, ölçülen kanal dahili 1,1 V / reference AVcc, measured channel internal 1.1 V
6 ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
7 delay(2); // referansın oturmasını bekle / let the reference settle
8 ADCSRA |= _BV(ADSC); // dönüşümü başlat / start the conversion
9 while (bit_is_set(ADCSRA, ADSC)) {} // bitmesini bekle / wait until it finishes
10 unsigned int raw = ADC; // 10 bit sonuç / 10-bit result
11 return 1125300L / raw; // 1,1 V x 1023 x 1000 / 1.1 V x 1023 x 1000
12}
13
14void setup() {
15 Serial.begin(9600);
16 pinMode(LED_BUILTIN, OUTPUT); // D13'teki L LED'i / L LED on D13
17}
18
19void loop() {
20 long vcc = readVccMillivolts();
21 analogRead(A0); // kanal değişti, ilk okumayı at / channel changed, discard the first reading
22 Serial.print(F("Vcc: "));
23 Serial.print(vcc);
24 Serial.print(F(" mV |"));
25 for (byte i = 0; i < 8; i++) {
26 int raw = analogRead(ANALOG_PINS[i]); // A6 ve A7 de okunur / A6 and A7 are read too
27 Serial.print(F(" A"));
28 Serial.print(i);
29 Serial.print(F("="));
30 Serial.print(raw * (vcc / 1000.0) / 1023.0, 2); // gerçek Vcc ile volta çevir / convert to volts using the real Vcc
31 }
32 Serial.println();
33 digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); // L LED'ini çevir / toggle the L LED
34 delay(1000);
35}Kodu yükledikten sonra Seri Monitör'ü 9600 baud ile aç. Vcc değeri USB'de 4600–4800 mV, VIN ile beslerken 5000 mV civarında olmalıdır. Boşta duran analog pinler rastgele değerler gösterir; A0'a bir potansiyometre bağlayıp çevirdiğinde değerin 0 ile Vcc arasında düzgünce değiştiğini görürsün. Dahili referans yongadan yongaya ±%10 farklı olabilir; daha doğru sonuç için 5V pinini multimetreyle ölç ve koddaki 1125300 sabitini ölçtüğün değer / kodun gösterdiği değer oranıyla çarp. Bu kod doğrudan ATmega328P yazmaçlarını kullandığı için Nano Every ve Nano ESP32'de çalışmaz.
Mini USB, CH340 ve sürücü kurulumu
Klasik Nano'da Mini-B USB soketi bulunur; telefonlarda kullanılan Micro-USB ya da USB-C kablo buna uymaz. Bazı yeni klonlarda Micro-USB veya USB-C soket olsa da çoğu hâlâ mini USB'dir. Kartın port listesinde hiç görünmemesinin en sık sebebi yalnızca şarj eden, veri telleri olmayan kablolardır: güç LED'i yanar ama bilgisayar kartı görmez. Kablo sağlamsa kartı ters çevirip USB soketinin yakınındaki yongaya bak. FT232RL yazıyorsa kart orijinal Nano'dur ve sürücüsü işletim sistemlerinde genellikle hazırdır; CH340G ya da CH340C yazıyorsa elindeki bir klondur.
Windows 10 ve 11, CH340 sürücüsünü çoğu zaman Windows Update ile kendisi kurar ve kart Aygıt Yöneticisi'nde USB-SERIAL CH340 (COM3) gibi bir adla görünür. Diğer aygıtlar altında sarı ünlemli bir USB2.0-Serial görüyorsan yonga üreticisi WCH'nin CH341SER sürücüsünü kur ve kartı çıkarıp yeniden tak. macOS'un güncel sürümlerinde sürücü yerleşiktir; port /dev/cu.usbserial-… adıyla görünür ve eski sürücüleri ayrıca kurmak çakışma yaratabilir. Linux'ta sürücü çekirdekte hazırdır; Ubuntu 22.04 ve sonrasında port takılır takılmaz kayboluyorsa ekran okuyucu paketi brltty CH340'ı sahipleniyordur ve kullanmıyorsan sudo apt remove brltty ile kaldırabilirsin. Port ve sürücü sorunlarının tamamı Arduino kod yüklenmiyor, USB-seri yongaların farkları da USB-TTL dönüştürücü yazısında.
Kod yükleme: ATmega328P mi, Old Bootloader mı?
- Arduino IDE'de Araçlar > Kart > Arduino AVR Boards > Arduino Nano seç.
- Kartı tak ve Araçlar > Port menüsünden yeni beliren portu seç (Windows'ta COM3, macOS'ta /dev/cu.usbserial-… gibi).
- Araçlar > Processor menüsünde önce ATmega328P seçeneğiyle Blink örneğini yüklemeyi dene.
- Çıktıda programmer is not responding ya da not in sync satırları on deneme boyunca tekrar ediyorsa Processor'ı ATmega328P (Old Bootloader) yapıp yeniden yükle.
- Hâlâ olmuyorsa kartı başka bir USB portuna tak, D0 ve D1'deki kabloları çıkar ve reset düğmesine basınca L LED'inin hızlıca yanıp söndüğünü kontrol et.
- Hangi seçeneğin çalıştığını bir kenara not et; aynı satıcıdan aldığın diğer Nano'larda da büyük ihtimalle aynı ayar gerekir.
Bu karmaşanın sebebi 2018'de yapılan bir değişikliktir. Arduino, Nano'nun 2 KB'lık eski bootloader'ını (ATmegaBOOT) Uno'da kullanılan 512 baytlık Optiboot ile değiştirdi. Optiboot kodu 115200 baud ile alır, eski bootloader ise 57600 baud bekler; hızlar uyuşmayınca kart hiç cevap vermiyormuş gibi görünür. Klon üreticileri kartları yıllarca eski bootloader ile üretmeye devam ettiği için IDE iki seçeneği de sunar ve yanlış seçim karta hiçbir zarar vermez. İstersen ikinci bir Arduino'yu ArduinoISP olarak kullanıp Nano'ya yeni bootloader'ı yazabilirsin: yüklemeler hızlanır ve eski bootloader'ın watchdog ile resetlenince sonsuz döngüye girme sorunu da ortadan kalkar.
| Processor seçeneği | Bootloader | Yükleme hızı | Kod için yer |
|---|---|---|---|
| ATmega328P | Optiboot (2018 sonrası) | 115200 baud | 30.720 bayt |
| ATmega328P (Old Bootloader) | ATmegaBOOT (eski) | 57600 baud | 30.720 bayt |
| ATmega168 | ATmegaBOOT (eski) | 19200 baud | 14.336 bayt |
Breadboard yerleşimi ve lehimleme

Nano'yu breadboard'a takarken iki pin sırasını ortadaki kanalın iki yanına gelecek şekilde yerleştir. Böylece her pin kendi şeridine düşer ve şeridin boşta kalan deliklerinden o pine kablo bağlayabilirsin. Kart, kanalın üzerini ve pinlerin arasındaki delikleri kapattığı için her pinin yanında yalnızca birkaç delik kalır; yaygın 830 delikli breadboard'larda kartı kanala ortalarsan bir tarafta 2, diğer tarafta 3 boş delik olur. USB soketini breadboard'un kısa kenarına bakacak şekilde koyarsan kablo rahat takılır. Ardından Nano'nun 5V ve GND pinlerini breadboard'un kırmızı ve mavi güç hatlarına bağla ki sensörleri oradan besleyebilesin. Breadboard'un iç bağlantılarını hatırlamak istersen breadboard nedir yazısına göz at.
- Başlıkları lehimlemek: Pinleri ayrı gelen klonlarda erkek pin başlıklarını önce breadboard'a tak, Nano'yu üzerlerine oturt ve öyle lehimle; breadboard başlıkları dik ve tam 0,6 inç aralıkta tutar. Tekniği lehim nasıl yapılır yazısında bulabilirsin.
- Çıkarırken: Kartı tek uçtan kaldırmak pinleri büker; iki ucu sırayla azar azar kaldır ya da altına düz bir tornavida sokup eşit kuvvetle çıkar.
- Gevşek temas: Eski ya da ucuz breadboard'larda yaylar gevşer; Nano ara sıra resetlenir ya da sensör arada bir kaybolur. Kartı breadboard'un başka bir bölgesine taşıyıp dene.
- Nano genişletme kartı: Kalıcı bir projede her pin için sinyal, 5V ve GND çıkışı veren vidalı ya da 3 pinli bir Nano I/O shield kablo karmaşasını büyük ölçüde azaltır.
- Mini breadboard: 170 delikli küçük breadboard'larda güç hattı yoktur; 5V ve GND'yi ayrı şeritlere taşıyıp kablo renkleriyle işaretle.
Arduino Uno ile Nano pin eşleme tablosu
| Görev | Arduino Uno R3 | Arduino Nano | Not |
|---|---|---|---|
| Dijital G/Ç | D0–D13 | D0–D13 | Numaralar ve görevler aynı |
| PWM | ~3, 5, 6, 9, 10, 11 | ~3, 5, 6, 9, 10, 11 | Frekanslar ve zamanlayıcılar aynı |
| Analog giriş | A0–A5 | A0–A7 | A6 ve A7 yalnız Nano'da ve yalnız analog |
| I2C SDA / SCL | A4 / A5 (AREF yanında kopyası var) | A4 / A5 | Nano'da ayrı SDA/SCL pini yok |
| SPI SS / MOSI / MISO / SCK | 10 / 11 / 12 / 13 | 10 / 11 / 12 / 13 | İkisinde de ICSP konnektöründe kopyası var |
| Harici kesme | D2, D3 | D2, D3 | Aynı |
| Dahili LED | D13 (op-amp tamponlu) | D13 (doğrudan pine bağlı) | Nano'da D13'ü giriş yaparken dikkat |
| Besleme girişi | DC jak ve Vin, 7–12 V | Yalnız VIN pini, 7–12 V | Nano'da jak yok |
| USB | USB-B; ATmega16U2 ya da CH340 | Mini-B; FT232RL ya da CH340 | Kablolar farklı |
| 3.3V çıkışı | Ayrı regülatör, 50 mA | USB yongasından, çok sınırlı | Nano'da modül besleme |
| IOREF | Var | Yok | Shield uyumu için |
| Kod için yer | 32.256 bayt | 30.720 bayt | IDE Nano için 2 KB ayırır |
| Shield takma | Doğrudan | Adaptör ya da genişletme kartıyla | - |
Tablodan da gördüğün gibi Uno için kurulmuş bir devreyi Nano'ya taşırken kabloları aynı numaralı pinlere bağlaman yeterlidir: Uno'da D9'a giden servo Nano'da da D9'a, A4/A5'teki I2C ekran yine A4/A5'e gider. Kodda tek değişiklik Araçlar > Kart menüsünden Arduino Nano'yu seçmektir. Uno'ya doğrudan takılan shield'lar ise Nano'ya takılmaz; bunun için Nano'yu Uno pin dizilimine çeviren adaptör kartlar vardır. Her pinin Uno'daki ayrıntılı görevlerini Arduino Uno pinleri, kart seçimini de hangi Arduino'yu almalıyım yazısında bulabilirsin.
Nano Every ve Nano ESP32: klasik Nano'dan farkları
| Özellik | Klasik Nano (V3) | Nano Every | Nano ESP32 |
|---|---|---|---|
| İşlemci | ATmega328P, 8 bit, 16 MHz | ATmega4809, 8 bit, IDE'de 16 MHz (20 MHz'e kadar) | ESP32-S3, çift çekirdek, 32 bit, 240 MHz |
| Flaş / SRAM | 32 KB / 2 KB | 48 KB / 6 KB | 16 MB / 512 KB (+8 MB PSRAM) |
| Lojik gerilim | 5 V | 5 V | 3,3 V (5 V'a dayanıksız) |
| USB | Mini-B | Micro-B | USB-C |
| VIN aralığı | 7–12 V önerilen | 7–21 V | 6–21 V |
| PWM pinleri | D3, D5, D6, D9, D10, D11 | D3, D5, D6, D9, D10 (D11'de yok) | Hemen tüm dijital pinler |
| A6 / A7 | Yalnız analog | Analog ve dijital | Analog ve dijital |
| Harici kesme | Yalnız D2, D3 | Tüm dijital pinler | Tüm pinler |
| D0 / D1 seri hattı | USB ile paylaşılır (Serial) | USB'den ayrı (Serial1) | USB'den ayrı (Serial0) |
| Kablosuz | Yok | Yok | Wi-Fi ve Bluetooth LE |
| IDE kart paketi | Arduino AVR Boards | Arduino megaAVR Boards | Arduino ESP32 Boards |
Nano Every, klasik Nano'nun aynı boyda ve aynı pin diziliminde daha güçlü bir sürümüdür. İçinde ATmega4809 vardır, 5 V ile çalışır ve 48 KB flaş ile 6 KB SRAM sunar; yani klasik Nano'nun RAM yüzünden zorlandığı OLED ve LED şerit projeleri rahatlar. USB tarafında bir SAMD11 yongası köprü görevi görür ve kod UPDI arayüzüyle yüklenir, bu yüzden Old Bootloader derdi yoktur. Kartı kullanmak için Kart Yöneticisi'nden Arduino megaAVR Boards paketini kurman gerekir. Dikkat etmen gereken farklar şunlardır: PWM yalnızca D3, D5, D6, D9 ve D10'dadır (D11 PWM vermez), A6 ve A7 dijital olarak da çalışır, her dijital pin harici kesme olarak kullanılabilir ve D0 ile D1, USB'den bağımsız Serial1 portudur. Araçlar > Registers emulation > ATMEGA328 ayarı PORTB gibi port yazmaçlarını taklit eder, ama zamanlayıcı ve ADC yazmaçlarına doğrudan yazan eski kodlar yine çalışmaz. Aşağıdaki kod Every'nin iki farkını birlikte gösterir: Seri Monitör açıkken D0/D1'deki bir modülle konuşur ve A7'yi dahili pull-up'lı buton girişi olarak kullanır.
1// Nano Every: Serial = USB, Serial1 = D0 (RX) ve D1 (TX) / Serial = USB, Serial1 = D0 (RX) and D1 (TX)
2const byte BUTTON_PIN = A7; // Every'de A7 dijital de çalışır / A7 also works as digital on the Every
3
4bool lastState = HIGH;
5
6void setup() {
7 Serial.begin(9600); // Seri Monitör / Serial Monitor
8 Serial1.begin(9600); // D0/D1'deki modül, ör. HC-05 / module on D0/D1, e.g. HC-05
9 pinMode(BUTTON_PIN, INPUT_PULLUP); // klasik Nano'nun A7'sinde çalışmaz / does not work on the classic Nano's A7
10}
11
12void loop() {
13 if (Serial1.available()) {
14 Serial.write(Serial1.read()); // modülden bilgisayara / module to computer
15 }
16 if (Serial.available()) {
17 Serial1.write(Serial.read()); // bilgisayardan modüle / computer to module
18 }
19 bool state = digitalRead(BUTTON_PIN);
20 if (state != lastState) { // durum değişince bildir / report when the state changes
21 lastState = state;
22 Serial1.println(state == LOW ? "Buton basildi / Button pressed" : "Buton birakildi / Button released");
23 delay(20); // kontak sıçraması / contact bounce
24 }
25}Nano ESP32 ise aynı kart boyutunda bambaşka bir dünyadır: u-blox NORA-W106 modülündeki ESP32-S3 işlemci 240 MHz'te çalışır, Wi-Fi ve Bluetooth LE sunar. En önemli fark gerilimdir: tüm pinler 3,3 V ile çalışır ve 5 V'a dayanıklı değildir; klasik Nano'ya doğrudan bağladığın 5 V çıkışlı bir sensör Nano ESP32'yi bozabilir. Klasik Nano'daki 5V pininin yerinde VBUS vardır ve yalnızca kart USB'den beslenirken 5 V verir; VIN'den beslerken bu pin boştur. AREF'in ve analog taraftaki RST pininin yerinde ise BOOT0 ve BOOT1 bulunur. Kart Arduino ESP32 Boards paketiyle programlanır ve Araçlar > Pin Numbering menüsünde iki seçenek vardır: varsayılan By Arduino pin ayarında kartın üzerindeki D ve A adları geçerlidir, By GPIO number ayarında ise sayılar ESP32'nin GPIO numaralarıdır. Örneğin D2 aslında GPIO5'tir; GPIO modunda pinMode(2, OUTPUT) yazarsan A1 pinini ayarlamış olursun. Pinleri her zaman D2 ve A0 gibi adlarla yazarsan kod iki modda da doğru çalışır.
1// Nano ESP32: Araçlar > Pin Numbering > By Arduino pin (default)
2// Nano ESP32: Tools > Pin Numbering > By Arduino pin (default)
3bool ledOn = false;
4
5void setup() {
6 Serial.begin(115200); // USB-C üzerinden / over USB-C
7 pinMode(LED_BUILTIN, OUTPUT); // D13 = GPIO48
8 pinMode(LED_RED, OUTPUT);
9 pinMode(LED_GREEN, OUTPUT);
10 pinMode(LED_BLUE, OUTPUT);
11 digitalWrite(LED_RED, HIGH); // RGB LED ters mantık: HIGH = sönük / active low: HIGH = off
12 digitalWrite(LED_GREEN, HIGH);
13 digitalWrite(LED_BLUE, HIGH);
14 analogReadResolution(12); // 0-4095 arası / range 0-4095
15}
16
17void loop() {
18 int raw = analogRead(A0); // 12 bit ham değer / 12-bit raw value
19 int mv = analogReadMilliVolts(A0); // kalibre edilmiş milivolt / calibrated millivolts
20 Serial.printf("A0: %d (%d mV)\n", raw, mv);
21 digitalWrite(LED_GREEN, mv > 1650 ? LOW : HIGH); // 1,65 V üstünde yeşil / green above 1.65 V
22 digitalWrite(LED_RED, mv > 1650 ? HIGH : LOW); // altında kırmızı / red below
23 ledOn = !ledOn;
24 digitalWrite(LED_BUILTIN, ledOn ? HIGH : LOW); // D13 LED'ini yakıp söndür / blink the D13 LED
25 delay(500);
26}Nano ESP32'nin analog girişleri 12 bitlik ölçüm yapar ve 0–4095 arası değer döndürür; analogReadMilliVolts() ise yonganın kalibrasyon verisini kullanarak sonucu doğrudan milivolt olarak verir. Kart üzerindeki RGB LED ters mantıkla çalışır, yani LOW yazınca yanar. Kod yüklenmiyor ve kart port listesinden kayboluyorsa reset düğmesine art arda iki kez hızlıca basarak kartı bootloader moduna alabilirsin. ESP32'nin Wi-Fi tarafını öğrenmek için ESP32 nedir, kart seçimini netleştirmek için Arduino mu ESP32 mi yazısına bakabilirsin. Ailenin diğer üyelerinden Nano R4, Uno R4 ile aynı 48 MHz'lik Renesas RA4M1 işlemciyi 5 V'luk Nano boyutuna taşır ama pin başına yalnızca 8 mA verir; Nano 33 IoT ve Nano 33 BLE ise Nano ESP32 gibi 3,3 V'luk kartlardır.
Arduino Nano ile proje fikirleri
- Cep termometresi: DHT11 ile ölçtüğün sıcaklığı küçük bir OLED ekranda göster; Nano ve ekran bir kibrit kutusuna sığar.
- Mini robot araba: Nano'nun küçük boyu şasi üzerinde yer kazandırır; motorları L298N ile sür, adımlar için robot araba yapımı yazısına bak.
- Çizgi izleyen robot: Sekiz analog giriş, beşli bir sensör dizisini okumaya fazlasıyla yeter; ayrıntılar çizgi izleyen robot yazısında.
- Bluetooth kumanda: HC-05 modülünü SoftwareSerial ile D8 ve D7'ye bağla, telefondan LED ya da röle kontrol et; D0 ve D1 yükleme için boş kalır.
- Giyilebilir ışık: Pille beslenen bir Nano ve birkaç WS2812B LED ile yaka kartı ya da çanta ışığı yap.
- Tek pinde tuş takımı: Yukarıdaki direnç merdivenini hem A6'ya hem A7'ye kurarak sekiz butonlu bir menü yap, dijital pinleri ekran ve motorlara ayır.
- USB klavye mi istiyorsun? Klasik Nano'nun ATmega328P'sinde yerleşik USB olmadığı için bilgisayara klavye ya da fare gibi görünemez; bu iş için Leonardo ve Pro Micro gibi ATmega32U4'lü kartlar gerekir.
Sık yapılan hatalar ve çözümleri
| Belirti | Sebep | Çözüm |
|---|---|---|
| Port listesinde Nano görünmüyor | Yalnızca şarj eden kablo ya da eksik CH340 sürücüsü | Veri kablosu kullan, CH341SER sürücüsünü kur; Linux'ta brltty'yi kaldır |
| Yükleme "not in sync" hatasıyla duruyor | Kartta eski bootloader var | Araçlar > Processor > ATmega328P (Old Bootloader) |
| A6 ya da A7'deki buton hiç tepki vermiyor | Bu pinlerde digitalRead ve dahili pull-up yok | Harici 10 kΩ pull-up tak, analogRead ile eşik kullan |
| D13'e bağlı buton hep basılı görünüyor | L LED'i ve direnci pini aşağı çekiyor | Butonu başka bir pine taşı |
| 3V3'ten beslenen modül kararsız ya da hiç çalışmıyor | 3V3 pini çok az akım verir | 5V'tan beslenen ayrı bir 3,3 V regülatör kullan |
| Analog ölçümler yüzde birkaç fazla çıkıyor | USB'de 5V pini yaklaşık 4,7 V | Gerçek Vcc'yi ölç ya da kartı VIN'den besle |
| VIN'e 12 V verince kart çok ısınıyor | Regülatör (12 − 5) × akım kadar ısı üretiyor | VIN'e 7–9 V ver ya da buck modülle 5V pinini besle |
| Servo bağlayınca D9/D10'daki LED kısılmıyor | Servo kütüphanesi Timer1'i kullanıyor | LED'i D3, D5, D6 ya da D11'e taşı |
Arduino Nano, Uno'da öğrendiğin her şeyi küçük ve kalıcı projelere taşımanın en kolay yoludur; A6/A7, 3V3 ve bootloader farklarını bildiğin sürece sürprizle karşılaşmazsın. Temellere dönmek istersen Arduino nedir yazısıyla başlayabilirsin. BlueGrays uygulamasında LED yakma, buton ile LED, LDR ile ışık ölçümü, HC-SR04 ile mesafe, DHT11 ile sıcaklık ve nem, RGB LED, potansiyometre ile servo ve iki Arduino arasında seri haberleşme projelerini devre şemaları ve hazır kodlarıyla adım adım bulabilirsin; hepsi Nano'da da aynı pin numaralarıyla çalışır.
Sıkça sorulan sorular
Arduino Nano'da kaç pin var?
Klasik Arduino Nano'da iki sıra hâlinde toplam 30 pin bulunur. Bunların 14'ü dijital giriş/çıkış (D0–D13), 8'i analog giriş (A0–A7), geri kalanı VIN, 5V, 3V3, AREF, iki GND ve iki RST pinidir. A0–A5 dijital olarak da kullanılabildiği için 20 dijital pin elde edilir; A6 ve A7 ise yalnızca analog okur.
Arduino Nano'da PWM pinleri hangileri?
PWM pinleri D3, D5, D6, D9, D10 ve D11'dir; kart üzerinde ya da pin şemalarında numaranın yanında ~ işaretiyle gösterilir. D5 ve D6 yaklaşık 980 Hz, diğerleri yaklaşık 490 Hz frekansla çalışır. Servo kütüphanesi D9 ve D10'un, tone() fonksiyonu D3 ve D11'in PWM'ini etkiler.
Arduino Nano A6 ve A7 dijital pin olarak kullanılabilir mi?
Hayır. A6 ve A7, ATmega328P'nin yalnızca analog-dijital dönüştürücüye bağlı iki kanalıdır; pinMode, digitalRead, digitalWrite ve dahili pull-up bu pinlerde çalışmaz. Buton okumak istersen harici bir 10 kΩ pull-up direnci takıp analogRead() ile eşik karşılaştırması yapabilirsin. Nano Every ve Nano ESP32'de ise A6 ve A7 dijital olarak da kullanılabilir.
Arduino Nano'ya kaç volt verilir?
Nano'yu USB'den, VIN pinine 7–12 V vererek ya da 5V pinine düzenli 5 V vererek besleyebilirsin. Klon kartlardaki AMS1117 regülatörü 15 V'u aşan gerilimde bozulabilir ve 12 V'ta bile çabuk ısınır, bu yüzden VIN için 7–9 V idealdir. 5V pinine asla 5 V'tan yüksek gerilim verme.
Arduino Nano'da Old Bootloader ne demek?
Arduino, 2018'de Nano'nun bootloader'ını daha küçük ve hızlı Optiboot ile değiştirdi; yeni bootloader 115200, eskisi 57600 baud ile haberleşir. Piyasadaki klon Nano'ların çoğunda hâlâ eski bootloader olduğundan Araçlar > Processor menüsünden ATmega328P (Old Bootloader) seçmezsen yükleme not in sync hatasıyla durur. Yanlış seçim karta zarar vermez, iki seçeneği sırayla deneyebilirsin.
Arduino Nano ile Uno arasındaki fark nedir?
İkisi de 16 MHz'lik ATmega328P kullanır, bu yüzden pin numaraları, PWM pinleri, I2C (A4/A5) ve SPI (D10–D13) hatları ile kodlar aynıdır. Nano daha küçüktür, breadboard'a takılır ve iki fazla analog girişi (A6, A7) vardır, ama DC jakı ve shield yuvası yoktur. Ayrıca Nano mini USB kullanır ve IDE'de kod için 30.720 bayt yer ayırır; Uno'da bu sınır 32.256 bayttır.
Bu yazıdan sonra yapabileceğin projeler
Tüm projeleri gör
Led Yakma
Elektroniğin ilk merhabası: tek bir LED'i yakıp söndürmek. Arduino LED'i çok kısa aralıklarla yakıp söndürür, ışık hızlı hızlı göz kırpar. Kartın bir ışığı nasıl yönettiğini en sade haliyle görür, son

Buton İle Led Yakma (Push)
Kapı zili gibi: bastığın sürece ışık yanar, bırakınca söner. Arduino butonu sürekli dinler; butona basılıyken LED'i yakar, elini çektiğin an söndürür. Kartın dışarıdan gelen bir dokunuşu nasıl hissett

Ldr İle Işık Şiddeti Okuma
Odanın ne kadar aydınlık olduğunu sayıyla görmek ister misin? Işığa duyarlı küçük bir parça olan LDR ortam ışığını ölçer ve Arduino bu değeri yarım saniyede bir bilgisayar ekranına yazar. Elinle üstün

HC-SR04 Mesafe Ölçme (Serial Ekran)
Yarasalar karanlıkta yollarını nasıl buluyorsa HC-SR04 sensörü de öyle çalışır: duyamadığın bir ses gönderir, yankısını dinler ve önündeki cismin ne kadar uzakta olduğunu ölçer. Arduino bu mesafeyi sa

DHT11 İle Sıcaklık Ve Nem
Odan kaç derece, hava nemli mi, kuru mu? DHT11 sensörü sıcaklığı ve nemi ölçer, Arduino da bu değerleri iki satırlık LCD ekrana yazar ve birkaç saniyede bir yeniler. Sensöre bir şey olursa ekranda hat

RGB Led Kullanımı
Tek bir LED'in içinde üç renk saklı: RGB LED önce kırmızı, sonra yeşil, sonra mavi yanar; her renk yarım saniye yanıp yarım saniye söner ve sıra baştan başlar. Arduino'ya bir RGB LED ve üç direnç bağl

Potansiyometre İle Servo Motor Kullanım
Potansiyometrenin düğmesini çevirdikçe servo motorun kolu da onunla birlikte döner; düğmenin bir ucu sıfır dereceye, öbür ucu yarım tura karşılık gelir. Arduino düğmenin konumunu sürekli okur ve servo

2 Arduino Tek Yönlü Haberleşme
İki Arduino'yu tek bir kabloyla konuşturursun: birindeki butona basınca öbüründeki LED yanar, bir daha basınca söner. Gönderen kart butona basıldığını kısa bir mesajla bildirir, alan kart bu mesajı du
Diğer yazılar
BlueGrays uygulaması
Bu devreyi telefonunda adım adım kur
Devre şeması, kod ve parça listesi tek ekranda. 200'den fazla Arduino, ESP32 ve Pico projesi seni bekliyor.
Telefonunla tara
Kamerayı koda tut; telefonunun uygulama mağazası açılır.
ya da mağazada aç

