Isi kandungan:

Kotak Butang Sim Racing: 8 Langkah
Kotak Butang Sim Racing: 8 Langkah

Video: Kotak Butang Sim Racing: 8 Langkah

Video: Kotak Butang Sim Racing: 8 Langkah
Video: Cara Mengaktifkan Fitur Autolight Watch 8 / i8 Pro Max 2024, Julai
Anonim
Kotak Butang Sim Racing
Kotak Butang Sim Racing

Selamat datang penagih perlumbaan sim!

Adakah anda kehabisan kunci untuk memetakan semua kawalan kereta anda? Anda mungkin memerlukan kotak butang! Dalam Instructable ini kita akan membuatnya dari awal. Kotak butang akan mempunyai 32 (!) Keadaan butang yang tersedia. Tidak diperlukan perisian tambahan untuk menggunakan kotak butang ini. Anda akan belajar bagaimana menyediakan matrik butang dan menulis (atau menyalin) kod untuk dimuat naik ke Arduino anda.

Penting untuk mengetahui bahawa kotak butang tidak menyokong banyak butang yang ditekan secara serentak.

Mari kita mulakan!

Langkah 1: Preperation

Preperasi
Preperasi

Anda memerlukan beberapa alat, butang dan lebih banyak item untuk membuat kotak butang. Jangan ragu untuk membuat kotak butang mengikut keinginan anda.

Elektronik:

  • Butang
  • Togol
  • Pengekod putar
  • Arduino Pro Mikro
  • Kabel USB mini ke USB
  • Wayar

Alat:

  • Gerudi
  • Pateri
  • Caliper
  • Pemutar skru
  • Pemotong
  • Sepana

Perisian:

  • Arduino IDE
  • Photoshop / Cat (pilihan; boleh dilukis dengan tangan)

Lain-lain:

  • Lampiran (kotak; boleh dibeli atau dicetak 3D tersuai)
  • Balut vinil karbon (pilihan)
  • Tombol pengekod putar
  • Tukar penutup (pilihan)
  • Pencetak label (pilihan)
  • Grommet getah

Setelah anda mempunyai semua (atau cukup untuk memulakan) item, kita boleh mula merancang susun atur kotak butang.

Langkah 2: Reka Tata Letak Kotak

Alat yang diperlukan untuk langkah ini:

Photoshop / Cat (pilihan; boleh dilukis dengan tangan)

Reka bentuk kotak butang boleh berbeza bagi setiap orang. Walau bagaimanapun, untuk Instructable ini kami akan menggunakan susun atur yang terdiri daripada:

  • Suis togol 4x tiga arah
  • Suis togol 2x sehala
  • Butang tekan 10x mudah
  • Pengekod putar 4x dengan butang sederhana

Suis togol tiga arah:

Terdapat banyak jenis suis togol. Ada yang sesaat dan ada yang tetap di tempat sehingga beralih semula. Terpulang kepada anda jenis mana yang akan digunakan, tetapi saya sarankan untuk menggunakan suis sesaat kerana kotak butang ini tidak mampu menghidupkan banyak butang mutiple pada masa yang sama. Oleh kerana suis togol adalah tiga arah (hidup / mati / hidup), kami mempunyai lapan (4x2) butang yang tersedia.

Suis togol sehala:

Ini boleh dianggap sebagai butang sederhana (mati / aktif). Ini juga boleh menjadi sekejap atau bertukar. Sekali lagi, bergantung kepada pilihan peribadi yang harus dipilih. Ini memberi kita dua (2) butang yang tersedia.

Butang tekan mudah:

Butang seperti ini boleh digunakan dengan hanya menekannya (mati / aktif). Ini akan memberi kita sepuluh (10) butang.

Pengekod putar dengan butang tekan mudah:

Sebilangan besar (jika tidak semua) pengekod putar dapat dipusingkan ke kedua arah tanpa batas. Setiap kali anda memutarnya ke arah itu digunakan sebagai tekan butang. Pengekod putar ini juga dapat ditekan dengan memberi mereka butang lain. Pengekod putar memberikan dua belas (12 = 4x3; putar kiri / putar kanan / tekan) butang.

32 butang:

Menyatukan mereka semua memberi kita 32 (8 + 2 + 10 + 12) penekanan butang!

Puas dengan susun aturnya? Masa untuk mula membina!

Langkah 3: Ukur dan Latih tubi

Ukur dan Latih tubi
Ukur dan Latih tubi
Ukur dan Latih tubi
Ukur dan Latih tubi

Alat yang diperlukan untuk langkah ini:

  • Caliper
  • Gerudi
  • Elektronik (butang, suis, dll.)

Ukur semua butang yang ingin anda tambahkan ke kotak butang anda. Sekiranya anda menghadapi masalah mencari dimensi elektronik anda, gunakan caliper (digital) untuk mendapatkan diameternya.

Tandakan titik tengah elektronik pada permukaan kandang anda dan lubang gerudi dengan ukuran yang betul. Ingin menjadikan kandang lebih menyenangkan secara estetik? Tunggu dengan memasang butang!

Setelah selesai menggerudi lubang, kami dapat membuatnya kelihatan seperti kotak butang sebenar!

Langkah 4: Pasangkan Butang, Putar dan Togol

Pasangkan Butang, Putar dan Togol
Pasangkan Butang, Putar dan Togol
Pasangkan Butang, Putar dan Togol
Pasangkan Butang, Putar dan Togol

Alat yang diperlukan untuk langkah ini:

  • Elektronik (butang, suis, dll.)
  • Sepana
  • Balut vinil karbon (pilihan)
  • Pemotong (pilihan)

Semua elektronik anda mesti disertakan dengan mur untuk memasangnya di tempatnya. Jika tidak; ukurnya dan beli kacang ukuran yang betul.

Sekiranya anda ingin memperbaiki (pendapat peribadi) rupa kotak butang anda, anda boleh menggunakan bungkus vinil serat karbon. Potong ke ukuran (dan sedikit lebih besar) dari muka kandang anda di mana anda mengebor lubang. Sapukan vinil dan balut di sudut ke belakang. Ini akan memastikan bungkus tetap di tempat semasa penutup ditutup. Vinil berlebihan yang kini menyekat lubang boleh dikeluarkan menggunakan pemotong.

Setelah memakai bungkus (atau tidak) anda boleh memasukkan elektronik untuk membuat bahagian depan kotak butang anda. Anda sekarang semestinya mempunyai sesuatu yang sudah kelihatan seperti sudah! Malangnya, ia belum berfungsi …

Langkah 5: Reka Tata Letak Pendawaian

Reka Tata Letak Pendawaian
Reka Tata Letak Pendawaian

Alat yang diperlukan untuk langkah ini:

Photoshop / Cat (pilihan; boleh dilukis dengan tangan)

Membuat matriks:

Menggunakan matriks akan menjimatkan masa dan banyak pendawaian dan pematerian yang tidak perlu. Saya tidak akan membahas secara terperinci, tetapi akan mencadangkan agar anda melihat artikel ini sekiranya anda tidak sesuai dengan konsep matriks.

Reka bentuk matriks anda sendiri atau gunakan susun atur dari Instructable ini. Dalam matriks kita akan menggunakan lima kumpulan. Kumpulan dihubungkan dengan pinout berikut di Arduino:

  • 15: empat pengekod putar
  • A0: lima butang tekan
  • A1: dua tiga arah dan satu butang tekan
  • A2: dua arah tiga arah dan satu butang tekan
  • A3: lima butang tekan

Langkah 6: Pematerian

Pematerian
Pematerian
Pematerian
Pematerian

Alat yang diperlukan untuk langkah ini:

  • Besi pematerian
  • Pateri
  • Elektronik (dipasang di kandang anda)
  • Arduino Pro Mikro
  • Wayar

Pilihan:

Muat naik kod dari langkah seterusnya terlebih dahulu jika anda bimbang tentang pematerian. Ini akan membolehkan anda memeriksa sambungan anda

Kami ingin menerapkan matriks yang dirancang pada langkah sebelumnya ke kotak butang sebenar. Luangkan sedikit masa untuk ini, terutamanya jika ini adalah kali pertama anda menyolder.

Sedikit tips:

  • Lakukan satu kumpulan pada masa itu
  • Sambungkan Arduino ke komputer anda untuk menguji sekali-sekala
  • Jangan panaskan butang plastik terlalu banyak kerana boleh mencairkan dan memutuskan sambungan
  • Jangan gunakan pateri terlalu banyak, kurang lebih baik
  • Gunakan wayar warna yang berbeza untuk setiap kumpulan / arde

Langkah 7: Menulis Kod

Alat yang diperlukan untuk langkah ini:

  • Arduino IDE
  • Perpustakaan Joystick
  • Keypad.h (Arduino IDE> Sketsa> Sertakan Perpustakaan> Kelola Perpustakaan …> Cari Keypad dan pasang yang dibuat oleh Mark Stanley dan Alexander Brevig)

#sertakan #sertakan

#tentukan ENABLE_PULLUPS

#tentukan NUMROTARIES 4 #tentukan NOMBOR TINGKATAN 24 # tentukan NOMBOR 5 # tentukan NUMCOLS 5

butang bait [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 {

bait pin1; bait pin2; int ccwchar; int cwchar; keadaan char tidak bertanda yang tidak menentu; };

putar rotarydef [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

#tentukan DIR_CW 0x20 #tentukan 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 # tentukan R_CCW_BEGIN_M 0x5 konstabel meja yang tidak ditandatangani [6] [4] = {// R_START, RST_R_START, RST_START 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_START_M_RART_BART 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 # tentukan R_CW_BEGIN 0x2 # tentukan R_CW_NEXT 0x3 # tentukan R_CCW_BEGIN 0x4 # tentukan R_CCW_FINAL 0x5 #tentukan R_CCW_NEXT 0x6

meja tulis yang tidak ditandatangani [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, R_START, R_CCW_BEGIN, R_START}, // R_CCW_FINAL {R_CCW_NEXT, R_CCW_FINAL, R_START, R_START | DIR_CCW}, // R_CCW_NEXT {R_CCW_NEXT, R_CCW_FINAL, R_CCW_BEGIN, R_START},}; #endif

byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};

bait colPins [NUMCOLS] = {14, 16, 10, 9, 8};

Papan kekunci buttbx = Pad Kekunci (makeKeymap (butang), 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);

batal persediaan () {

Joystick.begin (); rotary_init ();}

gelung kosong () {

PeriksaAllEncoders ();

PeriksaAllButtons ();

}

batal CheckAllButtons (batal) {

if (buttbx.getKeys ()) {untuk (int i = 0; i

batal rotary_init () {

untuk (int i = 0; i

char rotary_process yang tidak ditandatangani (int _i) {

char pinstate yang tidak ditandatangani = (digitalRead (rotary [_i].pin2) << 1) | digitalRead (putar [_i].pin1); putar [_i].state = ttable [putar [_i].state & 0xf] [pinstate]; kembali (putar [_i].state & 0x30); }

batal CheckAllEncoders (batal) {untuk (int i = 0; i <NUMROTARIES; i ++) {

hasil char yang tidak ditandatangani = proses rotary_ (i); jika (hasil == DIR_CCW) {Joystick.setButton (putar .ccwchar, 1); kelewatan (50); Joystick.setButton (putar .ccwchar, 0); }; jika (hasil == DIR_CW) {Joystick.setButton (putar .cwchar, 1); kelewatan (50); Joystick.setButton (putar .cwchar, 0); }; }}

  1. Sambungkan Arduino Pro Micro ke komputer anda dengan memasang kabel USB
  2. Untuk memuat naik kod, pilih jenis Arduino dengan pergi ke Tools> Board:…> Arduino / Genuino Micro.
  3. Untuk memilih port USB yang betul pergi ke Tools> Port:> COM x (Arduino / Genuino Micro)
  4. Sahkan lakaran dengan mengklik ✓ di sudut kiri atas (di bawah Fail)
  5. Tekan → di sebelahnya untuk memuat naiknya ke Arduino

Langkah 8: Tambahkan ke Rig Anda

Tambah ke Rig Anda
Tambah ke Rig Anda

Tahniah! Anda telah sampai sejauh ini. Sekarang tiba masanya untuk berlumba!

Disyorkan: