Giriş
ATmega328P, popüler Arduino Uno kartının beyni olan bir mikrodenetleyicidir. Sağlamlığı, geniş topluluk desteği ve esnek programlama yetenekleri sayesinde sadece Arduino kartları üzerinde değil, bağımsız projelerde de sıklıkla tercih edilen bir çip. Bu makalede, ATmega328P’nin temel özelliklerine kısaca değinecek, ardından harici bir Arduino kartı kullanarak bootloader yükleme ve programlama süreçlerini inceleyecek, FTDI FT232RL dönüştürücü ile doğrudan programlamanın nasıl yapıldığını adım adım açıklayacağız. Son olarak, programlanmış bir ATmega328P çipinin harici bir sistemde 7805 voltaj regülatörü ve kondansatörlerle nasıl beslenebileceği, yani projelerde bağımsız çalıştırma adımları da detaylı olarak ele alınacaktır.
🔬 ATmega328P’ye Yakından Bakış
ATmega328P, Microchip (eski adıyla Atmel) tarafından üretilen 8-bitlik bir AVR RISC tabanlı mikrodenetleyici. İşte temel özellikleri:

- Çalışma Frekansı: Genellikle 16 MHz (Arduino Uno’da olduğu gibi) veya 8 MHz dahili osilatör ile çalışır.
- Flash Bellek: 32 KB (program kodunun saklandığı yer).
- SRAM: 2 KB (değişkenlerin ve geçici verilerin saklandığı yer).
- EEPROM: 1 KB (kalıcı veri depolama için).
- GPIO Pinleri: Çeşitli dijital giriş/çıkış, analog giriş, PWM, SPI, I2C ve UART gibi işlevleri destekleyen 23 programlanabilir I/O pini.
- Çalışma Voltajı: Genellikle 1.8V – 5.5V aralığında çalışır.
Bu özellikler, ATmega328P’yi birçok gömülü sistem projesi için ideal bir seçim haline getirir.
🛠️ Harici Bir Arduino ile ATmega328P’ye Bootloader Yükleme
ATmega328P’yi bağımsız kullanmak istediğimizde, üzerine Arduino bootloader’ı yüklememiz gerekir. Bootloader, mikrodenetleyicinin başlangıcında çalışan küçük bir programdır ve seri port üzerinden yeni kod yüklememizi sağlar. Bu sayede, ATmega328P’yi doğrudan Arduino IDE’den programlayabiliriz.
Bu işlemi gerçekleştirmek için bir Arduino Uno‘yu ISP (In-System Programmer) olarak kullanabiliriz.
Adımlar:
- Arduino Uno’yu ISP Olarak Hazırlama:
- Arduino IDE’yi açın.
- “Dosya > Örnekler > 11.ArduinoISP > ArduinoISP” yolunu izleyerek örnek sketch’i açın.
- Bu kodu Arduino Uno’nuza yükleyin. Artık Uno’nuz bir ISP programlayıcısı gibi davranacaktır.
- ATmega328P ile Arduino Uno Arasında Bağlantı Kurma:
- Gerekli Malzemeler: ATmega328P çipi, 16 MHz kristal, iki adet 22pF kondansatör, 10K direnç, breadboard, bağlantı kabloları.
- Aşağıdaki bağlantıları kurun:

ATmega328P Pin | Bağlantı | Notlar |
---|---|---|
7 (VCC) | 5V (Arduino’dan) | Güç |
20 (AVCC) | 5V | Analog güç |
8 (GND) | GND | Toprak |
22 (GND) | GND | Toprak |
9 ve 10 | Kristal (16 MHz) | Kristal devresi (22pF kond.) |
1 (RESET) | Arduino Uno D10 | ISP için reset pini |
17 (MOSI) | Arduino Uno D11 | SPI veri çıkışı |
18 (MISO) | Arduino Uno D12 | SPI veri girişi |
19 (SCK) | Arduino Uno D13 | SPI saat sinyali |
- Bootloader Yükleme:
- Arduino IDE’de “Araçlar > Kart” menüsünden “Arduino Uno”‘yu seçin (çünkü yüklemek istediğimiz bootloader Arduino Uno içindir).
- “Araçlar > Programlayıcı” menüsünden “Arduino as ISP” seçeneğini seçin.
- “Araçlar > Bootloader Yükle” seçeneğine tıklayın.
Bu işlem tamamlandığında, ATmega328P çipiniz Arduino Uno ile uyumlu hale gelmiş ve doğrudan programlanmaya hazır olacaktır.
⬆️ Harici Bir Arduino ile ATmega328P’ye Program Yükleme
Bootloader yüklendikten sonra, ATmega328P’ye program yüklemek çok daha kolay. Yine bir Arduino Uno’yu kullanarak bunu yapabilirsiniz.
Adımlar:
- Bağlantılar: Bootloader yükleme sırasında kurduğunuz bağlantıların aynısını koruyun. Unutmayın, Arduino Uno’nuz hala ISP modunda olmalı (ArduinoISP sketch’i yüklü olmalı).
- Programı Yükleme:
- Arduino IDE’de programlamak istediğiniz sketch’i açın.
- “Araçlar > Kart” menüsünden “Arduino Uno”‘yu seçin.
- “Araçlar > Programlayıcı” menüsünden “Arduino as ISP” seçeneğini seçin.
- “Eskiz” Menüsünden Programlayıcıyı Kullanarak Yükle Ctrl+Shift+U seçin
Bu yöntemle, Arduino Uno kartınız sanki bağımsız ATmega328P’nin “USB-to-Serial” dönüştürücüsü gibi davranır ve programı hedef çipe aktarır.
💻 FTDI FT232RL Kartı ile ATmega328P’ye Program Yükleme
FTDI FT232RL çipine sahip USB-to-Serial dönüştürücü kartlar, bilgisayarınız ile ATmega328P arasında seri iletişim kurmak için idealdir. Bu yöntem, bağımsız ATmega328P projelerinizde sıkça kullanılan, daha derli toplu bir çözümdür.
Adımlar:
- Gerekli Malzemeler: ATmega328P çipi (bootloader yüklü olmalı), FTDI FT232RL kartı, 16 MHz kristal, iki adet 22pF kondansatör, 10K direnç, breadboard, bağlantı kabloları.
- ATmega328P ile FTDI Kartı Arasında Bağlantı Kurma:
- Aşağıdaki bağlantıları kurun:

Malzeme | Açıklama |
---|---|
ATmega328P | |
FT232RL USB-TTL dönüştürücü | DTR çıkışı olan tercih edilir |
16 MHz kristal (isteğe bağlı) | Harici kristal kullanmak için |
2 × 22pF kondansatör | Harici kristal bağlantısı için |
0.1 µF kondansatör (104) | DTR ve RESET pini arasına |
10 kΩ direnç | RESET pini ile VCC arasında pull-up için |
Breadboard ve jumper kablolar | Bağlantılar için |
- Program Yükleme:
- FTDI kartınızı bilgisayarınızın USB portuna takın. Gerekirse FTDI sürücülerini yükleyin.
- Arduino IDE’de programlamak istediğiniz sketch’i açın.
- “Araçlar > Kart” menüsünden yine “Arduino Uno”‘yu seçin (çünkü bootloader’ı Uno için yükledik).
- “Araçlar > Port” menüsünden FTDI kartınızın bağlı olduğu seri portu seçin.
- “Araçlar > Programlayıcı” menüsünden “AVRISP mkII” seçildiğinde otomatik olarak seri port üzerinden yükleme yapılacaktır.
- “Eskiz > Yükle” düğmesine tıklayın.
FTDI kartının DTR pini, ATmega328P’nin reset pini ile bir kapasitör aracılığıyla bağlandığında, Arduino IDE program yükleme başlamadan önce otomatik bir reset sinyali gönderir. Bu, bootloader’ın programı almak için hazır olmasını sağlar.
🔌 Programlanmış ATmega328P ve 7805 Voltaj Regülatörü ile Devre Kurulumu
📘 1. Giriş
ATmega328P, 5V gerilim ile çalışan popüler bir mikrodenetleyicidir. Harici güç kaynağından beslerken, genellikle voltaj regülatörleri kullanılır. En yaygın kullanılanlardan biri 7805 voltaj regülatörüdür. Bu sayede, 7V-12V gibi daha yüksek voltajlar güvenle 5V’a düşürülür ve ATmega328P stabil beslenir.
⚙️ 2. 7805 Voltaj Regülatörü Nedir?
- 7805, sabit çıkış voltajı 5V olan lineer bir voltaj regülatörüdür.
- Giriş voltajı 7V ile 25V arasında olabilir.
- Giriş gerilimini sabit 5V’a indirerek elektronik devreleri korur.
- Üzerinde 3 bacak bulunur:
- Input (Giriş)
- Ground (Toprak)
- Output (Çıkış, 5V)
🧰 3. Gerekli Malzemeler
- Programlanmış ATmega328P çipi
- 7805 voltaj regülatörü
- 16 MHz kristal ve 2 x 22 pF kondansatör
- 10 kΩ pull-up direnç (RESET pini için)
- 220 Ω direnç (LED için, isteğe bağlı)
- 7-12V DC güç kaynağı (adaptör veya batarya)
- Kondansatörler:
- 100 µF, 16V elektrolitik kondansatör (hem 7805 giriş hem çıkış için)
- 0.1 µF seramik kondansatör (7805 çıkışında parazit önlemek için önerilir)
- Breadboard ve jumper kablolar
🔗 4. Devre Bağlantısı
🔌 4.1 7805 Voltaj Regülatör Bağlantısı

7805 Bacağı | Bağlantı | Açıklama |
---|---|---|
Input | Güç kaynağı pozitif (+) | 7V-12V arasında adaptör vb. |
Ground | Toprak (GND) | Ortak toprak |
Output | ATmega328P VCC (5V) | Regüle edilmiş 5V çıkış |
- 100 µF, 16V elektrolitik kondansatör → Giriş ile GND arasında
- 100 µF, 16V elektrolitik kondansatör → Çıkış ile GND arasında
- 0.1 µF seramik kondansatör → Çıkış ile GND arasında (parazit önleyici)
💡 4.2 ATmega328P Temel Bağlantıları
ATmega328P Bacağı | Bağlantı | Açıklama |
---|---|---|
VCC (7 ve 20) | 7805 çıkış 5V | Besleme |
GND (8 ve 22) | Toprak (Ground) | Toprak |
RESET (1) | 5V’ye 10 kΩ direnç ile pull-up | RESET pini stabilizasyonu |
XTAL1 ve XTAL2 (9,10) | 16 MHz kristal ve 22 pF kondansatörler | Saat osilatörü |
Dijital pin 9 (15) | LED + 220 Ω direnç + toprak | İsteğe bağlı LED göstergesi |
🛠️ 5. Adım Adım Devre Kurulumu
- Güç Kaynağını Bağlayın
- Elektrolitik Kondansatörleri Bağlayın
- Seramik Kondansatörü Takın
- ATmega328P’yi Besleyin
- Kristal ve Kondansatörleri Takın
- Reset Direncini Yerleştirin
- Opsiyonel LED Göstergesi
⚠️ 6. Dikkat Edilmesi Gerekenler
- Kondansatör kutuplarına dikkat!
- 7805 ısı üretir → Gerekirse soğutucu kullan
- GND bağlantılarını ortak yap
- RESET pinine mutlaka direnç bağla
- Seramik kondansatörle parazit önle