Bagaimana seharusnya seseorang beralih dari menggunakan Arduino sebagai programmer ke programmer eksternal?

12

Bagian dua dari seri tiga bagian tentang transisi dari Arduino ke mikrokontroler AVR biasa dan komponen pendukung minimum ( bagian satu , bagian tiga )

Saya telah melihat banyak orang bertanya ini di Internet, jadi begini:

Saya sudah tahu cara memprogram dan menggunakan barebone ATmega328 dengan Arduino sebagai programmer . Saya sekarang ingin mulai menggunakan programmer eksternal dengan Arduino IDE.

Bagaimana saya harus melanjutkan dalam transisi ini? Apa yang harus saya pelajari? (Alangkah baiknya jika tutorial mini untuk beberapa bagian diberikan sebagai bagian dari jawabannya)

Manishearth
sumber
2
+1, kandidat yang sangat baik untuk pertanyaan referensi, saya menantikan beberapa jawaban terstruktur dan terperinci yang mudah diikuti untuk pemula, dan bukan jawaban "etch-a-board".
Anindo Ghosh
Saya bingung. Anda ingin langkah-langkah untuk berpindah dari satu metodologi ke metodologi lainnya. Apa yang Anda harapkan sebagai jawaban? Tutorial untuk langsung menggunakan programmer eksternal adalah tutorial yang sebenarnya.
asheeshr
@ AshRj: Transisi dan memulai lagi adalah dua hal yang berbeda. Jika seseorang tahu cara menggunakan Arduino, mereka perlu tahu apa perbedaan dalam berbagai kode (dan dasar-dasar menggunakan programmer).
Manishearth
@Manishearth Apa maksudmu dengan 'tanpa bootloader'?
Polar
@ Kutub: Pada dasarnya, saya tidak ingin Arduino bootloader ada di sana untuk membantu saya (yang terjadi jika Anda menggunakan Arduino sebagai programmer), saya hanya ingin ATmega kosong di mana semua kode adalah kode saya .
Manishearth

Jawaban:

6

Catatan: Tutorial mini ini didasarkan pada informasi resmi di sini di situs Arduino. Ini juga melibatkan penggunaan IDE Arduino resmi.

Catatan 2: Tautan yang disediakan untuk produk dapat berupa tautan Farnell (karena mengandung lembar data) atau halaman produk aktual di situs web pabrikan.


Langkah 1: Dapatkan pemrogram eksternal

Hal pertama yang perlu diperhatikan adalah Anda membutuhkan programmer eksternal untuk menghindari bootloader dan mendapatkan kembali memori 1K atau 2K yang dibutuhkannya (12,5% dari total memori). Anda dapat menggunakan AVR-ISP , STK-500 , atau programmer paralel-port - situs resmi Arduino memiliki instruksi untuk ini di sini . Perhatikan bahwa Anda tidak dapat berkomunikasi dengan papan melalui programmer paralel - sarannya adalah menggunakan kabel serial untuk itu. Manfaat utama menggunakan programmer paralel adalah mereka jauh lebih murah daripada yang lain jika Anda bersedia melakukan penyolderan - Anda hanya perlu beberapa (3) resistor dan beberapa konektor, sedangkan ISP dapat membuat Anda membuat cadangan. hingga £ 30 / $ 50 (nilai konversi merupakan perkiraan).


Langkah 2: Edit file preferensi Arduino

Selanjutnya Anda harus mengkonfigurasi Arduino IDE untuk memungkinkan Anda menghindari bootloader. Pastikan Anda TIDAK membuka IDE Arduino! File preferensi preferences.txtdapat ditemukan di lokasi berikut, tergantung pada sistem operasi Anda:

  • C:\Documents and Settings\<Username>\Application Data\Arduino\preferences.txt (Windows)
  • /Users/<Username>/Library/Arduino/preferences.txt (Mac)
  • ~/.arduino/preferences.txt (Linux)

Untuk sampai ke file preferensi di Windows, buka menu mulai dan kemudian pergi ke %appdata%(NB: Saya tidak menggunakan Windows secara teratur, jangan ragu untuk memperbaiki saya). Kemudian arahkan ke Arduino dan kemudian kepreferences.txt

Di Mac, gunakan Terminal, dan lakukan:

cd ~/Library/Arduino
open .

Atau di Finder gunakan Goto (Cmd-Shift-G) dan masukkan ~/Library/Arduino. Keduanya membawa Anda ke jendela Finder dengan preferences.txt.

Pada sistem Unix, folder dimulai dengan '.' (seperti .cache, .git) secara default disembunyikan, jadi di Linux Anda harus menggunakan Terminal dan memasukkan:

cd ~/.arduino
nautilus .

Catatan: Anda dapat mengganti nautilus dengan gnome-open jika diinginkan. Saya tahu bahwa keduanya bekerja pada rasa umum Linux, tetapi Anda mungkin memiliki masalah pada beberapa rasa yang lebih 'eksotis'.

Setelah Anda menemukan preferences.txtfile, buka dan ubah upload.usingdari bootloadermenjadi nama salah satu programmer di ./hardware/programmers.txtsubdirektori. Jika Anda hanya ingin menghapus bootloader dari satu papan, ./hardware/boards.txtAnda dapat mengubah <board>.upload.usingparameter dan semua papan lainnya masih akan menggunakan bootloader. Kemudian simpan saja file yang relevan dan tutuplah (Arduino saya mogok dan saya hampir kehilangan jawabannya, mungkin karena saya lupa melakukan ini).


Langkah 3: Unggah sketsa

Setelah Anda mengedit file yang relevan, buka kembali Arduino IDE dan unggah sketsa seperti biasa. Jika Anda baru saja mengedit ./hardware/boards.txt, maka hanya papan tertentu yang tidak memiliki bootloader, tetapi jika Anda diedit preferences.txtmaka semua papan tidak akan memiliki bootloader.


Langkah 4: Ganti bootloader

Jika Anda ingin memiliki bootloader lagi di papan Anda (untuk alasan apa pun), maka pertama-tama hapus <board>.upload.usingparameter atau atur upload.usingkembali bootloader. Maka Anda perlu membakar bootloader kembali ke papan yang terpengaruh - jawaban ini menjelaskan dengan cukup baik satu metode untuk melakukannya, dan ada metode yang lebih mudah untuk mengunggah bootloader Arduino hanya dengan ISP (yang seharusnya Anda dapatkan dari sebelumnya) di situs resmi di sini .

Kutub
sumber
Saya kira saya tidak jelas, saya mengedit pertanyaan untuk membuat ini jelas: Saya ingin lebih atau kurang membuang IDE sama sekali (yang berarti Anda harus belajar bahasa pemrograman lain. Namun, karena Anda sudah memposting sebuah jawaban, saya Saya akan menanyakannya sebagai pertanyaan terpisah
Manishearth
@Manishearth Ah, saya akan mengeditnya untuk mencerminkan hal itu jika Anda mau. Kemudian lagi, kita bisa melakukan lebih banyak pertanyaan ...
Polar
Saya akan bertanya yang lain, ini akan menjadi terlalu luas jika saya
memasukkannya
@Manishearth Ok :)
Polar