Turinys:
- 1 žingsnis: Paruošimas
- 2 žingsnis: suprojektuokite dėžutės išdėstymą
- 3 žingsnis: išmatuokite ir gręžkite
- 4 žingsnis: pritvirtinkite mygtukus, suktukus ir perjungiklius
- 5 žingsnis: suprojektuokite laidų išdėstymą
- 6 žingsnis: litavimas
- 7 žingsnis: kodo rašymas
- 8 veiksmas: pridėkite prie savo įrenginio
Video: „Sim Racing“mygtukų dėžutė: 8 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Sveiki Sim lenktynių narkomanai!
Trūksta raktų, kad galėtumėte susieti visus automobilio valdiklius? Tikriausiai jums reikia sagų dėžutės! Šioje instrukcijoje mes ją sukursime nuo nulio. Mygtukų dėžutėje bus 32 (!) Mygtuko būsenos. Norint naudoti šią mygtukų dėžutę, nereikia jokios papildomos programinės įrangos. Sužinosite, kaip nustatyti mygtukų matricą ir parašyti (arba nukopijuoti) kodą, kurį norite įkelti į „Arduino“.
Svarbu žinoti, kad mygtukų dėžutė nepalaiko daugelio vienu metu paspaudžiamų mygtukų.
Pradėkime!
1 žingsnis: Paruošimas
Norėdami sukurti mygtukų dėžutę, jums reikės tam tikrų įrankių, mygtukų ir daugiau elementų. Nesivaržykite sukurti mygtukų dėžutės pagal savo norą.
Elektronika:
- Mygtukai
- Perjungia
- Rotaciniai kodavimo įrenginiai
- „Arduino Pro Micro“
- Mini USB prie USB kabelis
- Laidai
Įrankiai:
- Grąžtas
- Lituoklis
- Apkaba
- Atsuktuvai
- Kateris
- Veržliaraktis
Programinė įranga:
- „Arduino IDE“
- „Photoshop“/„Paint“(neprivaloma; galima piešti rankomis)
Kiti:
- Dėklas (dėžutė; galima nusipirkti arba pagal užsakymą atspausdinti 3D)
- Anglies vinilo plėvelė (neprivaloma)
- Rotacinio kodavimo rankenėlės
- Jungiklių dangteliai (neprivaloma)
- Etikečių spausdintuvas (neprivaloma)
- Guminis tarpiklis
Kai turėsite visus (arba pakankamai, kad pradėtumėte) elementus, galime pradėti kurti mygtukų dėžutės išdėstymą.
2 žingsnis: suprojektuokite dėžutės išdėstymą
Šiam žingsniui reikalingi įrankiai:
„Photoshop“/„Paint“(neprivaloma; galima piešti rankomis)
Mygtuko dėžutės dizainas kiekvienam gali būti skirtingas. Tačiau šiai instrukcijai naudojame išdėstymą, kurį sudaro:
- 4x trijų krypčių perjungimo jungikliai
- 2x vieno krypties perjungimo jungikliai
- 10 kartų paprasti mygtukai
- 4x sukamasis kodavimo įrenginys su paprastu mygtuku
Trijų krypčių perjungimo jungikliai:
Yra daug perjungimo jungiklių tipų. Kai kurie iš jų yra trumpalaikiai, o kai kurie lieka vietoje, kol jie nebus pakeisti. Kurį tipą naudoti, priklauso nuo jūsų, tačiau patariu naudoti momentinius jungiklius, nes šioje mygtukų dėžutėje vienu metu negali būti aktyvūs daugelis daugialypių mygtukų. Kadangi perjungimo jungikliai yra trijų krypčių (įjungimo/išjungimo/įjungimo), turime aštuonis (4x2) mygtukus.
Vienas iš perjungimo būdų:
Tai gali būti laikoma paprastais mygtukais (išjungta/įjungta). Jie taip pat gali būti trumpalaikiai arba perjungti. Vėlgi, tai priklauso nuo asmeninių pageidavimų, kuriuos pasirinkti. Tai suteikia mums du (2) galimus mygtukus.
Paprasti mygtukai:
Tokius mygtukus galima naudoti tiesiog paspaudus (išjungus/įjungus). Tai suteiks mums dešimt (10) mygtukų.
Sukamieji kodavimo įrenginiai su paprastu mygtuku:
Daugumą (jei ne visus) sukamuosius kodavimo įrenginius galima be galo pasukti į abi puses. Kaskart pasukus juos kryptimi, kuri naudojama kaip mygtuko paspaudimas. Šiuos sukamuosius kodavimo įrenginius taip pat galima paspausti, suteikiant jiems kitą mygtuką. Sukamieji kodavimo įrenginiai suteikia dvylika (12 = 4x3; pasukti į kairę/pasukti į dešinę/paspausti) mygtukų.
32 mygtukai:
Turėdami juos visus kartu, mes paspaudžiame 32 (8+2+10+12) mygtukus!
Ar patenkintas išdėstymu? Laikas pradėti statyti!
3 žingsnis: išmatuokite ir gręžkite
Šiam žingsniui reikalingi įrankiai:
- Apkaba
- Grąžtas
- Elektronika (mygtukai, jungikliai ir kt.)
Išmatuokite visus mygtukus, kuriuos norite pridėti prie mygtukų dėžutės. Jei jums sunku rasti elektronikos matmenis, naudokite (skaitmeninį) apkabą, kad sužinotumėte jų skersmenį.
Ant korpuso paviršiaus pažymėkite elektronikos centrinius taškus ir išgręžkite tinkamo dydžio skyles. Norite, kad korpusas taptų šiek tiek estetiškesnis? Palaukite uždėdami mygtukus!
Kai baigsite gręžti skyles, galime atrodyti kaip tikra sagų dėžutė!
4 žingsnis: pritvirtinkite mygtukus, suktukus ir perjungiklius
Šiam žingsniui reikalingi įrankiai:
- Elektronika (mygtukai, jungikliai ir kt.)
- Veržliaraktis
- Anglies vinilo plėvelė (neprivaloma)
- Pjaustytuvas (neprivaloma)
Visa jūsų elektronika turėtų būti su veržle, kad ją prisuktų. Jei ne; išmatuokite juos ir įsigykite tinkamo dydžio veržlę.
Jei norite patobulinti (asmeninę nuomonę) savo sagų dėžutės išvaizdą, galite naudoti anglies pluošto vinilo plėvelę. Iškirpkite jį tokio dydžio (ir šiek tiek didesnio) korpuso paviršiaus, kuriame gręžėte skyles. Užtepkite vinilą ir apvyniokite aplink kampus į nugarą. Tai užtikrins, kad pakuotė liktų vietoje, kai korpusas uždarytas. Per daug vinilo, kuris dabar užkemša skyles, galima pašalinti naudojant pjaustytuvą.
Uždėję įvyniojimą (arba ne), galite tilpti į elektroniką, kad sukurtumėte sagų dėžutės priekį. Dabar turėtumėte turėti kažką, kas tikrai atrodo kaip vienas! Deja, tai dar neveikia…
5 žingsnis: suprojektuokite laidų išdėstymą
Šiam žingsniui reikalingi įrankiai:
„Photoshop“/„Paint“(neprivaloma; galima piešti rankomis)
Matricos kūrimas:
Naudodami matricą sutaupysime laiko ir daug nereikalingų laidų bei litavimo. Aš nesileisiu į daug smulkmenų, bet siūlau jums pažvelgti į šį straipsnį, jei nesate susipažinęs su matricos sąvoka.
Sukurkite savo matricą arba naudokite šios instrukcijos išdėstymą. Matricoje naudosime penkias grupes. Grupės yra prijungtos prie šių „Arduino“kontaktų:
- 15: keturi sukamieji kodavimo įrenginiai
- A0: penki mygtukai
- A1: du trijų krypčių perjungikliai ir vienas mygtukas
- A2: du trijų krypčių perjungimai ir vienas mygtukas
- A3: penki mygtukai
6 žingsnis: litavimas
Šiam žingsniui reikalingi įrankiai:
- Lituoklis
- Lituoklis
- Elektronika (sumontuota ant jūsų korpuso)
- „Arduino Pro Micro“
- Laidai
Neprivaloma:
Jei nerimaujate dėl litavimo, pirmiausia įkelkite kodą iš kito veiksmo. Tai leis jums patikrinti savo ryšius
Mes norime pritaikyti ankstesniame žingsnyje sukurtą matricą tikrajam mygtukų laukeliui. Skirkite tam šiek tiek laiko, ypač jei tai yra pirmas litavimas.
Keletas patarimų:
- Darykite vieną grupę vienu metu
- Prijunkite „Arduino“prie kompiuterio, kad retkarčiais išbandytumėte
- Nešildykite plastikinių mygtukų per daug, nes jie gali ištirpti ir nutraukti jungtis
- Nenaudokite per daug lydmetalio, geriau mažiau
- Kiekvienai grupei/įžeminimui naudokite skirtingų spalvų laidus
7 žingsnis: kodo rašymas
Šiam žingsniui reikalingi įrankiai:
- „Arduino IDE“
- Joystick biblioteka
- „Keypad.h“(„Arduino IDE“> Eskizas> Įtraukti biblioteką> Tvarkyti bibliotekas …> Ieškokite klaviatūros ir įdiekite tą, kurią sukūrė Markas Stanley ir Aleksandras Brevigas)
#įtraukti #įtraukti
#define ENABLE_PULLUPS
#define NUMROTARIES 4 #define NUMBUTTONS 24 #define NUMROWS 5 #define NUMCOLS 5
baitų mygtukai [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}, };
structure rotariesdef {
baitų pin1; baitų pin2; int ccwchar; int cwchar; nepastovios nepasirašytos anglies būsena; };
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 nepasirašyta lentelė [6] [4] = {// R_W 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 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},}; #endif
baitų eilutės kaiščiai [NUMROWS] = {21, 20, 19, 18, 15};
baitų colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Klaviatūra buttbx = Klaviatūra (makeKeymap (mygtukai), 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, false);
void setup () {
Vairasvirtė.pradėti (); rotary_init ();}
void loop () {
CheckAllEncoders ();
CheckAllButtons ();
}
void CheckAllButtons (void) {
if (buttbx.getKeys ()) {už (int i = 0; i
void rotary_init () {
už (int i = 0; i
unsigned char rotary_process (int _i) {
unsigned char pinstate = (digitalRead (rotaciniai [_i].pin2) << 1) | digitalRead (rotaciniai [_i].pin1); rotary [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; return (rotaciniai [_i].stata & 0x30); }
void CheckAllEncoders (void) {for (int i = 0; i <NUMROTARIES; i ++) {
nepasirašytas char rezultatas = rotacinis_procesas (i); if (rezultatas == DIR_CCW) {Joystick.setButton (sukamieji .ccwchar, 1); vėlavimas (50); Joystick.setButton (sukamieji .ccwchar, 0); }; if (rezultatas == DIR_CW) {Joystick.setButton (sukamieji .cwchar, 1); vėlavimas (50); Joystick.setButton (sukamieji .cwchar, 0); }; }}
- Prijunkite „Arduino Pro Micro“prie kompiuterio prijungdami USB kabelį
- Norėdami įkelti kodą, pasirinkite „Arduino“tipą, eidami į Įrankiai> Lenta:…> „Arduino“/„Genuino Micro“.
- Norėdami pasirinkti tinkamą USB prievadą, eikite į Tools> Port:> COM x (Arduino/Genuino Micro)
- Patikrinkite eskizą spustelėdami ✓ viršutiniame kairiajame kampe (skiltyje Failas)
- Paspauskite → šalia, kad įkeltumėte jį į „Arduino“
8 veiksmas: pridėkite prie savo įrenginio
Sveikinu! Jūs atėjote taip toli. Dabar atėjo laikas lenktynėms!
Rekomenduojamas:
Dviejų mygtukų relės jungiklis: 3 žingsniai
Dviejų mygtukų relės jungiklis: šiame straipsnyje parodyta, kaip įjungti ir išjungti mygtuko jungiklį. Šią grandinę galima padaryti dviem jungikliais. Paspaudus vieną jungiklį, lemputė įsijungia. Paspaudus kitą jungiklį, lemputė išsijungia. Tačiau šis Ins
„Pasidaryk pats“ventiliatorius su įjungimo ir išjungimo mygtuku - M5StickC ESP32: 8 žingsniai
„Pasidaryk pats“ventiliatorius su įjungimo ir išjungimo mygtuku - M5StickC ESP32: Šiame projekte mes išmoksime naudoti FAN L9110 modulį naudojant M5StickC ESP32 plokštę
„Pasidaryk pats“„Sim Racing“ekranas „Arduino“: 3 žingsniai
„Pasidaryk pats“„Sim Racing“ekranas „Arduino“: taip sukuriamas labai lengvas ir pigus „Sim Racing“USB ekranas su „Arduino UNO“ir 3,5 " TFT ekranas. Jame yra „Assetto Corsa“API, kuri paima duomenis iš žaidimo bendrosios atminties, užprogramuoto „C#“„Visual Studio“, tada siunčia
„Sim Racing Button Box“: 7 žingsniai (su nuotraukomis)
„Sim Racing“mygtukų dėžutė: Mygtukų dėžutė yra „Sim Racing“naudojamas įrenginys, leidžiantis priskirti mygtukus, jungiklius ir rankenėles įvairiems automobilio valdikliams. Įprasti mygtukų priskyrimai yra tokie kaip pradžios mygtukas, tiesioginis ryšys, užklausų duobė ir kt. Perjungimo jungikliai puikiai tinka valytuvams, galvai
„Barbie“dėžutė: užmaskuotas dėklas/ strėlės dėžutė jūsų MP3 grotuvui: 4 žingsniai (su nuotraukomis)
„Barbie Box“: užmaskuotas dėklas/ strėlės dėžutė jūsų MP3 grotuvui: Tai yra paminkštintas apsauginis dėklas jūsų mp3 grotuvui, kuris taip pat konvertuoja ausinių lizdą į ketvirtadalio colį, gali veikti kaip strėlės dėžutė perjungus jungiklį ir užmaskuoja jūsų mp3 grotuvą kaip dešimtojo dešimtmečio pradžios magnetofoną ar panašias mažas vagystes