Daftar Isi:
- Langkah 1: AVR Bung
- Langkah 2: ATtiny2313 - Kedipkan LED
- Langkah 3: Menggunakan Add-on LCD
- Perangkat keras:
- Perangkat lunak
- Kode Terlampir
- Langkah 4: Pemrograman UC ISP 28-pin (ATmega8)
- Langkah 5: Penggunaan LCD dan Tombol Tingkat Lanjut: Jam Besar
- Langkah 6: Pemrograman Tegangan Tinggi
- Langkah 7: Memperluas Melampaui Papan
- Langkah 8: Kesimpulan
- Langkah 9: Menambahkan ISP 6-Pin
- Ini adalah peretasan. Jika Anda tidak tahu persis bagaimana ini bekerja, jangan lakukan itu
- Langkah 10: Pembaca RSS Menggunakan Koneksi Serial dan LCD
- Perangkat keras
- Perangkat lunak
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Instruksi ini adalah kursus kilat tentang cara menggunakan beberapa fitur Dragon Rider 500 dari Ecos Technologies. Perlu diketahui bahwa ada Panduan Pengguna yang sangat rinci yang tersedia di situs web Ecos.
Dragon Rider adalah papan antarmuka untuk digunakan dengan programmer mikrokontroler AVR yang disebut AVR Dragon oleh Atmel. Untuk informasi lebih lanjut: Situs web Atmel: https://www.atmel.com/ Tautan Naga AVR: https://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891 Dragon Rider 500 oleh Ecros Technology:https://www.ecrostech.com/AtmelAvr/DragonRider/index.htm Perakitan Dragon Rider 500 Dapat diinstruksikan:https://www.instructables.com/id/Assembling-the-Dragon-Rider-500-for-use-with- the-A/ Pelajari semua tentang mikrokontroler AVR: https://www.avrfreaks.net Instruksi ini dapat berkembang seiring waktu jadi periksa kembali sekarang dan lagi!
Langkah 1: AVR Bung
Anda memerlukan beberapa perangkat lunak pemrograman untuk menggunakan AVR Dragon untuk pemrograman. Saya menggunakan AVRdude dengan sistem operasi Ubuntu (linux) dan saya sangat senang dengan hasilnya. Instruksi ini tidak akan membahas seluk-beluk perangkat lunak pemrograman. Jika Anda tidak tahu cara mengatur atau menggunakan perangkat lunak pemrograman, periksa instruksi ini untuk mempercepat Anda: https://www.instructables.com/id/Getting-started-with-ubuntu-and-the- AVR-dragon/Dugaan saya adalah bahwa jika Anda telah membeli dan merakit Dragon Rider 500 Anda sudah tahu bagaimana memprogram sebuah chip dengan AVR Dragon….. seterusnya!
Langkah 2: ATtiny2313 - Kedipkan LED
Mari memprogram ATtiny2313 yang merupakan mikrokontroler 20-pin. Dragon Rider 500 memiliki soket untuk beberapa mikrokontroler AVR dengan ukuran berbeda. Ini termasuk: 8, 20, 28, dan 40 soket pin. Tergantung pada soket yang Anda gunakan, jumper pada papan Dragon Rider harus diatur secara berbeda.
Pengaturan Jumper
Atur jumper pada Dragon Rider sehingga shunt menghubungkan pin berikut. (pin4 adalah pin tengah untuk J22-J-24) Pins:J5 - 23J6 - 23J7 - 12J16 - 23J22 - 41J23 - 41J24 - 41Ini adalah setup dasar yang memungkinkan untuk ISP (In System Programming).
berkedip berkedip
Pemrograman tidak ada gunanya kecuali Anda memiliki sesuatu untuk diprogram. Saya telah menulis contoh kode yang sangat singkat untuk mengedipkan LED Dragon Rider satu per satu. Gunakan kabel pita untuk menghubungkan header LED (J29) ke header PortB (J2).
Pemrograman
Saya telah menyertakan file C serta makefile dan file hex. Seperti yang saya sebutkan di intro, saya tidak dapat membahas sisi perangkat lunak pemrograman di Instructable. Program seperti yang Anda lakukan untuk AVR Dragon, karena Dragon Rider tidak mengubah sisi perangkat lunak sama sekali.
Langkah 3: Menggunakan Add-on LCD
Berikut adalah cara sederhana untuk menggunakan Add-on LCD. Ini akan menulis "Dragon Rider" ke layar LCD.
Perangkat keras:
- ATtiny2313
- R/W Jumper: R/W harus terhubung ke "BIT1" di Dragon Rider Board (Lihat penjelasan di Assembly Instructable)
- J23: Jumper ini harus dipasang untuk pemrograman ISP tetapi kemudian dilepas agar LCD berfungsi dengan baik.
- Hubungkan LCD ke PORT B menggunakan kabel pita (J31 ke J2)
Perangkat lunak
Saya menggunakan perpustakaan LCD Peter Fleury untuk menggerakkan LCD dalam mode 4-bit. Lihat Peter's Homepage untuk mengunduh perpustakaan. Anda perlu memastikan bahwa lcd.c dikompilasi dengan kode Anda dan Anda membuat perubahan berikut pada lcd.h:
Kami menggunakan osilator RC internal sehingga XTAL perlu diatur untuk 1MHz:
#tentukan XTAL 1000000
#define LCD_PORT PORTB
#menentukan LCD_DATA0_PIN 4 #menentukan LCD_DATA1_PIN 5 #menentukan LCD_DATA2_PIN 6 #menentukan LCD_DATA3_PIN 7
#menentukan LCD_RS_PIN 3 #menentukan LCD_RW_PIN 1 #menentukan LCD_E_PIN 2
Program utamanya sangat sederhana berkat pekerjaan yang dilakukan Peter Fleury di perpustakaan LCD-nya. KODE:
#include #include "lcd.h"int main(void){ lcd_init(LCD_DISP_ON); //Inisialisasi LCD dengan kursor mati lcd_clrscr(); //Hapus layar LCD lcd_gotoxy(5, 0); //Pindahkan kursor ke lokasi ini lcd_puts("Naga"); //Letakkan string ini pada LCD lcd_gotoxy(6, 1); //Pindahkan kursor ke lokasi ini lcd_puts("Rider"); //Letakkan string ini di LCD untuk (;;) { // Jangan lakukan apapun selamanya (Pesan sudah ditampilkan di LCD) }}
Kode Terlampir
Kode terlampir termasuk perpustakaan LCD Peter Fleury (lcd.c dan lcd.h) dengan izinnya. Terima kasih Petrus! Satu-satunya perubahan yang saya buat adalah mengatur pin yang tepat di Defines. Silakan kunjungi situsnya untuk mengunduh paket: https://www.jump.to/fleurySaya juga menyertakan makefile yang saya gunakan yang ditulis oleh Eric B. Weddington dan, Jorg Wunsch. Saya mengirim PM ke Jorg di avrfreaks.net tetapi tidak pernah menerima tanggapan darinya. Ada beberapa perubahan pada makefile untuk disesuaikan dengan penggunaan Linux dan Dragon. Terima kasih untuk Anda berdua, tolong beri tahu saya preferensi Anda tentang saya berbagi pekerjaan Anda.
Langkah 4: Pemrograman UC ISP 28-pin (ATmega8)
Demonstrasi proyek berikutnya akan menggunakan ATmega8 yang merupakan avr 28-pin. Berikut adalah set jumper dasar untuk pemrograman ISP mikrokontroler 28-pin.
Pengaturan Jumper
Atur jumper pada Dragon Rider sehingga shunt menghubungkan pin berikut. (pin4 adalah pin tengah untuk J22-J-24) Pin: J11 - 23J12 - 23J13 - 12J16 - 23J22 - 42J23 - 42J24 - 42
Informasi Teknis
- Menghubungkan J11 dan J12 dengan cara ini memungkinkan Anda menggunakan pin tersebut sebagai pin I/O. Alternatifnya adalah mengarahkan pin ini untuk membuat koneksi dengan kristal eksternal.
- Menghubungkan J13 dengan cara ini memungkinkan kita untuk menggunakannya sebagai pin reset. Alternatifnya adalah merutekan pin ini ke header PORTC untuk digunakan sebagai pin I/O. (ini akan memiliki banyak kekurangan, termasuk ketidakmampuan untuk memprogram chip ini menggunakan ISP).
- J16 & J22-J24 terhubung dengan cara ini untuk merutekan pin yang sesuai (Reset, MISO, MOSI, dan SCK) ke header ISP dari AVR Dragon.
Langkah 5: Penggunaan LCD dan Tombol Tingkat Lanjut: Jam Besar
Ini adalah proyek menyenangkan yang memanfaatkan layar LCD dan tombol. Kita akan berurusan dengan fungsi Jam Waktu Nyata dan karakter khusus pada LCD. Pada gambar di bawah Anda dapat melihat waktu 19:26:07 ditampilkan dalam jumlah besar di layar LCD. Setiap angka menggunakan kisi 2x2 dari tampilan karakter untuk menunjukkan angka yang besar. Ini menggunakan font yang awalnya ditulis oleh Xtinus untuk proyek XBMC. Tombol-tombol tersebut digunakan untuk mengatur jam. Kiri menambah jam, Atas menambah menit, Kanan beralih antara waktu 12 dan 24 jam, dan Enter mengatur ulang detik ke nol. Jam tidak menjaga waktu dengan sangat baik karena kami menggunakan osilator internal yang sangat tidak akurat, tetapi program ini dapat dengan mudah diubah untuk menggunakan kristal eksternal yang jauh lebih akurat. Lihat ini beraksi dalam video di bawah ini. Penjelasan tentang cara kerja kode ini berurutan, tetapi saya tidak punya waktu sekarang. Untuk saat ini, sambungkan header LCD (J31) ke PORTD (J4) dan header tombol (J30) ke PORTB (J2). Pastikan Anda memiliki SW1 dan SW2 dalam posisi mati. Hubungkan AVR Dragon ke kabel usb dan colokkan ujung kabel yang lain ke komputer Anda. Nyalakan SW2 dan program ATmega8 dengan perangkat lunak pemrograman pilihan Anda (file hex di bawah; sekering dibakar ke pengaturan pabrik). CATATAN: Untuk menggunakan tombol Kiri dan Atas, Anda harus melepas shunt dari J22 dan J24, lakukan ini saat listrik mati.
Langkah 6: Pemrograman Tegangan Tinggi
Saya telah menggunakan Pemrograman Paralel Tegangan Tinggi untuk menghidupkan kembali ATtiny2313 yang saya atur pengaturan sekeringnya salah. Saya membutuhkannya untuk kedua kalinya ketika mengerjakan instruksi ini karena saya tidak sengaja menulis pengaturan lfuse yang saya inginkan ke register hfuse….. ooops. Pemrograman paralel Tegangan Tinggi adalah alat yang berguna untuk Anda miliki! Di bawah ini adalah daftar pengaturan jumper saya: GUNAKAN RISIKO ANDA SENDIRI, JENIS PEMROGRAMAN INI DAPAT MERUSAK PERANGKAT KERAS ANDA JIKA ANDA TIDAK TAHU APA YANG ANDA LAKUKAN!! Pemrograman Paralel Tegangan Tinggi:ATtiny2313 pada soket U3:SW1 - OFFSW2 - ONJ5, J6, J7 - sambungkan pin1 dan pin2XTAL1 - sambungkan pin1 dan pin2J16 - Sambungkan pin1 dan pin22x5 Kabel IDC: PROG_CTRL ke PORT D, PROG_DATA ke PORT BAll jumper lain tidak tersambung (J8-J13, J18, J19, J20, J22-J28, J24) Untuk chip lain Anda harus dapat mengetahui pengaturan yang Anda butuhkan dari panduan pengguna Atmel untuk STK500 mereka.
Langkah 7: Memperluas Melampaui Papan
Saya merasa cukup mudah untuk berinteraksi dengan papan tempat memotong roti. Hal ini memungkinkan lebih banyak fleksibilitas dalam membuat prototipe dan mengembangkan kode secara bersamaan. Di bawah ini Anda akan melihat beberapa papan tempat memotong roti yang terhubung ke Dragon Rider. Saya menghubungkan kabel pita ke port yang sesuai di satu ujung. Di sisi lain saya menggunakan kabel jumper untuk menghubungkan konduktor ICD yang tepat dengan papan tempat memotong roti.
Langkah 8: Kesimpulan
Ada banyak lagi yang bisa terlibat dalam Instructable ini. Baru malam ini saya menyelesaikan adaptor yang memungkinkan Anda menggunakan header pemrograman 6-pin tanpa melepas naga dari Dragon Rider. Saya akan memberikan informasi tentang cara membuatnya sendiri… segera hadir. Jika Anda memiliki hal lain yang menurut Anda perlu ditambahkan, tinggalkan komentar.
Langkah 9: Menambahkan ISP 6-Pin
Saya biasanya membuat header ISP 6-pin untuk semua proyek saya sehingga saya dapat memprogram ulang chip jika perlu dan tidak harus melepasnya dari papan proyek. Penunggang naga sayangnya tidak memiliki header ISP 6-pin yang tersedia, tetapi saya menemukan cara untuk membuatnya tersedia.
Peringatan!
Ini adalah peretasan. Jika Anda tidak tahu persis bagaimana ini bekerja, jangan lakukan itu
Anda telah diperingatkan. Saya telah membuat papan adaptor dan jumper 3-pin saya sendiri untuk memasok header ISP 6-pin. Apa yang Anda lakukan adalah mengatur Dragon Rider ke program dan mikrokontroler 8-pin. Menggunakan soket 3-pin saya jumper J8 untuk menghubungkan pin 1 dan 3. Ini mengarahkan sinyal clock ke konektor PortB. Saya kemudian menjalankan kabel jumper dari header PortB ke papan adaptor saya dan voila! Ada gambar di bawah ini…. tolong, tolong, tolong, jangan lakukan ini kecuali Anda benar-benar memahami apa yang Anda lakukan karena Anda dapat merusak AVR Dragon Anda atau lebih buruk lagi jika Anda melakukan kesalahan ini.
Pinout: PortB ISP1 42 13 34 NC5 NC6 57 NC8 NC9 610 2
Langkah 10: Pembaca RSS Menggunakan Koneksi Serial dan LCD
Saya terus bermain-main dengan papan pengembangan ini. Kali ini saya menghabiskan sebagian sore mengembangkan pembacaan RSS (kebanyakan di sisi python). Saya tidak berpikir itu menjamin instruksinya sendiri, jadi saya menambahkannya di sini.
Perangkat keras
Kami menggunakan Dragon Rider 500 sebagai papan pengembangan. Ini menyediakan semua perangkat keras yang Anda butuhkan (dengan asumsi Anda memiliki semua kit tambahan). Meskipun demikian, Anda tentu dapat melakukan ini dengan pengaturan perangkat keras Anda sendiri:
- Mikrokontroler ATmega8 (atau yang memiliki USART dan pin yang cukup untuk semua koneksi
- Cara memprogram mikrokontroler (saya menggunakan AVR Dragon)
- Chip MAX232 untuk komunikasi serial
- konektor DB9
- Layar LCD HD44780
- Crystal (saya menggunakan kristal 8MHz)
- Berbagai macam kapasitor dan resistor
Skema disediakan di bawah ini. Pada Dragon Rider kita perlu menggunakan beberapa kreativitas untuk Merutekan koneksi. Biasanya Port D dapat dihubungkan langsung ke header LCD. Ini tidak terjadi di sini karena USART yang dibutuhkan untuk koneksi serial menggunakan PD0 dan PD1. Selanjutnya, Port B tidak dapat digunakan karena PB6 dan PB7 digunakan untuk kristal eksternal. Gambar di bawah adalah solusi saya untuk masalah ini. Saya mencolokkan kabel pita ke header untuk LCD, Port B dan Port D, kemudian menggunakan kabel jumper untuk membuat rute yang benar. Jangan lupa untuk menghubungkan tegangan dan ground ke header LCD.
Perangkat lunak
Perangkat lunak untuk proyek ini terdiri dari dua bagian, firmware untuk mikrokontroler dan skrip python untuk menggores umpan RSS dan mengirimkannya melalui koneksi serial. Firmware AVRSaya menggunakan perpustakaan LCD Peter Fleury lagi (https://jump.to /fleury). Ini kuat dan ringkas, serbaguna, dan mudah diubah untuk pengaturan perangkat keras Anda. Jika Anda melihat file header terlampir (lcd.h), Anda akan melihat bahwa saya menjalankan mode 4-bit dengan Port D sebagai bit data, dan Port B sebagai bit kontrol. Konsep firmware ini cukup sederhana:
- Setelah dinyalakan mikrokontroler menampilkan "RSS Reader" dan kemudian menunggu data serial.
- Setiap byte data serial yang diterima menyebabkan buffer 16 karakter bergeser ke kiri dan menambahkan byte ke buffer, kemudian menampilkan buffer.
- Tiga perintah khusus diterima oleh mikrokontroler: 0x00, 0x01, dan 0x02. Ini adalah layar yang jelas, pindah ke baris 0, dan pindah ke baris 1 masing-masing.
Python ScryptI menulis skrip pyton untuk mengikis data RSS dan mengirimkannya melalui koneksi serial. Ini memerlukan modul python "pyserial" yang mungkin harus Anda instal di sistem Anda agar ini berfungsi. Umpan RSS dapat dikonfigurasi di bagian atas file pyton. Perhatikan bahwa Anda harus memasukkan nama untuk umpan serta url umpan. Ada tiga contoh di sana, saya yakin Anda dapat mengikutinya untuk sintaks yang tepat. Membuat semuanya berfungsi
- Merakit perangkat keras
- Program mikrokontroler (dragon_rss.hex dapat digunakan jika Anda tidak ingin mengompilasinya sendiri). Pengaturan sekering untuk ATmega8 menggunakan kristal 8 MHz: lfuse= 0xEF hfuse=0xD9
- Nyalakan Dragon Rider dan pastikan kabel serial terpasang (LCD harus membaca: "RSS Reader")
- Jalankan program python (python serial_rss.py)
- Menikmati
Direkomendasikan:
Cara Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP ?: 11 Langkah (dengan Gambar)
Bagaimana Membuat Gateway WIFI Anda Sendiri untuk Menghubungkan Arduino Anda ke Jaringan IP?: Seperti yang banyak orang pikirkan, Arduino adalah solusi yang sangat baik untuk melakukan otomatisasi rumah dan robot! Tetapi dalam hal komunikasi, Arduino hanya datang dengan tautan serial. Saya sedang mengerjakan robot yang harus terhubung secara permanen dengan server yang
Cara Menggunakan Terminal Mac, dan Cara Menggunakan Fungsi Utama: 4 Langkah
Cara Menggunakan Terminal Mac, dan Cara Menggunakan Fungsi Utama: Kami akan menunjukkan cara membuka Terminal MAC. Kami juga akan menunjukkan kepada Anda beberapa fitur di dalam Terminal, seperti ifconfig, mengubah direktori, mengakses file, dan arp. Ifconfig akan memungkinkan Anda untuk memeriksa alamat IP Anda, dan iklan MAC Anda
Cara Menggunakan Tinkercad untuk Menguji & Menerapkan Perangkat Keras Anda: 5 Langkah (dengan Gambar)
Cara Menggunakan Tinkercad untuk Menguji & Mengimplementasikan Perangkat Keras Anda: Simulasi sirkuit adalah teknik di mana perangkat lunak komputer mensimulasikan perilaku sirkuit atau sistem elektronik. Desain baru dapat diuji, dievaluasi, dan didiagnosis tanpa benar-benar membangun sirkuit atau sistem. Simulasi sirkuit mungkin
Cara Menggunakan Mode Makro di Kamera Anda: 6 Langkah (dengan Gambar)
Cara Menggunakan Mode Makro pada Kamera Anda: Sudah terlalu lama instruksi telah menderita dari orang-orang yang terus-menerus mengambil gambar buram di luar fokus. Yah saya bertujuan untuk mengakhiri ini. Dalam instruksi ini saya akan menunjukkan kepada Anda bagaimana menggunakan pengaturan makro pada kamera dari sebagian besar pabrikan
Cara Mengakses Musik Anda Dari Mana Saja Dengan Mac Mini Anda: 5 Langkah
Cara Mengakses Musik Anda Dari Mana Saja Dengan Mac Mini Anda: Instruksi ini mengubah komputer Anda menjadi server berbagi pribadi. Ini akan meng-host musik Anda sehingga hanya Anda yang bisa mendapatkannya. Tapi, dengan asumsi koneksi internet Anda cukup cepat, Anda akan bisa mendapatkannya dari seluruh dunia. Betapa kerennya