Tentang proyek ini
“Saya telah menulis kode saya untuk papan Arduino UNO. Apakah mungkin untuk mengunggah sketsa saya ke mikrokontroler AVR kecuali ATmega328? Saya pikir itu pertanyaan paling umum dari pecinta Arduino. Ini mungkin memiliki alasan yang berbeda seperti:
- Menggunakan mikrokontroler AVR yang lebih murah
- Memerlukan mikrokontroler AVR dengan pin lebih banyak atau lebih sedikit dari ATmega328
- Anda memiliki semua jenis AVR kecuali ATmega328 :D
Dalam tutorial ini Anda akan belajar bagaimana memprogram ATmega8 menggunakan Arduino IDE. Ini tidak terbatas pada ATmega8 saja dan dapat digeneralisasi ke inti lain yang tersedia di GitHub MCUDude. Ini terdiri dari dua bagian. Di bagian pertama, Menginstal bootloader Arduino di ATmega8 dijelaskan. Bagian dua menunjukkan cara memprogram ATmega8 menggunakan Arduino IDE dan konverter USB ke TTL.
Bagian satu:Memasang Arduino Bootloader
Pada bagian ini, kami menambahkan dukungan ATmega8 ke Arduino IDE. Kemudian kami menyiapkan papan tempat memotong roti dan menghubungkan ATmega8 ke papan Arduino UNO.
Langkah Satu:Menambahkan Dukungan ATmega8 ke Arduino IDE Menggunakan Board Manager
Ada berbagai jenis inti yang tersedia di repositori GitHub MCUDude. MiniCore digunakan untuk mikrokontroler ATmega8. Mikrokontroler yang didukung dalam inti ini adalah:
- ATmega8
- ATmega48
- ATmega88
- ATmega168
- ATmega328
Ikuti langkah-langkah di bawah ini untuk menginstal MiniCore di Arduino IDE Anda.
- Dalam File menu, klik Preferensi .
- Sekarang di URL Manajer Papan Tambahan , masukkan URL berikut:
https://mcudude.github.io/MiniCore/package_MCUdude_MiniCore_index.json
- Buka Alat menu lalu pilih Papan> Pengelola Dewan
- Di jendela Boards Manager, cari MiniCore lalu instal versi terbaru.
Langkah-langkah di atas ditunjukkan secara grafis di sini:
Pinout ATmega8 ditunjukkan pada gambar berikut.
Langkah Kedua:Memprogram Arduino sebagai ISP (Pemrograman dalam sistem)
Untuk membakar bootloader Arduino, kita perlu menjadikan Arduino UNO kita sebagai ISP. Ada sketsa bernama ArduinoISP dalam contoh bawaan Arduino IDE. Ikuti langkah-langkah berikut untuk memprogram Arduino UNO Anda sebagai ISP.
- Buka File> Contoh> 11.ArduinoISP> ArduinoISP
- Unggah sketsa ini ke Arduino UNO Anda.
Langkah Ketiga:Membakar Bootloader - Hubungkan Arduino ke ATmega8 seperti di bawah ini.
Arduino ----------ATmega8
SCK / Pin 13 ----------SCK / PB5
MISO / Pin 12 ----------MISO / PB4
MOSI / Pin 11 ----------MOSI / PB3
SSN / Pin 10 ----------RESET
- Buka Alat> Dewan dan pilih ATmega8 . Anda juga dapat memilih jenis dan frekuensi jam di Alat menu.
- Pilih jenis pemrogram di Alat> Pemrogram: sebagai “Arduino sebagai ISP ”.
- Sekarang dalam Alat menu, klik Bakar Bootloader .
Jika operasi berhasil, dikatakan “Selesai membakar bootloader ”. Selamat! Anda telah melakukannya.
Bagian Kedua:Pemrograman ATmega8 Menggunakan Arduino IDE dan Konverter USB ke TTL
Di sini kita memiliki ATmega8 dengan bootloader Arduino. Seperti yang Anda ketahui, ada konverter USB ke TTL di semua papan Arduino. Ini bertindak sebagai jembatan antara mikrokontroler dan Arduino IDE. Kami menggunakan modul konverter USB ke TTL CH340 untuk mengunggah sketsa ke ATmega8.
Langkah Empat:Menyiapkan Koneksi
Hubungkan komponen seperti yang ditunjukkan di bawah ini.
CH340 ---------- ATmega8
VCC ---------- VCC
GND ---------- GND
Tx ---------- RX / PD0
Rx ---------- Tx / PD1
Langkah Kelima:Mengunggah Sketsa ke ATmega8
Tekan dan tahan tombol tekan reset. Sekarang klik unggah di IDE. Tahan tombol hingga muncul tulisan “Uploading…” pada status bar IDE. Lepaskan tombol setelah proses pengunggahan dimulai. Itu karena mikrokontroler harus dalam keadaan RESET saat proses upload dimulai.
Catatan:Jika proses tidak berhasil, letakkan kapasitor 100nF pada Vcc dan GND mikrokontroler sedekat mungkin.
Catatan:Beberapa modul konverter USB ke TTL memiliki pin bernama DTR. Jika Anda memiliki pin ini juga, Anda dapat menghubungkannya ke pin RESET ATmega8 dan tidak perlu menggunakan tombol tekan untuk mereset mikrokontroler secara manual.
Skema