- Komponen yang Diperlukan untuk Memprogram ATtiny85 melalui USB
- IC mikrokontroler ATtiny85 - Pengenalan
- Flashing Boot-loader di ATtiny85 Menggunakan Arduino Uno
- Diagram Litar untuk ATtiny Programmer
- Memasang Pemacu Digispark
- Menyiapkan Arduino IDE ke Program ATttiny85
Keluarga ATtiny adalah rangkaian salah satu pengawal mikro terkecil di pasaran AVR. Pengawal mikro ini mampu memanfaatkan banyak perpustakaan yang terdapat di platform Arduino. Cip mikrokontroler ATtiny85 adalah mikrokontroler 8-pin, 8-bit, AVR. Saiznya yang kecil dan penggunaan tenaga yang rendah menjadikannya sesuai untuk projek mudah alih dengan jejak kaki yang kecil dan keperluan daya yang rendah. Tetapi memasukkan kod anda ke dalam cip boleh menjadi sedikit cabaran kerana tidak mempunyai antara muka USB seperti papan mikrokontroler.
Dalam tutorial sebelumnya, kami memprogram ATtiny85 menggunakan Arduino Uno. Tetapi menghubungkan Attiny85 ke Arduino dan menggunakan Arduino sebagai ISP boleh menjadi sukar dan memakan masa. Oleh itu, dalam tutorial ini, kita akan membina papan Pengaturcaraan ATtiny85, supaya kita dapat memasukkan dan memprogramnya secara langsung seperti papan mikrokontroler yang lain.
Komponen yang Diperlukan untuk Memprogram ATtiny85 melalui USB
- Arduino UNO (Hanya untuk kali pertama semasa memuat naik bootloader)
- ATtiny85 IC
- Palam Jenis A USB
- 3 Perintang (2 × 47Ω & 1 × 1kΩ)
- 3 Diod (2 × Zener Diod & 1 × IN5819 Diode)
- Pangkalan IC 8-Pin
- Papan roti
- Wayar Pelompat
IC mikrokontroler ATtiny85 - Pengenalan
Atmel's ATtiny85 adalah mikrokontroler 8-bit berprestasi tinggi dan berkuasa rendah berdasarkan Advanced RISC Architecture. Cip mikrokontroler ini mempunyai memori flash 8KB ISP, 512B EEPROM, 512-Byte SRAM, 6 jalur I / O tujuan umum, 32 daftar kerja tujuan umum, satu pemasa / kaunter 8-bit dengan mod perbandingan, satu kelajuan tinggi 8-bit pemasa / kaunter, USI, gangguan dalaman dan luaran, penukar 10-bit A / D 4-saluran, pemasa pengawas yang dapat diprogramkan dengan pengayun dalaman, tiga mod penjimatan kuasa yang boleh dipilih perisian, dan debugWIRE untuk penyahpepijatan on-chip. ATtiny85 Pinout diberikan di bawah:
Sebilangan besar pin I / O cip mempunyai lebih daripada satu fungsi. Penerangan pin ATtiny85 untuk setiap pin diberikan dalam jadual di bawah:
Pin No. |
Nama Pin |
Huraian Pin |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 RESET: Tetapkan Semula Pin ADC0: Saluran Input ADC 0 dW: debug WIRE I / O |
2 |
PB3 (PCINT3 / XTAL1 / CLKI / ADC3) |
PCINT3: Pin Change Interrupt 0, Source3 XTAL1: Pin Oscillator Kristal1 CLKI: Input Jam Luaran ADC3: Saluran Input ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Pin Change Interrupt 0, Sumber 4 XTAL2: Pin Osilator Kristal 2 CLKO: Output Jam Sistem OC1B: Pemasa / Pembilang1 Bandingkan Padanan B Hasil ADC2: Saluran Input ADC 2 |
4 |
GND |
Pin Tanah |
5 |
PB0 (MOSI / DI / SDA / AIN0 / OC0A / AREF / PCINT0) |
MOSI: Output Data Master SPI / Input Data Budak DI: Input Data USI (Mod Tiga Kawat) SDA: Input Data USI (Mod Dua Kawat) AIN0: Perbandingan Analog, Input Positif OC0A: Pemasa / Pembilang0 Bandingkan output Match A AREF: Rujukan Analog Luaran PCINT0: Pin Change Interrupt 0, Source 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Input Data Master SPI / Output Data Budak DO: Output Data USI (Mod Tiga Kawat) AIN1: Perbandingan Analog, Input Negatif OC0B: Pemasa / Pembilang0 Bandingkan Hasil Padanan B OC1A: Pemasa / Pembilang1 Bandingkan Hasil Padanan A PCINT1: Pin Change Interrupt 0, Sumber 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Input Jam Bersiri USCK: Jam USI (Mod Tiga Kawat) SCL: Jam USI (Mod Dua Kawat) ADC1: Saluran Input ADC 1 T0: Sumber Jam Pemasa / Pembilang0 INT0: Selang Luar 0 Input PCINT2: Pin Change Interrupt 0, Sumber 2 |
8 |
VCC |
Pin Voltan Bekalan |
Flashing Boot-loader di ATtiny85 Menggunakan Arduino Uno
Untuk memprogram ATtiny85 tanpa Arduino, pertama-tama kita perlu memuat naik bootloader ke dalamnya menggunakan papan Arduino UNO, ini adalah proses satu kali dan setelah ini selesai, kita tidak akan memerlukan papan UNO lagi. Boot-loader adalah program khas yang dijalankan di mikrokontroler yang harus diprogramkan. Salah satu cara yang paling mudah untuk memuatkan data program anda ke mikrokontroler adalah melalui boot-loader. Boot-loader duduk di MCU dan melakukan arahan masuk, dan kemudian menulis maklumat program baru ke memori mikrokontroler. Mem-flash boot-loader pada mikrokontroler menghilangkan keperluan perkakasan luaran khas (Programmer Boards) untuk memprogram mikrokontroler dan anda akan dapat memprogramnya secara langsung menggunakan sambungan USB. The Digispark ATtiny85papan menjalankan boot-loader "micronucleus tiny85", yang pada asalnya ditulis oleh Bluebie. Boot-loader adalah kod yang diprogramkan di Digispark dan membolehkannya bertindak sebagai peranti USB sehingga dapat diprogramkan oleh Arduino IDE. Kami juga akan mem-flash bootloader digispark attiny85 yang sama di ATtiny85.
Panduan langkah demi langkah untuk memuatkan bootloader ke ATtiny85 menggunakan Arduino Uno dan Arduino IDE diberikan di bawah:
Langkah 1: Mengkonfigurasi Arduino Uno sebagai ISP:
Oleh kerana ATtiny85 hanyalah pengawal mikro, ia memerlukan ISP (Pengaturcaraan Dalam Sistem) untuk diprogramkan. Oleh itu, untuk memprogram ATtiny85, kita perlu terlebih dahulu mengkonfigurasi Arduino Uno sebagai ISP untuk bertindak sebagai pengaturcara untuk ATtiny85. Untuk itu, sambungkan Arduino Uno ke Laptop dan buka Arduino IDE. Selepas itu, arahkan ke Fail> Contoh> ArduinoISP dan muat naik kod Arduino ISP.
Langkah 2: Diagram Litar untuk Flashing Boot-loader di ATtiny85:
Skema lengkap untuk Flashing Boot-loader di ATtiny85 diberikan di bawah:
Kapasitor 10 µf disambungkan antara pin Reset dan GND Arduino. Sambungan lengkap diberikan dalam jadual di bawah:
Pin ATtiny85 |
Arduino Uno Pin |
Vcc |
5V |
GND |
GND |
Pin 2 |
13 |
Pin 1 |
12 |
Pin 0 |
11 |
Tetapkan semula |
10 |
Sekarang pasangkan Arduino Uno ke komputer riba dan buka Arduino IDE. Cari port COM yang disambungkan oleh Uno. Dalam kes saya, ia adalah COM5.
Selepas ini, muat turun fail Boot-loader ATtiny85 dari pautan yang diberikan. Buka " Burn_AT85_bootloader.bat " dan ubah nombor port COM "PCOM5" dengan apa sahaja nombor port COM yang Uno anda sambungkan. Simpan perubahan sebelum keluar.
Sekarang pindahkan fail " Burn_AT85_bootloader.bat " dan " ATtiny85.hex " yang diedit ke dalam folder root Arduino IDE (C: \ Program Files (x86) Arduino).
Selepas itu, klik kanan pada " Burn_AT85_bootloader.bat " dan pilih "Run as Admin". Diperlukan sekitar 5 hingga 6 saat untuk menyalakan boot-loader. Sekiranya semuanya berjalan lancar, anda akan menerima mesej ini "AVRdude selesai. Terima kasih. Tekan mana-mana kekunci untuk meneruskan…".
Dengan ini, Boot-loader berjaya dipasang ke ATtiny85 Chip. Kini tiba masanya untuk menyambungkan USB dengan ATtiny85 supaya kita dapat memprogramnya secara langsung. Gambarajah litar untuk pengaturcaraan ATtiny85 melalui USB diberikan di bawah:
Diagram Litar untuk ATtiny Programmer
Skema diambil dari skema papan Digispark ATtiny85 tetapi kerana kami bertujuan untuk membina programmer untuk ATtiny85, kami hanya menghubungkan Male USB Plug dengan ATtiny85.
R3 adalah resistor pull-up yang dihubungkan antara pin Vcc dan PB3 IC sementara Zener Diodes (D1-D2) ditambahkan untuk perlindungan antara muka USB total. Setelah menyolder semua komponen pada papan perf, ia akan kelihatan seperti di bawah:
Memasang Pemacu Digispark
Untuk memprogram ATtiny85 menggunakan USB, anda mesti memasang Digispark Drivers pada komputer riba anda, jika anda tidak memilikinya, anda boleh memuat turunnya menggunakan pautan yang diberikan di atas. Kemudian, ekstrak fail zip dan klik dua kali pada aplikasi " DPinst64.exe " untuk memasang pemacu.
Setelah pemacu berjaya dipasang, pasangkan papan ATtiny85 anda ke komputer riba. Sekarang pergi ke Pengurus Peranti pada Windows anda dan peranti ATtiny85 akan disenaraikan di bawah "peranti libusb-win32" sebagai "Digispark Bootloader". Sekiranya anda tidak dapat menemui 'peranti libusb-win32' pada pengurus peranti, pergi ke Lihat dan klik 'Tunjukkan Peranti tersembunyi.'
Menyiapkan Arduino IDE ke Program ATttiny85
Untuk memprogram Papan ATtiny85 dengan Arduino IDE, pertama, kita perlu menambahkan Sokongan papan Digispark ke Arduino IDE. Untuk itu, pergi ke Fail> Pilihan dan tambahkan pautan di bawah dalam URL Pengurus Papan Tambahan dan klik 'OK.'
Selepas itu, pergi ke alat> Papan> Pengurus Papan dan cari 'Digistump AVR' dan pasang versi terkini.
Setelah memasangnya, sekarang anda akan dapat melihat entri baru di menu Papan bertajuk 'Digispark'.
Sekarang, pergi ke fail> Contoh> Asas dan buka contoh Blink.
Tukar nombor pin di sana dari LED_BUILTIN menjadi 0.
Sekarang kembali ke Tools -> Board dan pilih papan " Digispark (Default - 16mhz) ". Kemudian klik pada butang muat naik di Arduino IDE.
Catatan: Sambungkan papan ATtiny85 ke komputer, hanya apabila Arduino IDE memaparkan mesej yang mengatakan "Peranti pemalam sekarang".
Setelah kod dimuat, LED yang disambungkan ke ATtiny85 akan mula berkelip.
Ini adalah bagaimana anda boleh membina papan Attiny85 Arduino Programming anda sendiri. Video yang berfungsi sama diberikan di bawah. Sekiranya anda mempunyai sebarang pertanyaan, tinggalkan di bahagian komen. Untuk sebarang pertanyaan teknikal yang lain, anda juga boleh memulakan perbincangan di forum kami.