Mikrokontroler ATmega328P: Panduan Lengkap

Tentang Mikrokontroler ATMEGA328P

ATmega328P adalah mikrokontroler CMOS 8-bit berdaya rendah yang didasarkan pada arsitektur RISC AVR yang disempurnakan. Chip ini dikembangkan oleh Atmel Corporation (Microchip Technology). Chip ini memiliki kecepatan clock 20MHz, memori flash 32KB, Timer 16-bit, dan 23 jalur I/O yang dapat diprogram. Chip ini umumnya digunakan pada papan Arduino dan proyek-proyek berbasis mikrokontroler lainnya.

Fitur ATMEGA328P

  • Mikrokontroler AVR 8-bit berkinerja tinggi dan hemat daya;
  • Arsitektur RISC canggih;
  • Segmen memori non-volatil berdaya tahan tinggi;
  • Reset saat dinyalakan dan deteksi brown-out yang dapat diprogram;
  • Osilator yang dikalibrasi secara internal;
  • Sumber Interupsi Eksternal dan Internal;
  • Enam mode tidur: Idle, Pengurangan Kebisingan ADC, Penghematan Daya, Matikan, Siaga, dan Siaga Ekstensi.

Parameter ATMEGA328P

  • Kapasitas memori flash: 32 KB
  • SRAM: 2 KB
  • Kapasitas memori EEPROM: 1KB
  • Frekuensi jam: 20 MHz
  • Jenis antarmuka: I2C, SPI, USART
  • Tegangan suplai min: 1,8V maks: 5,5V
  • Tegangan suplai Perangkat Pemasangan Permukaan: Pemasangan Permukaan
  • Tipe kemasan: PDIP/TQFP
  • Jumlah pin: 28-PDIP, 32-TQFP
  • Rentang suhu operasi: -40°C hingga +85°C
  • Jalur Masukan/Keluar: 23
  • Jumlah masukan ADC: 8
  • Timer/Penghitung 8-bit: 2
  • Timer/Penghitung 16-bit: 1
  • PWM: 6 saluran
  • Metode pemrograman: ISP, IAP, H/PV
  • Metode simulasi: debugWIRE

Konfigurasi Pin ATMEGA328P

Chip ATMEGA328P memiliki 28 pin input/output serbaguna (GPIO), yang masing-masing dapat dikonfigurasi sebagai input atau output digital.

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

Paket ATMEGA328P

ATmega328P tersedia dalam berbagai pilihan kemasan, seperti PDIP (Plastic Dual Inline Package), TQFP (Thin Quad Flat Package), dan QFN (Quad Flat No-Lead). Dalam konteks mikrokontroler ATmega328P, huruf "P" merujuk pada jenis kemasan chip tersebut. Jadi, di sini huruf "P" secara khusus mengacu pada kemasan PDIP.

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

Diagram Blok ATMEGA328P

ATMEGA328P Block Diagram
ATMEGA328P Block Diagram

Bagaimana Cara Menginstal Bootloader Arduino pada ATMEGA328P?

Papan pengembangan Arduino yang dibeli secara daring telah diprogram dengan BootLoader, sehingga Anda dapat langsung menggunakan Arduino IDE untuk mengunggah program.

Namun, mikrokontroler ATMEGA328P baru tidak dilengkapi dengan BootLoader, sehingga Arduino IDE tidak dapat digunakan untuk mengunggah program secara langsung, dan program hanya dapat diprogram melalui ICSP.

Kita perlu memprogram BootLoader untuk MCU tersebut sendiri agar dapat menggunakan Arduino IDE untuk pengembangan.

Bahan-bahan yang Dibutuhkan

  • ATmega328P;
  • osilator kristal 16 MHz;
  • kapasitor 22 pF*2;
  • Resistor 10 K;
  • Papan pengembangan Arduino (Uno atau Nano).
Materials for Burning Bootloader to ATmega328P
Materials for Burning Bootloader to ATmega328P

Proses

  1. Unggah program ArduinoISP ke Arduino Uno;
  2. Hubungkan ATmega328P ke Arduino Uno;
  3. Tulis BootLoader ke ATmega328P;
  4. Uji program kedipan LED pada ATmega328P.

Langkah 1: Unggah program ArduinoISP ke Arduino Uno

Hubungkan papan pengembangan Arduino Uno ke komputer. Cari dan klik "File>Contoh>ArduinoISP" di perangkat lunak Arduino.

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

Dalam kode ArduinoISP, Anda dapat melihat bahwa pin MOSI, MISO, dan SCK masing-masing didefinisikan sebagai 11, 12, dan 13, yang sesuai dengan pin pada papan pengembangan Arduino Uno.

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

Kemudian, pengaturan di menu Tools pada IDE adalah sebagai berikut:

  • Papan: "Arduino Uno"
  • Port: "COM(Arduino Uno)"
  • Programmer: "Arduino sebagai ISP"
Setting Board, Port, and Programmer for Arduino Uno in Arduino IDE
Setting Board, Port, and Programmer for Arduino Uno in Arduino IDE

Klik ikon unggah, dan setelah beberapa saat, program ArduinoISP akan diunggah ke papan pengembangan Arduino Uno Anda.

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

Langkah 2: Menghubungkan ATmega328P ke Arduino Uno

Berdasarkan definisi pin ISP dalam kode ArduinoISP di atas, metode dan skema pengkabelan antara Arduino dan ATmega328P adalah sebagai berikut:

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

Langkah 3: Menulis BootLoader ke ATmega328P

Setelah menyelesaikan pemasangan kabel antara Arduino Uno dan ATmega328P, kita perlu menghubungkan Arduino Uno ke komputer. Kemudian klik "Tools>Burn Bootloader" untuk menginstal Bootloader pada ATmega328P.

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

Langkah 4: Uji program kedipan LED pada ATmega328P

Hubungkan kutub positif LED ke PIN2 ATmega328P, dan kutub negatifnya ke D. PIN2 pada ATmega328P mewakili PD0, sehingga nilainya “0” dalam kode.

				
					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

Seperti yang dapat Anda lihat pada gambar GIF di atas, program kedipan LED berjalan dengan normal.

Bagikan ke:

Scroll to Top

Instant Quote