Daftar Isi:

Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP: 9 Langkah (dengan Gambar)
Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP: 9 Langkah (dengan Gambar)

Video: Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP: 9 Langkah (dengan Gambar)

Video: Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP: 9 Langkah (dengan Gambar)
Video: Cara Program ATTINY 85 dengan Arduino 2024, Juli
Anonim
Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP
Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP
Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP
Pemrograman ATTiny85, ATTiny84 dan ATMega328P: Arduino Sebagai ISP

Kata pengantar

Saya baru-baru ini mengembangkan beberapa proyek IoT berbasis ESP8266 dan menemukan prosesor inti sedang berjuang untuk melakukan semua tugas yang saya perlukan untuk mengelolanya, jadi saya memutuskan untuk mendistribusikan beberapa aktivitas yang kurang penting ke mikrokontroler yang berbeda di cara ini membebaskan ESP8266 untuk melanjutkan tugasnya sebagai perangkat IoT.

Mengingat saya ingin mempublikasikan proyek saya ke khalayak seluas mungkin, saya memilih untuk menggunakan Arduino IDE sebagai platform pengembangan pilihan karena memiliki komunitas yang didukung secara luas.

Kendala Desain

Untuk menyediakan penyebaran perangkat target yang wajar yang memungkinkan pemilihan mikrokontroler yang sesuai untuk aplikasi yang ada, saya menetapkan bagian Atmel berikut; ATMega328P, ATTiny84 dan ATTiny85. Untuk membatasi kerumitan pemrogram yang diperlukan, saya membatasi pilihan jam ke internal untuk semua perangkat dan 16MHz eksternal hanya untuk ATMega328P dan ATTiny84.

Berikut ini adalah kumpulan catatan tentang pemrograman dengan Arduino dan deskripsi tentang bagaimana saya menyusun programmer berbasis Arduino Uno sederhana untuk perangkat ini (Gambar di atas).

Bagian apa yang saya butuhkan?

Untuk membangun programmer, Anda akan memerlukan bagian-bagian berikut:

  1. 1 dari Arduino Uno
  2. 2 off 28 pin Zero Insertion Force (ZIF) soket DIP (untuk menahan ATMega328P, ATTiny85, ATTiny84)
  3. 1 dari perisai prototipe Arduino (saya mendapatkan milik saya di sini;
  4. 2 dari 5 MM LED
  5. 2 dari resistor 1K
  6. 1 dari 10K resistor
  7. 4 off kapasitor Keramik 22pF
  8. 2 dari kristal 16MHz
  9. 3 off 0.1uF kapasitor keramik
  10. 1 off 47uF Kapasitor Elektrolit
  11. 1 dari 10uF Kapasitor Elektrolit
  12. Berbagai panjang kawat bungkus kawat.

Perangkat lunak apa yang saya butuhkan?

Arduino IDE 1.6.9

Keterampilan apa yang saya butuhkan?

  1. Pengetahuan tentang Arduino IDE
  2. Beberapa pengetahuan tentang elektronik dan cara menyolder
  3. Banyak ketangkasan manual
  4. Banyak kesabaran dan penglihatan yang baik

Topik yang dibahas

  1. Pengantar Umum Pemrograman Mikrokontroler Atmel
  2. ISP atau Bootloader: Semuanya agak membingungkan
  3. Ikhtisar sirkuit
  4. Menyiapkan programmer Anda
  5. Menggunakan Programmer ISP Arduino Anda
  6. Mengembangkan kode pada sistem target Anda
  7. Gotcha
  8. Kesimpulan
  9. Referensi yang digunakan

Penafian

Seperti biasa, Anda menggunakan instruksi ini dengan risiko Anda sendiri dan instruksi tersebut tidak didukung

Langkah 1: Pengenalan Umum tentang Pemrograman Mikrokontroler Atmel

Pengenalan Umum Pemrograman Mikrokontroler Atmel
Pengenalan Umum Pemrograman Mikrokontroler Atmel
Pengenalan Umum tentang Pemrograman Mikrokontroler Atmel
Pengenalan Umum tentang Pemrograman Mikrokontroler Atmel
Pengenalan Umum tentang Pemrograman Mikrokontroler Atmel
Pengenalan Umum tentang Pemrograman Mikrokontroler Atmel

Ada dua metode yang tersedia untuk pemrograman mikrokontroler Atmel;

  1. Dalam Pemrograman Sistem (ISP),
  2. Pemrograman Mandiri (melalui bootloader).

Metode pertama (1) secara langsung memprogram mikrokontroler melalui antarmuka SPI setelah terlebih dahulu mengatur ulang perangkat. Kecuali diinstruksikan sebaliknya, program sumber yang dapat dieksekusi yang dikompilasi ditulis ke perangkat secara bertahap ke dalam memori kode dari mana ia dieksekusi saat start up. Ada banyak perangkat ISP yang mampu memprogram perangkat Atmel, beberapa di antaranya adalah (gambar 1); AVRISPmkII, Atmel-ICE, Olimpex AVR-ISP-MK2, Olimex AVR-ISP500. Gambar 2 menunjukkan bagaimana perangkat ISP terhubung ke ATMega328P (anehnya ditandai ICSP) pada papan Arduino Uno R3 (gambar 3 menunjukkan pin ISP). Dimungkinkan juga untuk memprogram mikrokontroler Atmel melalui antarmuka SPI-nya menggunakan Arduino Uno sebagai ISP (gambar 4), di sini Uno digunakan untuk memprogram ATMega328P.

Metode terakhir (2) menggunakan rintisan kode kecil yang dikenal sebagai 'bootloader' yang menetap secara permanen di memori kode yang dapat dieksekusi (biasanya dikunci untuk mencegah penimpaan pic 5) secara tidak sengaja. Kode ini dijalankan pertama kali pada saat power up atau reset perangkat dan memungkinkan mikrokontroler untuk memprogram ulang dirinya sendiri dengan kode baru yang diterima melalui salah satu antarmuka dari sumber eksternal untuk dirinya sendiri. Metode bootloader digunakan oleh Arduino IDE untuk memprogram ulang Arduino yang dipetakan sebagai port komunikasi USB pada PC (Atau MAC, kotak Linux dll., gambar 6) dan dalam kasus Arduino Uno berkomunikasi dengan perangkat Atmel melalui antarmuka serial pada Pin IC 2 dan 3 dari ATMega328P. Juga Arduino Uno (dengan mikrokontroler ATMega328P dihapus) dapat digunakan untuk memprogram ATMega328P melalui metode bootloader yang secara efektif bertindak sebagai perangkat adaptor USB ke serial (gambar 7).

Apa itu adaptor USB ke serial?

Adaptor USB ke serial adalah perangkat keras yang dihubungkan ke port USB PC Anda dan terlihat seperti port komunikasi serial (warisan dari masa sebelumnya ketika komputer menggunakan standar komunikasi serial yang dikenal sebagai EIA-232, V24 atau RS232) yang memungkinkan Anda untuk mengirim dan menerima data serial pada level listrik yang sama dari mikrokontroler. Ketika Anda Memilih Alat -> Port -> COMx dari Arduino IDE, Anda menghubungkan / menghubungkan PC Anda ke Arduino Anda.

Perangkat seperti ini kadang-kadang disebut sebagai FTDI (gambar 8, yang sebenarnya adalah nama merek) atau CH340G dll. USB ke serial pada Arduino uno dicapai melalui IC ATMega16U2-MU(R) ZU4 seperti pada Skema Arduino di bawah.

Untuk kejelasan gambar 9 mengidentifikasi dua perangkat Atmel dan konektor ISP masing-masing pada Arduino Uno R3.

Catatan 1: Jika Anda memilih untuk mengikuti rute perangkat FTDI, pastikan Anda membeli dari penjual yang memiliki reputasi baik karena ada banyak perangkat palsu murah di pasaran yang gagal saat menerapkan pembaruan windows.

Direkomendasikan: