Cuprins:
- Pasul 1: Preperație
- Pasul 2: Proiectați aspectul casetei
- Pasul 3: Măsurați și găuriți
- Pasul 4: Montați butoanele, rotativele și comutatoarele
- Pasul 5: Proiectați aspectul cablării
- Pasul 6: lipire
- Pasul 7: Scrierea codului
- Pasul 8: Adăugați la platforma dvs
Video: Sim Racing Button Box: 8 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Bine ai venit dependenții de curse sim!
Ai epuizat tastele pentru a-ți hrăni toate comenzile? Probabil că ai nevoie de o casetă pentru butoane! În acest instructabil vom crea unul de la zero. Caseta de butoane va avea 32 (!) Stări de butoane disponibile. Nu este necesar niciun software suplimentar pentru a utiliza această casetă de butoane. Veți învăța cum să configurați o matrice de butoane și să scrieți (sau copiați) codul pentru a-l încărca pe Arduino.
Este important să știți că caseta de butoane nu acceptă o mulțime de butoane apăsate simultan.
Să începem!
Pasul 1: Preperație
Veți avea nevoie de câteva instrumente, butoane și mai multe articole pentru a crea caseta de butoane. Simțiți-vă liber să creați caseta de butoane după dorința dvs.
Electronică:
- Butoane
- Comută
- Codificatoare rotative
- Arduino Pro Micro
- Cablu Mini USB la USB
- Fire
Instrumente:
- Burghiu
- Solder
- Subler
- Șurubelnițe
- Cutter
- Cheie
Software:
- IDE Arduino
- Photoshop / Paint (opțional; poate fi desenat manual)
Alte:
- Carcasă (o cutie; poate fi cumpărată sau imprimată 3D personalizat)
- Folie de vinil carbon (opțional)
- Butoane rotative de codificare
- Capacele comutatorului (opțional)
- Imprimantă de etichete (opțional)
- Paste din cauciuc
Odată ce aveți toate (sau suficient pentru a începe), putem începe să proiectăm aspectul casetei de butoane.
Pasul 2: Proiectați aspectul casetei
Instrumente necesare pentru acest pas:
Photoshop / Paint (opțional; poate fi desenat manual)
Designul unei cutii cu butoane poate fi diferit pentru toată lumea. Cu toate acestea, pentru acest instructabil vom folosi un aspect care constă din:
- 4x comutatoare cu trei căi
- 2x comutatoare într-o singură direcție
- 10x butoane simple
- Codificator rotativ 4x cu buton simplu
Comutatoare cu trei căi:
Există multe tipuri de comutatoare. Unele sunt de moment, iar altele rămân la locul lor până când se întorc. Depinde de dvs. ce tip să utilizați, dar vă sfătuiesc să folosiți comutatoare momentane, deoarece această casetă de butoane nu este capabilă să aibă active mai multe butoane multiple în același timp. Deoarece comutatoarele de comutare sunt cu trei căi (pornit / oprit / pornit), avem disponibile opt butoane (4x2).
Comutatoare de comutare într-un mod:
Acestea pot fi considerate ca butoane simple (oprit / pornit). Acestea pot fi, de asemenea, de moment sau de comutare. Din nou, până la preferința personală pe care să o alegeți. Acestea ne oferă două (2) butoane disponibile.
Butoane simple:
Butoane ca acestea pot fi folosite prin simpla apăsare (oprire / pornire). Acestea ne vor oferi zece (10) butoane.
Codificatoare rotative cu buton simplu:
Majoritatea (dacă nu toate) codificatoarele rotative pot fi rotite la ambele direcții la infinit. De fiecare dată când le rotiți într-o direcție, este folosit ca apăsare pe buton. Aceste codificatoare rotative pot fi de asemenea apăsate dându-le un alt buton. Codificatoarele rotative dau douăsprezece butoane (12 = 4x3; rotiți la stânga / rotiți la dreapta / apăsați).
32 butoane:
Avându-le pe toate împreună ne oferă 32 de apăsări de butoane (8 + 2 + 10 + 12)!
Satisfăcut de aspect? E timpul să începem să construim!
Pasul 3: Măsurați și găuriți
Instrumente necesare pentru acest pas:
- Subler
- Burghiu
- Electronice (butoane, comutatoare etc.)
Măsurați toate butoanele pe care doriți să le adăugați la caseta de butoane. Dacă întâmpinați probleme la găsirea dimensiunilor electronice, utilizați un etrier (digital) pentru a obține diametrul acestora.
Marcați punctele centrale ale dispozitivelor electronice pe fața carcasei și găuriți cu dimensiunile corecte. Doriți să faceți incinta un pic mai plăcută din punct de vedere estetic? Așteptați cu montarea butoanelor!
Odată ce ați terminat de găurit, putem face să înceapă să arate ca o cutie de butoane adevărată!
Pasul 4: Montați butoanele, rotativele și comutatoarele
Instrumente necesare pentru acest pas:
- Electronice (butoane, comutatoare etc.)
- Cheie
- Folie de vinil carbon (opțional)
- Cutter (opțional)
Toate componentele electronice ar trebui să vină cu o piuliță pentru a o înșuruba în poziție. Dacă nu; măsurați-le și cumpărați piulița de dimensiunea corectă.
Dacă doriți să îmbunătățiți (opinia personală) aspectul cutiei de butoane, puteți utiliza o folie de vinil din fibră de carbon. Tăiați-l la dimensiunea (și puțin mai mare) a feței carcasei în care ați forat găurile. Aplicați vinilul și înfășurați-l în jurul colțurilor în spate. Acest lucru vă va asigura că învelișul rămâne la loc atunci când carcasa este închisă. Vinilul excesiv care acum blochează găurile poate fi îndepărtat folosind un tăietor.
După ce ați pus învelișul (sau nu) vă puteți încadra în componentele electronice pentru a crea partea din față a butonului. Acum ar trebui să aveți ceva care pare deja cu adevărat unul! Din păcate, nu funcționează încă …
Pasul 5: Proiectați aspectul cablării
Instrumente necesare pentru acest pas:
Photoshop / Paint (opțional; poate fi desenat manual)
Crearea unei matrice:
Folosirea unei matrice ne va economisi timp și o mulțime de cabluri și lipire inutile. Nu voi intra în prea multe detalii, dar vă voi sugera să aruncați o privire la acest articol dacă nu sunteți familiarizat cu conceptul de matrice.
Proiectați-vă propria matrice sau utilizați aspectul din acest instructabil. În matrice vom folosi cinci grupuri. Grupurile sunt conectate la următoarele pinouts de pe Arduino:
- 15: patru codificatoare rotative
- A0: cinci butoane
- A1: două comutatoare cu trei căi și un singur buton
- A2: două comutatoare cu trei căi și un singur buton
- A3: cinci butoane
Pasul 6: lipire
Instrumente necesare pentru acest pas:
- Ciocan de lipit
- Solder
- Electronice (montate pe incinta dvs.)
- Arduino Pro Micro
- Fire
Opțional:
Încărcați mai întâi codul de la pasul următor dacă sunteți îngrijorat de lipire. Acest lucru vă va permite să vă verificați conexiunile
Vrem să aplicăm matricea proiectată în pasul anterior la caseta de butoane propriu-zisă. Faceți ceva timp pentru asta, mai ales dacă este prima dată când lipiți.
Niste sfaturi:
- Faceți un grup în acel moment
- Conectați Arduino la computer pentru a testa ocazional
- Nu încălziți prea mult butoanele din plastic, deoarece acestea se pot topi și rupe conexiunile
- Nu utilizați prea mult lipire, mai puțin este mai bine
- Utilizați fire de culori diferite pentru fiecare grup / masă
Pasul 7: Scrierea codului
Instrumente necesare pentru acest pas:
- IDE Arduino
- Biblioteca Joystick
- Keypad.h (Arduino IDE> Sketch> Include Library> Manage Libraries …> Căutați tastatura și instalați-o pe cea creată de Mark Stanley și Alexander Brevig)
#include #include
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
butoane de octeți [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 {
octet pin1; octet pin2; int ccwchar; int cwchar; stat volatil nesemnat; };
rotariesdef rotaries [NUMROTARIES] {
{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };
#define 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_ST_ (R), R_B_R_R, (R) 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_ST_R, 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 unsable 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, 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};
octet colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Tastatura buttbx = Tastatura (makeKeymap (butoane), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, fals, fals, fals, fals, fals, fals, fals, fals, fals, fals, fals);
configurare nulă () {
Joystick.begin (); rotary_init ();}
bucla nulă () {
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (nul) {
if (buttbx.getKeys ()) {for (int i = 0; i
void rotary_init () {
pentru (int i = 0; i
unsigned char rotary_process (int _i) {
unsigned char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (rotary [_i].pin1); rotaries [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; return (rotary [_i].state & 0x30); }
void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {
rezultat de carat nesemnat = rotary_process (i); if (result == DIR_CCW) {Joystick.setButton (rotaries .ccwchar, 1); întârziere (50); Joystick.setButton (rotary .ccwchar, 0); }; if (result == DIR_CW) {Joystick.setButton (rotaries .cwchar, 1); întârziere (50); Joystick.setButton (rotary .cwchar, 0); }; }}
- Conectați Arduino Pro Micro la computer conectând cablul USB
- Pentru a încărca codul, selectați tipul Arduino accesând Instrumente> Placă: …> Arduino / Genuino Micro.
- Pentru a selecta portul USB corect, accesați Instrumente> Port:> COM x (Arduino / Genuino Micro)
- Verificați schița făcând clic pe ✓ în colțul din stânga sus (sub Fișier)
- Apăsați → lângă acesta pentru al încărca pe Arduino
Pasul 8: Adăugați la platforma dvs
Felicitări! Ai ajuns atât de departe. Acum este timpul să concurez!
Recomandat:
2d Rocket Landing Sim: 3 pași
2d Rocket Landing Sim: va trebui să creați un fundal, să desenați rachete și un indicator pentru a începe (bineînțeles că veți avea nevoie de o conexiune la internet pentru a utiliza zero) dacă doriți doar să jucați simularea / jocul, faceți clic aici sau accesați https://scratch.mit.edu/projects/432509470
Modul SIM900A 2G + Cartelă SIM hologramă = Combinație câștigătoare din categoria „ieftin ieftin” ?: 6 pași
SIM900A 2G Module + Hologramă SIM Card = Combinație câștigătoare din categoria „murdărie ieftină” ?: IoT, cuvântul cheie al acestui deceniu, uneori intră chiar și în mintea oamenilor care se consideră rezistenți la moft, cu mine printre ei. Internet și am văzut o companie despre care nu am mai auzit până acum (Hologramă) dă cartele SIM
DIY Sim Racing Display Arduino: 3 pași
DIY Sim Racing Display Arduino: Acesta este modul în care puteți construi un afișaj USB Sim Racing foarte ușor și ieftin cu un Arduino UNO și un 3,5 " TFT Display. Are un API pentru Assetto Corsa care preia datele din memoria partajată a jocului programat în C # în Visual Studio, apoi trimite
Sim Racing Button Box: 7 pași (cu imagini)
Sim Racing Button Box: O casetă de butoane este un dispozitiv utilizat în Sim Racing care vă permite să atribuiți butoane, comutatoare și butoane diferitelor comenzi ale mașinii. Atribuțiile obișnuite ale butoanelor sunt lucruri precum un buton de pornire, PTT, cerere, etc. Comutatoarele basculante funcționează excelent pentru ștergătoare, headl
Cedar (Cigar?) Box Box Box: 8 pași (cu imagini)
Cedar (Cigar?) Box Box Box: Inspirat de difuzoarele Munny, dar nu doresc să cheltuiască mai mult de 10 dolari, iată instructivul meu folosind difuzoare vechi de computer, o cutie de lemn din magazinul de cumpărături și o mulțime de lipici fierbinți