Daftar Isi:
- Langkah 1: Persiapan
- Langkah 2: Rancang Tata Letak Kotak
- Langkah 3: Ukur dan Bor
- Langkah 4: Pasang Tombol, Rotary, dan Toggles
- Langkah 5: Rancang Tata Letak Pengkabelan
- Langkah 6: Menyolder
- Langkah 7: Menulis Kode
- Langkah 8: Tambahkan ke Rig Anda
Video: Kotak Tombol Sim Racing: 8 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:57
Selamat datang pecandu balap sim!
Apakah Anda kehabisan keybinds untuk memetakan semua kontrol mobil Anda? Anda mungkin membutuhkan kotak kancing! Dalam Instructable ini kita akan membuatnya dari awal. Kotak tombol akan memiliki 32 (!) status tombol yang tersedia. Tidak ada perangkat lunak tambahan yang diperlukan untuk menggunakan kotak tombol ini. Anda akan belajar cara mengatur matriks tombol dan menulis (atau menyalin) kode untuk diunggah ke Arduino Anda.
Penting untuk diketahui bahwa kotak tombol tidak mendukung banyak tombol yang ditekan secara bersamaan.
Mari kita mulai!
Langkah 1: Persiapan
Anda memerlukan beberapa alat, tombol, dan lebih banyak item untuk membuat kotak tombol. Jangan ragu untuk membuat kotak tombol sesuai keinginan Anda.
Elektronik:
- Tombol
- Matikan
- Encoder putar
- Arduino Pro Mikro
- Mini USB ke kabel USB
- kabel
Peralatan:
- Mengebor
- Pateri
- kaliper
- Obeng
- Pemotong
- Kunci
Perangkat lunak:
- Arduino IDE
- Photoshop/Paint (opsional; dapat digambar dengan tangan)
Lainnya:
- Enclosure (kotak; dapat dibeli atau dicetak 3D khusus)
- Bungkus vinil karbon (opsional)
- Kenop encoder putar
- Sakelar penutup (opsional)
- Pencetak label (opsional)
- Grommet karet
Setelah Anda memiliki semua (atau cukup untuk memulai) item, kita dapat mulai mendesain tata letak kotak tombol.
Langkah 2: Rancang Tata Letak Kotak
Alat yang diperlukan untuk langkah ini:
Photoshop/Paint (opsional; dapat digambar dengan tangan)
Desain kotak kancing bisa berbeda untuk setiap orang. Namun, untuk Instructable ini kita akan menggunakan layout yang terdiri dari:
- 4x sakelar sakelar tiga arah
- 2x sakelar sakelar satu arah
- 10x tombol tekan sederhana
- 4x rotary encoder dengan tombol sederhana
Sakelar sakelar tiga arah:
Ada banyak jenis sakelar sakelar. Beberapa bersifat sementara dan beberapa tetap di tempat sampai diaktifkan kembali. Terserah Anda jenis mana yang akan digunakan, tetapi saya menyarankan untuk menggunakan sakelar sesaat karena kotak tombol ini tidak dapat mengaktifkan banyak tombol secara bersamaan. Karena sakelar sakelar tiga arah (hidup/mati/hidup), kami memiliki delapan tombol (4x2) yang tersedia.
Sakelar sakelar satu arah:
Ini dapat dianggap sebagai tombol sederhana (mati/hidup). Ini juga bisa sesaat atau beralih. Sekali lagi, terserah preferensi pribadi mana yang harus dipilih. Ini memberi kita dua (2) tombol yang tersedia.
Tombol tekan sederhana:
Tombol seperti ini dapat digunakan hanya dengan menekannya (mati/hidup). Ini akan memberi kita sepuluh (10) tombol.
Encoder putar dengan tombol tekan sederhana:
Sebagian besar (jika tidak semua) rotary encoder dapat diputar ke kedua arah tanpa batas. Setiap kali Anda memutarnya ke arah itu digunakan sebagai tombol tekan. Rotary encoder ini juga dapat ditekan dengan tombol lain. Rotary encoder memberikan dua belas (12 = 4x3; putar ke kiri/putar ke kanan/tekan) tombol.
32 tombol:
Memiliki semuanya bersama-sama memberi kita 32 (8+2+10+12) penekanan tombol!
Puas dengan tata letaknya? Saatnya mulai membangun!
Langkah 3: Ukur dan Bor
Alat yang diperlukan untuk langkah ini:
- kaliper
- Mengebor
- Elektronik (tombol, sakelar, dll.)
Ukur semua tombol yang ingin Anda tambahkan ke kotak tombol Anda. Jika Anda kesulitan menemukan dimensi elektronik Anda, gunakan caliper (digital) untuk mendapatkan diameternya.
Tandai titik tengah elektronik pada bagian depan enklosur Anda dan bor lubang dengan ukuran yang benar. Ingin membuat kandang sedikit lebih estetis? Tunggu dengan memasang tombol!
Setelah Anda selesai mengebor lubang, kami dapat membuatnya mulai terlihat seperti kotak kancing sungguhan!
Langkah 4: Pasang Tombol, Rotary, dan Toggles
Alat yang diperlukan untuk langkah ini:
- Elektronik (tombol, sakelar, dll.)
- Kunci
- Bungkus vinil karbon (opsional)
- Pemotong (opsional)
Semua barang elektronik Anda harus dilengkapi dengan mur untuk mengencangkannya. Jika tidak; ukur dan beli mur ukuran yang benar.
Jika Anda ingin meningkatkan (pendapat pribadi) tampilan kotak kancing Anda, Anda dapat menggunakan pembungkus vinil serat karbon. Potong sesuai ukuran (dan sedikit lebih besar) dari permukaan penutup tempat Anda mengebor lubang. Oleskan vinil dan bungkus di sekitar sudut ke belakang. Ini akan memastikan bungkus tetap di tempatnya saat penutup ditutup. Vinyl berlebihan yang sekarang menghalangi lubang dapat dihilangkan dengan menggunakan pemotong.
Setelah memakai bungkus (atau tidak), Anda dapat memasukkan elektronik untuk membuat bagian depan kotak kancing Anda. Anda sekarang harus memiliki sesuatu yang benar-benar terlihat seperti itu! Sayangnya, itu belum berhasil …
Langkah 5: Rancang Tata Letak Pengkabelan
Alat yang diperlukan untuk langkah ini:
Photoshop/Paint (opsional; dapat digambar dengan tangan)
Membuat matriks:
Menggunakan matriks akan menghemat waktu dan banyak kabel dan penyolderan yang tidak perlu. Saya sendiri tidak akan membahasnya secara mendetail, tetapi saya akan menyarankan agar Anda membaca artikel ini jika Anda tidak terbiasa dengan konsep matriks.
Rancang matriks Anda sendiri atau gunakan tata letak dari Instructable ini. Dalam matriks kita akan menggunakan lima kelompok. Grup terhubung ke pinout berikut di Arduino:
- 15: empat encoder putar
- A0: lima tombol tekan
- A1: dua sakelar tiga arah dan satu tombol tekan
- A2: dua sakelar tiga arah dan satu tombol tekan
- A3: lima tombol tekan
Langkah 6: Menyolder
Alat yang diperlukan untuk langkah ini:
- Besi solder
- Pateri
- Elektronik (dipasang di enklosur Anda)
- Arduino Pro Mikro
- kabel
Opsional:
Unggah kode dari langkah berikutnya terlebih dahulu jika Anda khawatir tentang penyolderan. Ini akan memungkinkan Anda untuk memeriksa koneksi Anda
Kami ingin menerapkan matriks yang dirancang pada langkah sebelumnya ke kotak tombol yang sebenarnya. Luangkan waktu untuk ini, terutama jika ini adalah pertama kalinya Anda menyolder.
Beberapa kiat:
- Lakukan satu kelompok pada satu waktu
- Hubungkan Arduino ke komputer Anda untuk menguji sesekali
- Jangan terlalu panaskan kancing plastik karena dapat melelehkan dan memutus sambungan
- Jangan terlalu banyak menggunakan solder, lebih sedikit lebih baik
- Gunakan kabel warna yang berbeda untuk setiap grup/tanah
Langkah 7: Menulis Kode
Alat yang diperlukan untuk langkah ini:
- Arduino IDE
- Perpustakaan joystick
- Keypad.h (Arduino IDE > Sketch > Include Library > Manage Libraries… > Cari Keypad dan instal yang dibuat oleh Mark Stanley dan Alexander Brevig)
#sertakan #sertakan
#define ENABLE_PULLUPS
#menentukan ANGKA 4 #menentukan ANGKA 24 #menentukan ANGKA 5 #menentukan ANGKA 5
tombol byte[NUMROWS][NUMCOLS] = {
{0, 1, 2, 3, 4}, {5, 6, 7, 8, 9}, {10, 11, 12, 13, 14}, {15, 16, 17, 18, 19}, {20, 21, 22, 23}, };
struct rotariesdef {
byte pin1; byte pin2; int ccwchar; int cwchar; status char unsigned yang mudah menguap; };
rotariesdef rotari[NUMROTARIES] {
{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };
#tentukan DIR_CCW 0x10
#define DIR_CW 0x20 #define R_START 0x0
#ifdef HALF_STEP
#define R_CCW_BEGIN 0x1 #define R_CW_BEGIN 0x2 #define R_START_M 0x3 #define R_CW_BEGIN_M 0x4 #define R_CCW_BEGIN_M 0x5 const unsigned char ttable[6][4] = { // R_START (00) {R_CW_M} R_CCW_BEGIN {R_START_M | DIR_CCW, R_START, R_CCW_BEGIN, R_START}, // R_CW_BEGIN {R_START_M | DIR_CW, R_CW_BEGIN, R_START, R_START}, // R_START_M (11) {R_START_M, R_CCW_BEGIN_M, R_CW_BEGIN_M, R_START}, // R_CW_BEGIN_M {R_START_M, R_START_M, R_CW_BEGIN_M, R_START | DIR_CW}, // R_CCW_BEGIN_M {R_START_M, R_CCW_BEGIN_M, R_START_M, R_START | DIR_CCW}, }; #else #define R_CW_FINAL 0x1 #define R_CW_BEGIN 0x2 #define R_CW_NEXT 0x3 #define R_CCW_BEGIN 0x4 #define R_CCW_FINAL 0x5 #define R_CCW_NEXT 0x6
const unsigned char ttable[7][4] = {
// R_START {R_START, R_CW_BEGIN, R_CCW_BEGIN, R_START}, // R_CW_FINAL {R_CW_NEXT, R_START, R_CW_FINAL, R_START | DIR_CW}, // R_CW_BEGIN {R_CW_NEXT, R_CW_BEGIN, R_START, R_START}, // R_CW_NEXT {R_CW_NEXT, R_CW_BEGIN, R_CW_FINAL, R_START}, // R_CCW_BEGIN {R_CCW_NEXT, RCC_START}_START, RCC_START_W_START, R_XT_CCW_NEXT_START_W_START, DIR_CW} R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START}, }; #berakhir jika
byte rowPins[NUMROWS] = {21, 20, 19, 18, 15};
byte colPins[NUMCOLS] = {14, 16, 10, 9, 8};
Keypad buttbx = Keypad(makeKeymap(tombol), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick(JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, false, false, false, false, false, false, false, false, false, false, false);
batalkan pengaturan() {
Joystick.mulai(); rotary_init();}
lingkaran kosong() {
CheckAllEncoder();
PeriksaSemuaButton();
}
void CheckAllButtons(void) {
if (buttbx.getKeys()) { untuk (int i=0; i
batalkan rotary_init() {
untuk (int i=0;i
unsigned char rotary_process(int _i) {
unsigned char pinstate = (digitalRead(rotaries[_i].pin2) << 1) | digitalRead(rotari[_i].pin1); rotaries[_i].state = ttable[rotaries[_i].state & 0xf][pinstate]; return (rotaries[_i].state & 0x30); }
void CheckAllEncoders(void) { for (int i=0; i < NUMROTARIES;i++) {
hasil char yang tidak ditandatangani = rotary_process(i); if (hasil == DIR_CCW) { Joystick.setButton(rotaries.ccwchar, 1); penundaan (50); Joystick.setButton(rotaries.ccwchar, 0); }; if (hasil == DIR_CW) { Joystick.setButton(rotaries.cwchar, 1); penundaan (50); Joystick.setButton(rotaries.cwchar, 0); }; } }
- Hubungkan Arduino Pro Micro Anda ke komputer Anda dengan mencolokkan kabel USB
- Untuk mengupload kode pilih jenis Arduino dengan masuk ke Tools > Board:… > Arduino/Genuino Micro.
- Untuk memilih port USB yang benar, buka Tools > Port: > COM x (Arduino/Genuino Micro)
- Verifikasi sketsa dengan mengklik di sudut kiri atas (di bawah File)
- Tekan → di sebelahnya untuk mengunggahnya ke Arduino
Langkah 8: Tambahkan ke Rig Anda
Selamat! Anda telah datang sejauh ini. Sekarang saatnya untuk balapan!
Direkomendasikan:
Tampilan Sim Racing DIY Arduino: 3 Langkah
DIY Sim Racing Display Arduino: Inilah cara membuat display USB Sim Racing yang sangat mudah dan murah dengan Arduino UNO dan 3,5" TFT Display.Memiliki API untuk Assetto Corsa yang mengambil data dari Memori Bersama dari game yang diprogram dalam C# di Visual Studio, lalu mengirim
Kotak Tombol Sim Racing: 7 Langkah (dengan Gambar)
Kotak Tombol Sim Racing: Kotak tombol adalah perangkat yang digunakan dalam Sim Racing yang memungkinkan Anda menetapkan tombol, sakelar, dan kenop ke berbagai kontrol mobil. Penetapan tombol yang umum adalah hal-hal seperti tombol mulai, PTT, lubang permintaan, dll. Sakelar sakelar berfungsi baik untuk wiper, headl
Kotak Streaming Radio Satu Tombol: 7 Langkah (dengan Gambar)
Kotak Streaming Radio Satu Tombol: Saya membuat kotak untuk bilah teman saya yang memiliki Raspberry Pi di dalamnya dan dengan menekan satu tombol itu mengalirkan audio ke situs web menggunakan Darkice dan Icecast, sekaligus menyalakan tanda 'Siaran'. Saya pikir ini adalah sesuatu yang orang sudah
Kotak Barbie: Kotak Kamuflase/ Kotak Boom untuk Pemutar Mp3 Anda: 4 Langkah (dengan Gambar)
Kotak Barbie: Kotak Kamuflase / Kotak Boom untuk Pemutar Mp3 Anda: Ini adalah tas pelindung berlapis untuk pemutar mp3 Anda yang juga mengubah jack headphone menjadi seperempat inci, dapat bertindak sebagai kotak boom di flip sakelar, dan menyamarkan pemutar mp3 Anda sebagai pemutar kaset awal tahun sembilan puluhan atau pencurian rendah serupa di
Bangun Kotak Baterai Kotak Cerutu untuk Radio Tabung: 4 Langkah
Bangun Kotak Baterai Kotak Cerutu untuk Radio Tabung: Jika Anda ingin membangun dan bermain-main dengan radio tabung seperti saya, Anda mungkin memiliki masalah yang sama seperti yang saya lakukan dengan menyalakannya. Sebagian besar sirkuit lama dirancang untuk berjalan dengan baterai b tegangan tinggi yang tidak lagi tersedia. Jadi