Daftar Isi:
- Langkah 1: Apa yang Anda Butuhkan?
- Langkah 2: Membuat Programmer Mega-isp di Breadboard
- Langkah 3: Mengunggah Sketsa
- Langkah 4: Menggunakan Dengan Avrdude
- Langkah 5: Membakar Firmware USBtinyISP ke Attiny2313
- Langkah 6: Membakar Bootloader Arduino
- Langkah 7: Pemecahan Masalah
Video: Cara Memprogram AVR (arduino) Dengan Arduino Lain: 7 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:59
Instruksi ini berguna jika:
* Anda memiliki arduino dengan atmega168 dan Anda membeli atmega328 di toko elektronik lokal Anda. Itu tidak memiliki bootloader arduino * Anda ingin membuat proyek yang tidak menggunakan arduino - hanya chip AVR biasa (seperti USBTinyISP) - Anda memiliki attiny2313/attiny48 bersih dll yang ingin Anda gunakan untuk membakar firmware. Biasanya Anda harus memiliki ISP (In System Programmer) seperti USBTinyISP untuk memprogram chip baru Anda. Memiliki arduino, Anda dapat mengajarinya menjadi seorang programmer berkat pekerjaan hebat yang dilakukan oleh Randall Bohn. Dia menciptakan Mega-ISP - sketsa arduino yang bekerja seperti seorang programmer.
Langkah 1: Apa yang Anda Butuhkan?
* Arduino yang berfungsi (atau tiruan - saya menggunakan BBB - BareBonesBoard dan RBBB - RealBareBonesBoard oleh ModernDevices) * sebuah chip yang ingin Anda program (diuji dengan atmega8, atmega168, atmega368, attiny2313, attiny13) * papan tempat memotong roti atau papan dengan header ISP * 3 led + 3 resistor * kabel papan tempat memotong roti
Langkah 2: Membuat Programmer Mega-isp di Breadboard
Ada dua cara untuk menghubungkan Arduino Anda ke program chip.
Anda dapat memasang chip avr Anda ke papan tempat memotong roti dan menghubungkan 5v dan GND ke masing-masing pin (periksa lembar data!) + resistor pullup untuk mereset dan menghubungkan pin dari arduino Anda ke chip. Ini adalah garis-garis pada arduino dan fungsinya 13 - SCK 12 - MISO 11 - MOSI 10 - RST (Reset) Atau anda bisa membuat header ISP 2x3pin yang bisa anda colok ke board yang menyediakan satu (board arduino lainnya). Pinout untuk header ISP ada pada gambar ketiga Terdapat 3 led untuk menunjukkan status programmer. pin 9 - led biru - ini adalah detak jantung programmer. pin 8 - led merah - menunjukkan kesalahan pin 7 - led hijau - menunjukkan bahwa pemrograman sedang berlangsung (saya malas jadi saya tidak cocok dengan warna dalam pengaturan saya) Berikut adalah gambar yang dibuat di Fritzing Anda juga dapat membuat Perisai MEGA-isp. Yaroslav Osadchyy merancang perisai dengan elang. Anda bisa mendapatkan file elang di situsnya:
Langkah 3: Mengunggah Sketsa
Unduh sketsa dari kode google mega-isp. (avrisp.03.zip pada saat penulisan). Buka kemasannya dan jalankan arduino ide dan buka avrisp.pde. Unggah ke papan arduino Anda. Detak jantung led harus mulai berdetak.
Langkah 4: Menggunakan Dengan Avrdude
Untuk digunakan dengan avrdude (dan semua GUI yang menggunakannya), Anda harus memilih programmer 'avrisp'. bitrate paling aman adalah 19200.
Untuk menguji atmega168 baru Anda dari commandline coba: $ avrdude -p m168 -P /dev/ttyUSB0 -c avrisp -b 19200 /dev/USB0 adalah port yang menghubungkan arduino ke kotak linux saya (mungkin com5). Ini dapat diperiksa di arduino IDE di Tools -> Serial Port. Anda harus mendapatkan: [kabturek@hal-9000 ~]# avrdude -p m168 -P /dev/ttyUSB0 -c avrisp -b 19200 avrdude: Perangkat AVR diinisialisasi dan siap menerima instruksi Membaca | ############################################################# | 100% 0,13 detik avrdude: Tanda tangan perangkat = 0x1e9406 avrdude: safemode: Sekering OK avrdude selesai. Terima kasih. Itu berarti semuanya baik-baik saja. Jika Anda mendapatkan kesalahan - periksa langkah terakhir.
Langkah 5: Membakar Firmware USBtinyISP ke Attiny2313
USBTinyISP adalah programmer hebat dari LadyAda yang sangat murah - 22$. Saya memiliki attiny2313 cadangan dan beberapa bagian jadi saya memutuskan untuk membuatnya sendiri. Jika Anda tidak memiliki pengalaman dalam membuat PCB, saya sarankan Anda membeli kit karena kualitasnya lebih tinggi daripada yang Anda buat sendiri:). Setidaknya belilah PCB jika Anda ingin membuatnya. Anda bisa mendapatkannya dari Adafruit. Hubungkan ATtiny2313Pada gambar terakhir Anda dapat melihat attiny2313 dengan pin yang digunakan untuk ISP berwarna merah. Gambar dari tutorial avr LadyAda. Membakar firmware: Buka paket firmware USBTinyISP. Buka direktori spi dan jalankan $ avrdude -p pt2313 -P /dev/ttyUSB0 -c avrisp -b 19200 untuk memeriksa apakah semuanya baik-baik saja dengan chip. Sekarang atur sekeringnya: $ avrdude -P /dev/ttyUSB0 -c avrisp -b 19200 -pt2313 -U hfuse:w:0xdf:m -U lfuse:w:0xef:m Sekarang Anda harus memasang osilator eksternal 12mhz ke chip. Dan bakar firmware: $ avrdude -B 1 -pt2313 -U flash:w:main.hex -P /dev/ttyUSB0 -c avrisp -b 19200 Voila. Attiny2313 Anda memiliki firmware USBTinyISP.
Langkah 6: Membakar Bootloader Arduino
ConnectingSaya curang sedikit karena saya menggunakan RBBB untuk menyederhanakan koneksi. Skema ada di gambar #2. Jika Anda menggunakan 2 arduino gunakan gambar #3 dan sambungkan pin ISP ke header ICSP 2x3 pada arduino kedua (slave). Hanya sambungkan daya usb ke papan pertama. Cara GUI Ini sedikit rumit karena Anda tidak bisa hanya menggunakan Tools-> Burn Bootloader -> w/ AVR ISP karena kecepatan default terlalu besar untuk mega-isp. Cari avrdude.conf yang disertakan dengan arduino IDE (di arduino/hardware/tools/avrdude.conf) dan ubah batas untuk programmer avrisp dari 115200 menjadi 19200 (sekitar baris 312) Cari dan ubah di avrdude.conf programmer id = "avrisp"; desc = "ISP Atmel AVR"; baudrate = 115200; # default adalah 115200 jenis = stk500;; ke: id pemrogram = "avrisp"; desc = "ISP Atmel AVR"; baudrate = 19200; # default adalah 115200 jenis = stk500;; Sekarang Anda dapat menggunakan Tools -> Burn Bootloader -> w/ AVR ISP (setelah Anda memilih papan yang tepat dari menu Tools)Commanline Anda juga dapat menggunakan commandline: Edit arduino/hardware/bootloaders/atmega/Makefile dan ubah ISPTOOL/PORT /SPEED ke: # masukkan parameter untuk avrdude isp tool ISPTOOL = avrisp ISPPORT = /dev/ttyUSB0 ISPSPEED = -b 19200 no Anda dapat menulis $ make diecimila_isp untuk membakar sekering dan bootloader. Test Sekarang hubungkan arduino baru Anda ke usb dan membakar berkedip!
Langkah 7: Pemecahan Masalah
Kesalahan avrdude: avrdude: ser_open(): tidak dapat membuka perangkat "/dev/ttyUSB0": Tidak ada file atau direktori seperti itu Anda salah menentukan port (-P) atau arduino Anda tidak terhubung. periksa koneksi avrdude: Tanda tangan perangkat = 0x000000 avrdude: Astaga! Tanda tangan perangkat tidak valid. Periksa kembali koneksi dan coba lagi, atau gunakan -F untuk mengesampingkan pemeriksaan ini. Ini adalah jenis kesalahan umum. Chip Anda tidak dikenali. Periksa koneksi di papan (GND/5V terhubung ke pin?) Anda akan mendapatkan kesalahan ini ketika chip Anda dikonfigurasi untuk menggunakan osilator eksternal dan tidak berfungsi (tidak ada satu atau tidak berosilasi dengan benar - tutup 22pf hilang ?)
Direkomendasikan:
Memprogram Arduino Menggunakan Arduino Lain untuk Menampilkan Teks Bergulir Tanpa Perpustakaan: 5 Langkah
Memprogram Arduino Menggunakan Arduino Lain untuk Menampilkan Teks Bergulir Tanpa Perpustakaan: Sony Spresense atau Arduino Uno tidak terlalu mahal dan tidak memerlukan banyak daya. Namun, jika proyek Anda memiliki keterbatasan daya, ruang, atau bahkan anggaran, Anda mungkin ingin mempertimbangkan untuk menggunakan Arduino Pro Mini. Tidak seperti Arduino Pro Micro, Arduino Pro Mi
Cara Memprogram ESP32 M5Stack StickC Dengan Arduino IDE dan Visuino: 12 Langkah
Cara Memprogram ESP32 M5Stack StickC Dengan Arduino IDE dan Visuino: Dalam tutorial ini kita akan mempelajari cara memprogram ESP32 M5Stack StickC dengan Arduino IDE dan Visuino. Tonton video demonstrasi
Cara Memprogram Arduino Pro Mini Dengan Arduino Uno: 4 Langkah
Cara Memprogram Arduino Pro Mini Dengan Arduino Uno: Saya menulis ini sebagai bagian dari proyek lain, tetapi kemudian saya memutuskan untuk menggunakan Pro Micro yang dapat diprogram langsung dari laptop. Namun, ini mungkin berguna suatu hari nanti (atau untuk seseorang) jadi Saya akan meninggalkannya di sini
Cara Memprogram Papan AVR Menggunakan Papan Arduino: 6 Langkah
Cara Memprogram Papan AVR Menggunakan Papan Arduino: Apakah Anda memiliki papan mikrokontroler AVR yang tergeletak di sekitar? Apakah sulit untuk memprogramnya? Nah, Anda berada di tempat yang tepat. Disini saya akan menunjukkan cara memprogram board mikrokontroler Atmega8a menggunakan board Arduino Uno sebagai programmernya. Jadi tanpa lanjut
Memprogram Chip Dengan Arduino Anda - ISP AVR Meliputi ATTiny85, ATTiny2313 dan ATMega328: 3 Langkah
Memprogram Chip Dengan Arduino Anda - ISP AVR Meliputi ATTiny85, ATTiny2313 dan ATMega328: Saya menemukan ini sebagai konsep dari beberapa tahun yang lalu. Ini masih berguna bagi saya setidaknya jadi saya akan mempublikasikannya! Instructable ini adalah kumpulan pengetahuan yang dikumpulkan dari seluruh 'net dan juga 'nstructables. Ini mencakup pemrograman AVR Microco