ATmega328P Mikrodenetleyici: Kapsamlı Kılavuz

ATMEGA328P Mikrodenetleyici Hakkında

ATmega328P, AVR geliştirilmiş RISC mimarisine dayanan, düşük güç tüketimli bir CMOS 8 bit mikrodenetleyicidir. Çip, Atmel Corporation (Microchip Technology) tarafından geliştirilmiştir. 20 MHz saat hızına, 32 KB flash belleğe, 16 bit zamanlayıcıya ve 23 programlanabilir I/O hattına sahiptir. Genellikle Arduino kartlarında ve diğer mikrodenetleyici tabanlı projelerde kullanılır.

ATMEGA328P Özellikleri

  • Yüksek performanslı, düşük güç tüketimli AVR 8 bit mikrodenetleyici;
  • Gelişmiş RISC Mimarisi;
  • Yüksek dayanıklılığa sahip kalıcı bellek segmenti;
  • Güç açıldığında sıfırlama ve programlanabilir voltaj düşüşü algılama;
  • Dahili olarak kalibre edilmiş osilatör;
  • Harici ve dahili kesme kaynakları;
  • Altı uyku modu: Boşta, ADC Gürültü Azaltma, Güç Tasarrufu, Kapatma, Bekleme ve Uzatılmış Bekleme.

ATMEGA328P Parametreleri

  • Flash bellek kapasitesi: 32 KB
  • SRAM: 2 KB
  • EEPROM bellek kapasitesi: 1 KB
  • Saat frekansı: 20 MHz
  • Arayüz türü: I2C, SPI, USART
  • Besleme gerilimi min: 1,8 V maks: 5,5 V
  • Besleme Gerilimi Yüzey Montajlı Cihazlar: Yüzey Montajlı
  • Paket Türü: PDIP/TQFP
  • Pin sayısı: 28-PDIP, 32-TQFP
  • Çalışma sıcaklığı aralığı: -40°C ila +85°C
  • Giriş/Çıkış Hatları: 23
  • ADC giriş sayısı: 8
  • 8 bit Zamanlayıcı/Sayaç: 2
  • 16 bit Zamanlayıcı/Sayaç: 1
  • PWM: 6 kanal
  • Programlama yöntemi: ISP, IAP, H/PV
  • Simülasyon yöntemi: debugWIRE

ATMEGA328P Pin Dizilişi

ATMEGA328P yongası, her biri dijital giriş veya çıkış olarak yapılandırılabilen 28 adet genel amaçlı giriş/çıkış (GPIO) pini içerir.

ATMEGA328P Pinout (28-pin PDIP)
ATMEGA328P Pinout (28-pin PDIP)

ATMEGA328P Paketi

ATmega328P, PDIP (Plastik Çift Sıralı Paket), TQFP (İnce Dörtlü Düz Paket) ve QFN (Dörtlü Düz Kurşunsuz Paket) gibi çeşitli paket seçenekleriyle sunulmaktadır. ATmega328P mikrodenetleyici bağlamında, "P" harfi yonganın paket türünü ifade eder. Dolayısıyla burada "P" harfi özellikle PDIP paketini belirtir.

ATmega328P 28-lead Plastic Dual Inline Package (PDIP)
ATmega328P 28-lead Plastic Dual Inline Package (PDIP)

ATMEGA328P Blok Şeması

ATMEGA328P Block Diagram
ATMEGA328P Block Diagram

ATMEGA328P'ye Arduino Bootloader'ı Nasıl Yazılır?

İnternetten satın alınan Arduino geliştirme kartları BootLoader ile programlanmıştır; bu sayede programları yüklemek için doğrudan Arduino IDE'yi kullanabilirsiniz.

Ancak, yeni bir ATMEGA328P Mikrodenetleyicide BootLoader bulunmadığından, programı yüklemek için Arduino IDE doğrudan kullanılamaz ve program yalnızca ICSP aracılığıyla programlanabilir.

Geliştirme için Arduino IDE'yi kullanabilmek amacıyla MCU için BootLoader'ı kendimiz programlamamız gerekir.

Gerekli Malzemeler

  • ATmega328P;
  • 16 MHz kristal osilatör;
  • 22 pf kondansatör*2;
  • 10 K direnç;
  • Bir Arduino geliştirme kartı (Uno veya Nano).
Materials for Burning Bootloader to ATmega328P
Materials for Burning Bootloader to ATmega328P

Süreç

  1. Arduino Uno'ya ArduinoISP programını yükleyin;
  2. ATmega328P'yi Arduino Uno'ya bağlayın;
  3. ATmega328P'ye BootLoader'ı yazın;
  4. ATmega328P üzerinde LED Yanıp Sönme programını test edin.

1. Adım: ArduinoISP programını Arduino Uno'ya yükleyin

Arduino Uno geliştirme kartını bilgisayara bağlayın. Arduino yazılımında "Dosya > Örnekler > ArduinoISP" seçeneğini bulun ve tıklayın.

Choose the ArduinoISP Program for Arduino Uno
Choose the ArduinoISP Program for Arduino Uno

ArduinoISP kodunda, MOSI, MISO ve SCK pinlerinin sırasıyla 11, 12 ve 13 olarak tanımlandığını görebilirsiniz; bu, Arduino Uno geliştirme kartındaki pinlerle uyumludur.

Define Pin MOSI, Pin MISO and Pin SCK in the ArduinoISP code
Define Pin MOSI, Pin MISO and Pin SCK in the ArduinoISP code

IDE'deki Araçlar menüsündeki ayarlar şu şekildedir:

  • Kart: "Arduino Uno"
  • Bağlantı Noktası: "COM(Arduino Uno)"
  • Programlayıcı: "Arduino as ISP"
Setting Board, Port, and Programmer for Arduino Uno in Arduino IDE
Setting Board, Port, and Programmer for Arduino Uno in Arduino IDE

Yükle simgesine tıklayın; bir süre sonra ArduinoISP programı Arduino Uno geliştirme kartınıza yüklenecektir.

Upload the ArduinoISP program to Arduino Uno
Upload the ArduinoISP program to Arduino Uno

2. Adım: ATmega328P'yi Arduino Uno'ya bağlama

Yukarıdaki ArduinoISP kodunda ISP pinlerinin tanımına göre, Arduino ile ATmega328P arasındaki kablolama yöntemi ve şeması şu şekildedir:

ArduinoATmega328P
10PIN1(RESET)
11PIN17(MOSI)
12PIN18(MISO)
13PIN19(SCK)
GNDGND
VCCVCC
Wiring Diagram the ATmega328P to Arduino Uno
Wiring Diagram the ATmega328P to Arduino Uno

3. Adım: ATmega328P'ye BootLoader'ı yazma

Arduino Uno ile ATmega328P arasındaki kablolama işlemini tamamladıktan sonra, Arduino Uno'yu bilgisayara bağlamamız gerekiyor. Ardından, ATmega328P'ye Bootloader'ı yüklemek için "Araçlar > Bootloader'ı Yaz" seçeneğine tıklayın.

Start to Burn BootLoader on ATmega328P
Start to Burn BootLoader on ATmega328P

4. Adım: ATmega328P üzerinde LED Yanıp Sönme programını test edin

LED'in artı kutbunu ATmega328P'nin PIN2'sine, eksi kutbunu ise D'ye bağlayın. ATmega328P'nin PIN2'si PD0'a karşılık gelir, bu nedenle kodda "0" olarak belirtilmiştir.

				
					const int LED_PIN = 2; // Define the LED pin

void setup() {
  pinMode(0, OUTPUT); // Set the LED pin as output
}

void loop() {
  digitalWrite(0, HIGH); // Turn on the LED
  delay(1000); // Wait for one second
  digitalWrite(0, LOW); // Turn off the LED
  delay(1000); // Wait for one second
}

				
			
LED Blinking Test on ATmega328P
LED Blinking Test on ATmega328P

Yukarıdaki GIF görüntüsünde de görebileceğiniz gibi, LED yanıp sönme programı normal şekilde çalışıyor.

Paylaş:

Scroll to Top

Instant Quote