Isi kandungan:
Video: Memprogram ATTiny85, ATTiny84 dan ATMega328P: Arduino As ISP: 9 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Kata pengantar
Saya baru-baru ini sedang membangunkan beberapa projek IoT berasaskan ESP8266 dan mendapati pemproses terasnya sukar untuk melaksanakan semua tugas yang saya perlukan untuk menguruskannya, jadi saya memutuskan untuk menyebarkan beberapa aktiviti yang kurang penting kepada mikrokontroler yang berbeza di dengan cara ini membebaskan ESP8266 untuk meneruskan tugasnya sebagai peranti IoT.
Memandangkan saya ingin menerbitkan projek saya kepada khalayak seluas mungkin, saya memilih untuk menggunakan Arduino IDE sebagai platform pengembangan pilihan kerana mempunyai komuniti yang disokong secara meluas.
Kekangan Reka Bentuk
Untuk menyediakan penyebaran peranti sasaran yang munasabah yang memungkinkan pemilihan mikrokontroler yang sesuai untuk aplikasi di tangan, saya memutuskan bahagian Atmel berikut; ATMega328P, ATTiny84 dan ATTiny85. Untuk mengehadkan kerumitan pengaturcara yang diperlukan, saya mengehadkan pilihan jam ke dalaman untuk semua peranti dan 16MHz luaran hanya untuk ATMega328P dan ATTiny84.
Yang berikut adalah koleksi nota pengaturcaraan dengan Arduino dan penerangan tentang bagaimana saya mengumpulkan pengaturcara berasaskan Arduino Uno sederhana untuk peranti ini (Gambar di atas).
Bahagian apa yang saya perlukan?
Untuk membina pengaturcara, anda memerlukan bahagian-bahagian berikut
- 1 diskaun Arduino Uno
- 2 dari soket DIP Zero Insertion Force (ZIF) 28 pin (untuk menahan ATMega328P, ATTiny85, ATTiny84)
- 1 pelindung prototaip Arduino (saya ada di sini;
- 2 off 5MM LED
- 2 perintang 1K perintang
- 1 dari perintang 10K
- 4 dari kapasitor Seramik 22pF
- 2 dari kristal 16MHz
- 3 kapasitor seramik 0.1uF
- 1 off 47uF Elektrolitik Kapasitor
- 1 off Kapasitor Elektrolitik 10uF
- Kawat bungkus pelbagai panjang.
Perisian apa yang saya perlukan?
Arduino IDE 1.6.9
Apakah kemahiran yang saya perlukan?
- Pengetahuan mengenai Arduino IDE
- Sebilangan pengetahuan mengenai elektronik dan cara pematerian
- Banyak ketangkasan manual
- Banyak kesabaran dan penglihatan yang baik
Topik yang dibincangkan
- Pengenalan Umum pengaturcaraan Mikrokontroler Atmel
- ISP atau Bootloader: Semuanya agak membingungkan
- Gambaran keseluruhan litar
- Menyiapkan pengaturcara anda
- Menggunakan Pengaturcara ISP Arduino anda
- Membangunkan kod pada sistem sasaran anda
- Gotchas
- Kesimpulannya
- Rujukan yang digunakan
Penafian
Seperti biasa, anda menggunakan arahan ini dengan risiko anda sendiri dan mereka tidak disokong
Langkah 1: Pengenalan Umum Pengaturcaraan Mikrokontroler Atmel
Terdapat dua kaedah yang tersedia untuk pengaturcaraan mikrokontroler Atmel;
- Dalam Pengaturcaraan Sistem (ISP),
- Pengaturcaraan Sendiri (melalui pemuat but).
Kaedah sebelumnya (1) secara langsung memprogram mikrokontroler melalui antara muka SPI setelah pertama kali meletakkan peranti ke dalam set semula. Kecuali diperintahkan sebaliknya, program sumber boleh laku yang dikompilasi ditulis ke peranti secara bertahap ke dalam memori kod dari mana ia dijalankan semasa permulaan. Terdapat banyak peranti ISP yang mampu memprogramkan peranti Atmel, beberapa di antaranya (gambar 1); AVRISPmkII, Atmel-ICE, Olimex AVR-ISP-MK2, Olimex AVR-ISP500. Gambar 2 menunjukkan bagaimana peranti ISP menyambung ke ATMega328P (ICSP bertanda aneh) pada papan Arduino Uno R3 (gambar 3 memberikan pin ISP keluar). Juga memungkinkan untuk memprogram mikrokontroler Atmel melalui antara muka SPI menggunakan Arduino Uno sebagai ISP (gambar 4), di sini Uno digunakan untuk memprogram ATMega328P.
Kaedah terakhir (2) menggunakan rintisan kod kecil yang dikenali sebagai 'bootloader' yang tinggal secara tetap dalam memori kod yang dapat dilaksanakan (biasanya dikunci untuk mengelakkan penindihan gambar 5 secara tidak sengaja). Kod ini dilaksanakan terlebih dahulu setelah power up atau reset peranti dan membolehkan mikrokontroler memprogramkan semula dirinya dengan kod baru yang diterima melalui salah satu antara muka dari sumber luarnya sendiri. Kaedah bootloader digunakan oleh Arduino IDE untuk memprogram ulang Arduinos yang dipetakan sebagai port comm USB di PC (Atau MAC, kotak Linux dll., Gambar 6) dan dalam kes Arduino Uno berkomunikasi dengan peranti Atmel melalui itu antara muka bersiri pada IC Pin 2 dan 3 ATMega328P. Juga Arduino Uno (dengan mikrokontroler ATMega328P dikeluarkan) dapat digunakan untuk memprogram ATMega328P melalui kaedah bootloader yang bertindak efektif sebagai peranti penyesuai USB ke siri (gambar 7).
Apa itu penyesuai USB ke siri?
Penyesuai USB ke siri adalah sekeping perkakasan yang dipasang ke port USB PC anda dan kelihatan seperti port com bersiri (warisan dari masa-masa sebelumnya ketika komputer menggunakan standard komunikasi bersiri yang dikenali sebagai EIA-232, V24 atau RS232) yang membolehkan anda menghantar dan menerima data bersiri pada tahap elektrik mikrokontroler yang sama. Apabila anda Memilih Alat -> Port -> COMx dari Arduino IDE anda menyambungkan / menghubungkan PC anda ke Arduino anda.
Peranti seperti ini kadang-kadang disebut sebagai FTDI (gambar 8, yang sebenarnya adalah nama jenama) atau CH340G dll. USB ke siri pada Arduino uno dicapai melalui ATMega16U2-MU (R) IC ZU4 seperti dalam Skema Arduino di bawah.
Untuk kejelasan gambar 9 mengenal pasti dua peranti Atmel dan penyambung ISP masing-masing pada Arduino Uno R3.
Catatan 1: Jika anda memilih untuk menyusuri laluan peranti FTDI, pastikan anda membeli dari penjual yang bereputasi baik kerana terdapat banyak alat palsu yang murah di pasaran yang gagal setelah aplikasi kemas kini windows.
Disyorkan:
Cara Memprogram dan Memuat Boot ATtiny85 Dengan USBasp: 5 Langkah
Cara Memprogram dan Memuat Boot ATtiny85 Dengan USBasp: Dalam Instruksional ini, anda akan belajar dengan tepat bagaimana memuat dan memprogram mikrocip ATtiny85 dengan cara termudah yang dapat saya fahami. Ini adalah Instructable pertama saya, jadi jika anda mempunyai nasihat atau petua mengenai cara membuat panduan yang lebih baik, sila bekerjasama dengan
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: 5 Langkah (dengan Gambar)
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: Mengendalikan 8 suis relai menggunakan penerima nodemcu dan ir melalui aplikasi wifi dan jauh dan android. Alat kawalan jauhnya tidak bergantung pada sambungan wifi. DI SINI ADALAH KLIK VERSI YANG DIKEMASKINI SINI
Memprogramkan Cip Dengan Arduino Anda - AVR ISP Meliputi ATTiny85, ATTiny2313 dan ATMega328: 3 Langkah
Memprogramkan Cip Dengan Arduino Anda - AVR ISP Meliputi ATTiny85, ATTiny2313 dan ATMega328: Saya menjumpai ini sebagai draf dari bertahun-tahun yang lalu. Ia masih berguna untuk saya sekurang-kurangnya jadi saya akan menerbitkannya! Instructable ini adalah kumpulan pengetahuan yang dikumpulkan dari sekitar 'net dan juga' struktur. Ia merangkumi pengaturcaraan AVR Microco
Paparan Suhu dan Kelembapan dan Pengumpulan Data Dengan Arduino dan Pemprosesan: 13 Langkah (dengan Gambar)
Paparan Suhu dan Kelembapan dan Pengumpulan Data Dengan Arduino dan Pemprosesan: Pengenalan: Ini adalah Projek yang menggunakan papan Arduino, Sensor (DHT11), komputer Windows dan program Pemprosesan (boleh dimuat turun percuma) untuk memaparkan data Suhu, Kelembapan dalam digital dan borang graf bar, masa dan tarikh paparan dan jalankan waktu mengira
Memprogram PLC untuk Mengawal Lampu Henti .: 7 Langkah (dengan Gambar)
Memprogram PLC untuk Mengawal Lampu Henti .: PLC digunakan dalam semua perkara yang kita hadapi setiap hari. Dari mesin pengetinan atau pembotolan barang seperti bir, soda, sup dan banyak barang bungkusan lain hingga tali sawat di Walmart dan Lampu Henti di beberapa persimpangan, PLC menyentuh