- Komponen yang Diperlukan untuk Memprogram ATtiny85 melalui USB
- IC Mikrokontroler ATtiny85 - Pendahuluan
- Flashing Boot-loader pada ATtiny85 Menggunakan Arduino Uno
- Diagram Sirkuit untuk ATtiny Programmer
- Menginstal Driver Digispark
- Menyiapkan Arduino IDE ke Program ATttiny85
Keluarga ATtiny adalah rangkaian salah satu mikrokontroler terkecil di pasar AVR. Mikrokontroler ini mampu memanfaatkan banyak pustaka yang tersedia di platform Arduino. Chip mikrokontroler ATtiny85 adalah mikrokontroler AVR 8-pin, 8-bit. Ukurannya yang kecil dan konsumsi daya yang rendah membuatnya sangat cocok untuk proyek portabel dengan footprint kecil dan kebutuhan daya yang rendah. Tetapi memasukkan kode Anda ke dalam chip bisa menjadi sedikit tantangan karena tidak memiliki antarmuka USB seperti papan mikrokontroler.
Dalam tutorial kami sebelumnya, kami memprogram ATtiny85 menggunakan Arduino Uno. Tetapi menghubungkan Attiny85 ke Arduino dan menggunakan Arduino sebagai ISP bisa jadi sulit dan memakan waktu. Jadi dalam tutorial ini, kita akan membuat papan Pemrograman ATtiny85, sehingga kita bisa langsung plugin dan program seperti papan mikrokontroler lainnya.
Komponen yang Diperlukan untuk Memprogram ATtiny85 melalui USB
- Arduino UNO (Hanya untuk pertama kali saat mengupload bootloader)
- IC ATtiny85
- Colokan USB Tipe A Male
- 3 Resistor (2 × 47Ω & 1 × 1kΩ)
- 3 Dioda (2 × Zener Diode & 1 × IN5819 Diode)
- Dasar IC 8-Pin
- Papan tempat memotong roti
- Kabel Jumper
IC Mikrokontroler ATtiny85 - Pendahuluan
Atmel's ATtiny85 adalah mikrokontroler 8-bit berkinerja tinggi, daya rendah berdasarkan Arsitektur RISC Lanjutan. Chip mikrokontroler ini memiliki memori flash ISP 8KB, EEPROM 512B, SRAM 512-Byte, 6 jalur I / O tujuan umum, 32 register kerja tujuan umum, satu timer / penghitung 8-bit dengan mode perbandingan, satu kecepatan tinggi 8-bit timer / penghitung, USI, Interupsi internal dan eksternal, konverter A / D 10-bit 4 saluran, pengatur waktu pengawas yang dapat diprogram dengan osilator internal, tiga mode hemat daya yang dapat dipilih perangkat lunak, dan debugWIRE untuk debugging on-chip. ATtiny85 Pinout diberikan di bawah ini:
Sebagian besar pin I / O pada chip memiliki lebih dari satu fungsi. Deskripsi pin ATtiny85 untuk setiap pin diberikan pada tabel di bawah ini:
Nomor Pin |
Nama Pin |
Deskripsi Pin |
1 |
PB5 (PCINT5 / ADC0 / dW) |
PCINT5: Pin Change Interrupt 0, Source5 RESET: Atur Ulang 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 Osilator Kristal1 CLKI: Input Jam Eksternal ADC3: Saluran Input ADC 3 |
3 |
PB4 (PCINT4 / XTAL2 / CLKO / OC1B / ADC2) |
PCINT4: Pin Change Interrupt 0, Source 4 XTAL2: Pin Osilator Kristal 2 CLKO: Output Jam Sistem OC1B: Timer / Penghitung1 Bandingkan Hasil Pertandingan B. 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 Slave DI: Input Data USI (Mode Tiga Kawat) SDA: Input Data USI (Mode Dua Kawat) AIN0: Pembanding Analog, Input Positif OC0A: Timer / Counter0 Membandingkan output Match A. AREF: Referensi Analog Eksternal PCINT0: Pin Change Interrupt 0, Source 0 |
6 |
PB1 (MISO / D0 / AIN1 / OC0B / OC1A / PCINT1) |
MISO: Input Data Master SPI / Output Data Slave LAKUKAN: Output Data USI (Mode Tiga Kabel) AIN1: Pembanding Analog, Input Negatif OC0B: Timer / Penghitung0 Bandingkan Hasil Pertandingan B. OC1A: Timer / Counter1 Bandingkan Cocokkan Output PCINT1: Pin Change Interrupt 0, Source 1 |
7 |
PB2 (SCK / USCK / SCL / ADC1 / T0 / INT0 / PCINT2) |
SCK: Input Jam Serial USCK: Jam USI (Mode Tiga Kabel) SCL: Jam USI (Mode Dua Kabel) ADC1: Saluran Input ADC 1 T0: Timer / Penghitung0 Sumber Jam INT0: Interupsi Eksternal 0 Input PCINT2: Pin Change Interrupt 0, Source 2 |
8 |
VCC |
Pin Tegangan Suplai |
Flashing Boot-loader pada ATtiny85 Menggunakan Arduino Uno
Untuk memprogram ATtiny85 tanpa Arduino, pertama-tama kita harus mengunggah bootloader ke dalamnya menggunakan papan Arduino UNO, ini adalah proses satu kali dan setelah ini selesai, kami tidak akan membutuhkan papan UNO lagi. Boot-loader adalah program khusus yang berjalan di mikrokontroler yang harus diprogram. Salah satu cara paling mudah untuk memuat data program Anda ke mikrokontroler adalah melalui boot-loader. Boot-loader berada di MCU dan menjalankan instruksi masuk, dan kemudian menulis informasi program baru ke memori mikrokontroler. Mem-flash boot-loader pada mikrokontroler menghilangkan kebutuhan akan perangkat keras eksternal khusus (Papan Programmer) untuk memprogram mikrokontroler dan Anda akan dapat memprogramnya secara langsung menggunakan koneksi USB. The Digispark ATtiny85board menjalankan boot-loader "micronucleus tiny85", aslinya ditulis oleh Bluebie. Boot-loader adalah kode yang sudah diprogram sebelumnya di Digispark dan memungkinkannya untuk bertindak sebagai perangkat USB sehingga dapat diprogram oleh Arduino IDE. Kami juga akan mem-flash bootloader digispark attiny85 yang sama di ATtiny85.
Panduan langkah demi langkah untuk mem-flash bootloader ke ATtiny85 menggunakan Arduino Uno dan Arduino IDE diberikan di bawah ini:
Langkah 1: Mengonfigurasi Arduino Uno sebagai ISP:
Karena ATtiny85 hanyalah mikrokontroler, ia membutuhkan ISP (In-System Programming) untuk diprogram. Jadi untuk memprogram ATtiny85, pertama-tama kita perlu mengkonfigurasi Arduino Uno sebagai ISP untuk bertindak sebagai programmer untuk ATtiny85. Untuk itu, hubungkan Arduino Uno ke Laptop dan buka Arduino IDE. Setelah itu, buka File> Contoh> ArduinoISP dan unggah kode ISP Arduino.
Langkah 2: Diagram Sirkuit untuk Flashing Boot-loader di ATtiny85:
Skema lengkap untuk Flashing Boot-loader pada ATtiny85 diberikan di bawah ini:
Sebuah kapasitor 10 µf dihubungkan antara pin Reset dan GND Arduino. Koneksi lengkap diberikan pada tabel di bawah ini:
ATtiny85 Pin |
Pin Arduino Uno |
Vcc |
5V |
GND |
GND |
Pin 2 |
13 |
Pin 1 |
12 |
Pin 0 |
11 |
Setel ulang |
10 |
Sekarang colokkan Arduino Uno ke laptop dan buka Arduino IDE. Temukan port COM apa yang terhubung ke Uno. Dalam kasus saya, ini COM5.
Setelah ini, unduh file ATtiny85 Boot-loader dari tautan yang diberikan. Buka " Burn_AT85_bootloader.bat " dan ubah nomor port COM "PCOM5" dengan nomor port COM apa pun yang terhubung dengan Uno Anda. Simpan perubahan sebelum keluar.
Sekarang pindahkan file " Burn_AT85_bootloader.bat " dan " ATtiny85.hex " yang telah diedit ke dalam folder root Arduino IDE (C: \ Program Files (x86) Arduino).
Setelah itu, klik kanan pada " Burn_AT85_bootloader.bat " dan pilih "Run as Admin". Diperlukan sekitar 5 hingga 6 detik untuk mem-flash boot-loader. Jika semua berjalan lancar, Anda akan menerima pesan ini "AVRdude done. Terima kasih. Tekan sembarang tombol untuk melanjutkan…".
Dengan ini, Boot-loader berhasil diinstal ke Chip ATtiny85. Sekarang saatnya menghubungkan USB dengan ATtiny85 agar bisa langsung kita program. Diagram sirkuit untuk pemrograman ATtiny85 melalui USB diberikan di bawah ini:
Diagram Sirkuit untuk ATtiny Programmer
Skema ini diambil dari skema papan Digispark ATtiny85 tetapi karena kami bertujuan untuk membangun programmer untuk ATtiny85, kami hanya menghubungkan Male USB Plug dengan ATtiny85.
R3 adalah resistor pull-up yang dihubungkan antara pin Vcc dan PB3 dari IC sementara Dioda Zener (D1-D2) ditambahkan untuk perlindungan antarmuka USB total. Setelah menyolder semua komponen pada papan kinerja, akan terlihat seperti di bawah ini:
Menginstal Driver Digispark
Untuk memprogram ATtiny85 menggunakan USB, Anda harus menginstal Digispark Drivers di laptop Anda, jika Anda tidak memilikinya, Anda dapat mengunduhnya menggunakan tautan yang diberikan di atas. Kemudian, ekstrak file zip tersebut dan klik dua kali pada aplikasi " DPinst64.exe " untuk menginstal driver.
Setelah driver berhasil diinstal, Colokkan papan ATtiny85 Anda ke laptop. Sekarang masuk ke Device Manager di Windows Anda dan perangkat ATtiny85 akan terdaftar di bawah "perangkat libusb-win32" sebagai "Digispark Bootloader". Jika Anda tidak dapat menemukan 'perangkat libusb-win32' di pengelola perangkat, buka Lihat dan klik 'Tampilkan Perangkat Tersembunyi.'
Menyiapkan Arduino IDE ke Program ATttiny85
Untuk memprogram Papan ATtiny85 dengan Arduino IDE, pertama-tama kita perlu menambahkan Dukungan papan Digispark ke Arduino IDE. Untuk itu, buka File> Preferensi dan tambahkan tautan di bawah ini di URL Manajer Papan Tambahan dan klik 'OK.'
Setelah itu, buka alat> Papan> Manajer Papan dan cari 'Digistump AVR' dan instal versi terbaru.
Setelah menginstalnya, sekarang Anda akan bisa melihat entri baru di menu Board berjudul 'Digispark'.
Sekarang, buka file> Contoh> Dasar dan buka contoh Blink.
Ubah nomor pin di sana dari LED_BUILTIN menjadi 0.
Sekarang kembali ke Tools -> Board dan pilih board " Digispark (Default - 16mhz) ". Kemudian klik tombol unggah di Arduino IDE.
Catatan: Hubungkan papan ATtiny85 ke komputer, hanya ketika Arduino IDE menampilkan pesan yang mengatakan "Perangkat plugin sekarang".
Setelah kode diunggah, LED yang terhubung ke ATtiny85 akan mulai berkedip.
Ini adalah bagaimana Anda dapat membangun papan Pemrograman Arduino ATtiny85 Anda sendiri. Video kerja yang sama diberikan di bawah ini. Jika Anda memiliki pertanyaan, tinggalkan di bagian komentar. Untuk pertanyaan teknis lainnya, Anda juga dapat memulai diskusi di forum kami.