Innholdsfortegnelse:
- Trinn 1: Forberedelse
- Trinn 2: Utform boksoppsettet
- Trinn 3: Mål og bor
- Trinn 4: Monter knappene, rotaryene og vippene
- Trinn 5: Utform ledningsoppsettet
- Trinn 6: Lodding
- Trinn 7: Skrive koden
- Trinn 8: Legg til din rigg
Video: Sim Racing Button Box: 8 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Velkommen sim -rusmisbrukere!
Er du tom for nøkkelbind for å kartlegge alle bilkontrollene dine til? Du trenger sannsynligvis en knappboks! I denne instruksjonsboken skal vi lage en fra bunnen av. Knappboksen vil ha 32 (!) Tilgjengelige knappestater. Ingen ekstra programvare er nødvendig for å bruke denne knappboksen. Du lærer hvordan du konfigurerer en knappematrise og skriver (eller kopierer) kode for å laste opp til Arduino.
Det er viktig å vite at knappboksen ikke støtter mange knapper som trykkes samtidig.
La oss komme i gang!
Trinn 1: Forberedelse
Du trenger noen verktøy, knapper og flere elementer for å lage knappboksen. Lag gjerne knappboksen etter eget ønske.
Elektronikk:
- Knapper
- Veksler
- Rotary encoders
- Arduino Pro Micro
- Mini USB til USB kabel
- Ledninger
Verktøy:
- Bore
- Lodding
- Bremseklave
- Skrutrekkere
- Kutter
- Skiftenøkkel
Programvare:
- Arduino IDE
- Photoshop/Paint (valgfritt; kan tegnes for hånd)
Annen:
- Vedlegg (en eske; kan kjøpes eller tilpasses 3D -utskrift)
- Karbon vinylfolie (valgfritt)
- Rotary encoder knotter
- Bryterdeksler (valgfritt)
- Etikettskriver (valgfritt)
- Gummigummi
Når du har alle (eller nok til å komme i gang) elementene, kan vi begynne å designe oppsettet til knappboksen.
Trinn 2: Utform boksoppsettet
Verktøy som kreves for dette trinnet:
Photoshop/Paint (valgfritt; kan tegnes for hånd)
Utformingen av en knappboks kan være forskjellig for alle. For denne instruksjonsboken bruker vi imidlertid et oppsett som består av:
- 4x treveis vippebrytere
- 2x enveis vippebrytere
- 10x enkle trykknapper
- 4x roterende encoder med enkel knapp
Treveis brytere:
Det finnes mange typer vippebrytere. Noen er øyeblikkelige og noen blir på plass til de byttes tilbake. Det er opp til deg hvilken type du skal bruke, men jeg anbefaler å bruke øyeblikkelige brytere, siden denne knappboksen ikke er i stand til å ha mange flere knapper aktive samtidig. Siden vippebryterne er treveis (på/av/på), har vi åtte (4x2) knapper tilgjengelig.
Enveis vippebrytere:
Disse kan betraktes som enkle knapper (av/på). Disse kan også være øyeblikkelige eller bytte. Igjen, opp til personlige preferanser å velge. Disse gir oss to (2) tilgjengelige knapper.
Enkle trykknapper:
Knapper som disse kan brukes ved å trykke dem (av/på). Disse gir oss ti (10) knapper.
Rotary encoders med enkel trykknapp:
De fleste (om ikke alle) roterende kodere kan vendes til begge retninger i det uendelige. Hver gang du roterer dem til en retning brukes den som et knappetrykk. Disse roterende koderne kan også trykkes inn og gi dem en ny knapp. De roterende koderne gir tolv (12 = 4x3; roter til venstre/roter til høyre/trykk).
32 knapper:
Å ha dem alle sammen gir oss 32 (8+2+10+12) knappetrykk!
Fornøyd med oppsettet? På tide å begynne å bygge!
Trinn 3: Mål og bor
Verktøy som kreves for dette trinnet:
- Bremseklave
- Bore
- Elektronikk (knapper, brytere, etc.)
Mål alle knappene du vil legge til i knappboksen. Hvis du har problemer med å finne dimensjonene til elektronikken din, kan du bruke en (digital) tykkelse for å få diameteren på dem.
Merk midtpunktene til elektronikken på forsiden av skapet og bor hull med riktige størrelser. Ønsker du å gjøre kabinettet litt mer estetisk tiltalende? Vent med å montere knappene!
Når du er ferdig med å bore hullene, kan vi få det til å se ut som en ekte knappeboks!
Trinn 4: Monter knappene, rotaryene og vippene
Verktøy som kreves for dette trinnet:
- Elektronikk (knapper, brytere, etc.)
- Skiftenøkkel
- Karbon vinylfolie (valgfritt)
- Kutter (valgfritt)
All elektronikken din skal ha en mutter for å skru den på plass. Hvis ikke; mål dem og kjøp mutteren i riktig størrelse.
Hvis du vil forbedre (personlig mening) utseendet på knappboksen, kan du bruke en vinylfolie av karbonfiber. Klipp den til størrelsen (og litt større) på skapets ansikt der du boret hullene. Påfør vinylen og pakk den rundt hjørnene til baksiden. Dette vil sikre at omslaget forblir på plass når vedlegget er lukket. Overdreven vinyl som nå blokkerer hullene kan fjernes ved hjelp av en kutter.
Etter å ha tatt på omslaget (eller ikke) kan du passe inn elektronikken for å lage forsiden av knappboksen. Du bør nå ha noe som virkelig ser ut som en allerede! Dessverre fungerer det ikke ennå …
Trinn 5: Utform ledningsoppsettet
Verktøy som kreves for dette trinnet:
Photoshop/Paint (valgfritt; kan tegnes for hånd)
Opprette en matrise:
Å bruke en matrise vil spare oss tid og mye unødvendig kabling og lodding. Jeg vil ikke gå så mye i detalj selv, men vil foreslå at du tar en titt på denne artikkelen hvis du ikke er kjent med begrepet en matrise.
Design din egen matrise eller bruk oppsettet fra denne instruksjonsboken. I matrisen skal vi bruke fem grupper. Gruppene er koblet til følgende pinouts på Arduino:
- 15: fire roterende kodere
- A0: fem trykknapper
- A1: toveis veksler og en trykknapp
- A2: to treveis veksler og en trykknapp
- A3: fem trykknapper
Trinn 6: Lodding
Verktøy som kreves for dette trinnet:
- Loddejern
- Lodding
- Elektronikk (montert på skapet)
- Arduino Pro Micro
- Ledninger
Valgfri:
Last opp koden fra neste trinn først hvis du er bekymret for lodding. Dette lar deg sjekke forbindelsene dine
Vi ønsker å bruke matrisen designet i forrige trinn på den faktiske knappboksen. Ta deg tid til dette, spesielt hvis dette er første gang du lodder.
Noen tips:
- Gjør en gruppe om gangen
- Koble Arduino til datamaskinen din for å teste av og til
- Ikke varm opp plastknappene for mye, da de kan smelte og bryte forbindelsene
- Ikke bruk for mye loddetinn, mindre er bedre
- Bruk ledninger i forskjellige farger for hver gruppe/bakke
Trinn 7: Skrive koden
Verktøy som kreves for dette trinnet:
- Arduino IDE
- Joystick -bibliotek
- Tastatur.h (Arduino IDE> Skisse> Inkluder bibliotek> Administrer biblioteker …> Søk etter tastatur og installer det som er opprettet av Mark Stanley og Alexander Brevig)
#include #include
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
byteknapper [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; flyktig usignert røyktilstand; };
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_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_ST_M, R_ST_ 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, 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},}; #slutt om
byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};
byte colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Tastatur buttbx = Tastatur (makeKeymap (knapper), 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);
ugyldig oppsett () {
Joystick.begin (); rotary_init ();}
void loop () {
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (void) {
if (buttbx.getKeys ()) {for (int i = 0; i
ugid rotary_init () {
for (int i = 0; i
usignert char rotary_process (int _i) {
usignert char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (rotasjoner [_i].pin1); rotaries [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; retur (rotary [_i].state & 0x30); }
void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {
usignert røyningsresultat = rotasjonsprosess (i); if (result == DIR_CCW) {Joystick.setButton (rotaries .ccwchar, 1); forsinkelse (50); Joystick.setButton (rotasjoner .ccwchar, 0); }; if (result == DIR_CW) {Joystick.setButton (rotaries .cwchar, 1); forsinkelse (50); Joystick.setButton (rotasjoner .cwchar, 0); }; }}
- Koble Arduino Pro Micro til datamaskinen din ved å koble til USB -kabelen
- For å laste opp koden, velg Arduino -typen ved å gå til Verktøy> Brett: …> Arduino/Genuino Micro.
- For å velge riktig USB -port, gå til Verktøy> Port:> COM x (Arduino/Genuino Micro)
- Bekreft skissen ved å klikke på ✓ øverst i venstre hjørne (under Fil)
- Trykk på → ved siden av den for å laste den opp til Arduino
Trinn 8: Legg til din rigg
Gratulerer! Du har kommet så langt. Nå er det tid for løp!
Anbefalt:
2d Rocket Landing Sim: 3 trinn
2d Rocket Landing Sim: Du må lage et bakteppe, tegne raketter og en indikator for å begynne (selvfølgelig trenger du en internettforbindelse for å bruke scratch) hvis du bare vil spille simuleringen/ spillet, klikk her, eller gå til https://scratch.mit.edu/projects/432509470
SIM900A 2G -modul + hologram -SIM -kort = vinnende kombinasjon i kategorien "skitt billig" ?: 6 trinn
SIM900A 2G -modul + hologram -SIM -kort = vinnende kombinasjon i kategorien "skitt billig" ?: IoT, stikkordet for dette tiåret, kommer noen ganger inn i tankene til folk som anser seg motstandsdyktige mot kjepphest, med meg blant dem. En dag blader jeg gjennom Internett og så et selskap jeg aldri har hørt om før (Hologram) gi bort SIM -kort
DIY Sim Racing Display Arduino: 3 trinn
DIY Sim Racing Display Arduino: Slik bygger du en veldig enkel og billig Sim Racing USB -skjerm med en Arduino UNO og en 3,5 " TFT Display. Den har et API for Assetto Corsa som tar dataene fra det delte minnet til spillet som er programmert i C# i Visual Studio, og deretter sender
Sim Racing Button Box: 7 trinn (med bilder)
Sim Racing Button Box: En knappboks er en enhet som brukes i Sim Racing, som lar deg tilordne knapper, brytere og knapper til forskjellige bilkontroller. Vanlige knappetildelinger er ting som en startknapp, PTT, forespørselsgrop osv. Vippebrytere fungerer utmerket for vindusviskere, hodelykter
A Juke Box for the Very Young Aka Raspi-Music-Box: 5 trinn
A Juke Box for the Very Young … Aka Raspi-Music-Box: Inspirert av den instruerbare " Raspberry-Pi-baserte-RFID-Music-Robot " Jeg beskrev en musikkspiller som ROALDH bygde for 3-åringen, og bestemte meg for å bygge en jukeboks til mine enda yngre barn. Det er i utgangspunktet en eske med 16 knapper og en Raspi 2 i