Përmbajtje:
- Hapi 1: Përgatitja
- Hapi 2: Dizajnoni paraqitjen e kutisë
- Hapi 3: Masa dhe Stërvitja
- Hapi 4: Përshtatni butonat, rrotulluesit dhe çelësat
- Hapi 5: Hartoni strukturën e telave
- Hapi 6: Saldimi
- Hapi 7: Shkrimi i Kodit
- Hapi 8: Shtoni në pajisjen tuaj
Video: Sim Racing Button Box: 8 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:24
Mirë se vini të varur nga garat sim!
A po ju mbarojnë lidhëset për t'i hartuar të gjitha kontrollet e makinës suaj? Ju ndoshta keni nevojë për një kuti butoni! Në këtë Instructable ne do të krijojmë një nga e para. Kutia e butonave do të ketë 32 gjendje (!) Të disponueshme të butonave. Asnjë softuer shtesë nuk kërkohet për të përdorur këtë kuti butoni. Do të mësoni se si të konfiguroni një matricë butoni dhe të shkruani (ose kopjoni) kodin për ta ngarkuar në Arduino tuaj.
Importantshtë e rëndësishme të dini se kutia e butonave nuk mbështet shumë butona të shtypur njëkohësisht.
Le të fillojmë!
Hapi 1: Përgatitja
Ju do të keni nevojë për disa mjete, butona dhe më shumë artikuj për të krijuar kutinë e butonave. Mos ngurroni të krijoni kutinë e butonave sipas dëshirës tuaj.
Elektronikë:
- Butonat
- Toggles
- Kodifikues rrotullues
- Arduino Pro Micro
- Mini kabllo USB në USB
- Telat
Mjetet:
- Stërvitje
- Saldator
- Kalibër
- Kaçavida
- Prestar
- Pikëllim
Softuer:
- Arduino IDE
- Photoshop/Paint (sipas dëshirës; mund të vizatohet me dorë)
Te tjera:
- Shtojcë (një kuti; mund të blihet ose të printohet me porosi 3D)
- Mbështjellës me vinyl karboni (opsional)
- Çelësat kodues rrotullues
- Ndërroni kapakët (opsional)
- Etiketë printeri (opsionale)
- Veshje gome
Pasi të keni të gjithë (ose mjaftueshëm për të filluar) artikujt, ne mund të fillojmë të hartojmë paraqitjen e kutisë së butonave.
Hapi 2: Dizajnoni paraqitjen e kutisë
Mjetet e nevojshme për këtë hap:
Photoshop/Paint (opsionale; mund të vizatohet me dorë)
Dizajni i një kutie me butona mund të jetë i ndryshëm për të gjithë. Sidoqoftë, për këtë Instructable ne do të përdorim një plan urbanistik që përbëhet nga:
- 4x çelsin e kalimit me tre drejtime
- 2x ndërprerës të njëanshëm
- 10x butona të thjeshtë shtytjeje
- Kodifikues rrotullues 4x me buton të thjeshtë
Ndërprerësit e kalimit në tre mënyra:
Ka shumë lloje të çelsave të kalimit. Disa janë momentale dhe disa qëndrojnë në vend derisa të kthehen mbrapa. Varet nga ju se cilin lloj të përdorni, por unë ju këshilloj të përdorni çelsat e çastit pasi kjo kuti butoni nuk është e aftë të ketë shumë butona të shumëfishtë aktivë në të njëjtën kohë. Meqenëse çelësat e ndërrimit janë me tre drejtime (ndezje/fikje/ndezje), ne kemi tetë butona (4x2) në dispozicion.
Një mënyrë e ndërrimit të çelsave:
Këto mund të konsiderohen si butona të thjeshtë (fikur/aktivizuar). Këto mund të jenë gjithashtu momentale ose të ndryshueshme. Përsëri, deri në preferencën personale të cilën të zgjidhni. Këto na japin dy (2) butona të disponueshëm.
Butonat e thjeshtë të shtypjes:
Butonat si këto mund të përdoren thjesht duke i shtyrë ato (fikur/ndezur). Këto do të na japin dhjetë (10) butona.
Kodues rrotullues me buton të thjeshtë shtytjeje:
Shumica (nëse jo të gjitha) kodifikuesit rrotullues mund të kthehen në të dy drejtimet pafundësisht. Sa herë që i rrotulloni në një drejtim përdoret si shtypje butoni. Këta kodues rrotullues gjithashtu mund të shtypen duke u dhënë atyre një buton tjetër. Kodifikuesit rrotullues japin dymbëdhjetë butona (12 = 4x3; rrotullohen majtas/rrotullohen djathtas/shtyjnë) butona.
32 butona:
Duke i pasur të gjitha së bashku na jep 32 (8+2+10+12) shtypje të butonave!
I kënaqur me paraqitjen? Koha për të filluar ndërtimin!
Hapi 3: Masa dhe Stërvitja
Mjetet e nevojshme për këtë hap:
- Kalibër
- Stërvitje
- Elektronikë (butona, çelësa, etj.)
Matni të gjithë butonat që dëshironi të shtoni në kutinë tuaj të butonave. Nëse keni probleme me gjetjen e dimensioneve të pajisjeve tuaja elektronike, përdorni një caliper (dixhital) për të marrë diametrin e tyre.
Shënoni pikat qendrore të elektronikës në faqen e rrethimit tuaj dhe shponi vrima me madhësitë e duhura. Dëshironi ta bëni rrethimin pak më të këndshëm estetikisht? Prisni me montimin e butonave!
Pasi të keni mbaruar shpimin e vrimave, ne mund ta bëjmë atë të fillojë të duket si një kuti me butona të vërtetë!
Hapi 4: Përshtatni butonat, rrotulluesit dhe çelësat
Mjetet e nevojshme për këtë hap:
- Elektronikë (butona, çelësa, etj.)
- Pikëllim
- Mbështjellës me vinyl karboni (opsional)
- Prerës (opsional)
Të gjitha pajisjet elektronike duhet të vijnë me një arrë për ta vidhosur në vend. Nese jo; matni ato dhe blini arrë me madhësinë e duhur.
Nëse dëshironi të përmirësoni (mendimin personal) pamjen e kutisë tuaj të butonave, mund të përdorni një mbështjellës vinyl me fibra karboni. Pritini atë në madhësinë (dhe pak më të madhe) të fytyrës së rrethimit tuaj në të cilin keni shpuar vrimat. Aplikoni vinilin dhe mbështilleni atë rreth qosheve në anën e pasme. Kjo do të sigurojë që mbështjellësi të qëndrojë në vend kur mbyllja është e mbyllur. Vinili i tepërt që tani bllokon vrimat mund të hiqet duke përdorur një prestar.
Pasi të keni veshur mbështjellësin (ose jo) mund të futeni në pajisje elektronike për të krijuar pjesën e përparme të kutisë tuaj të butonave. Tani duhet të kesh diçka që me të vërtetë duket si një tashmë! Fatkeqësisht, nuk funksionon ende…
Hapi 5: Hartoni strukturën e telave
Mjetet e nevojshme për këtë hap:
Photoshop/Paint (sipas dëshirës; mund të vizatohet me dorë)
Krijimi i një matricë:
Përdorimi i një matricë do të na kursejë kohë dhe shumë tela dhe bashkim të panevojshëm. Unë nuk do të hyj në shumë detaje vetë, por do t'ju sugjeroj që t'i hidhni një sy këtij artikulli nëse nuk jeni të njohur me konceptin e një matricë.
Dizajnoni matricën tuaj ose përdorni paraqitjen nga ky Instructable. Në matricë do të përdorim pesë grupe. Grupet janë të lidhura me pinoutet e mëposhtëm në Arduino:
- 15: katër kodues rrotullues
- A0: pesë butona shtypës
- A1: dy ndërrues me tre drejtime dhe një buton
- A2: dy ndërrues me tre drejtime dhe një buton
- A3: pesë butona shtytës
Hapi 6: Saldimi
Mjetet e nevojshme për këtë hap:
- Makine per ngjitjen e metalit
- Saldator
- Elektronikë (e montuar në rrethimin tuaj)
- Arduino Pro Micro
- Telat
Opsionale:
Ngarko kodin nga hapi tjetër së pari nëse shqetësohesh për bashkimin. Kjo do t'ju lejojë të kontrolloni lidhjet tuaja
Ne duam të aplikojmë matricën e krijuar në hapin e mëparshëm në kutinë aktuale të butonave. Merrni pak kohë për këtë, veçanërisht nëse kjo është lidhja juaj e parë.
Disa keshilla:
- Bëni një grup në atë kohë
- Lidheni Arduino me kompjuterin tuaj për ta testuar herë pas here
- Mos i ngrohni butonat plastikë shumë pasi ato mund të shkrihen dhe të prishin lidhjet
- Mos përdorni shumë saldim, më pak është më mirë
- Përdorni tela me ngjyra të ndryshme për secilin grup/tokë
Hapi 7: Shkrimi i Kodit
Mjetet e nevojshme për këtë hap:
- Arduino IDE
- Biblioteka e xhojstikut
- Keypad.h (Arduino IDE> Skicë> Përfshi Bibliotekën> Menaxho Bibliotekat …> Kërko për Tastiera dhe instalo atë që është krijuar nga Mark Stanley dhe Alexander Brevig)
#përfshi #përfshi
#përcakto Çaktivizo_PULLUPS
#përcaktoni NUMROTARIES 4 #përcaktoni NUMBUTTONS 24 #përcaktoni NUMROWS 5 #përcaktoni NUMCOLS 5
butona 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}, };
strukt rotariesdef {
byte pin1; byte pin2; int ccwchar; int cwchar; gjendje e paqëndrueshme e nënshkruar char; };
rotariesdef rotaries [NUMROTARIES] {
{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };
#përcakto DIR_CCW 0x10
#përcakto DIR_CW 0x20 #përcakto 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_START_M, R_CW_BEGIN, R_CCW_BEGIN, R_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_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},}; #sele #percakto R_CW_FINAL 0x1 #percakto R_CW_BEGIN 0x2 #percakto R_CW_NEXT 0x3 #percakto R_CCW_BEGIN 0x4 #percakto R_CCW_FINAL 0x5 #percakto R_CCW_NEXT 0x6
const tabela e shenjuar e shenjës [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};
byte colPins [NUMCOLS] = {14, 16, 10, 9, 8};
Tastiera buttbx = Tastiera (makeKeymap (butonat), rowPins, colPins, NUMROWS, NUMCOLS);
Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, të rreme, të rreme, të rreme, të rreme, të rreme, të rreme, të rreme, të rreme, të rreme, të rreme, të rreme, të rreme);
void setup () {
Xhojstik.filloj (); rrotullues_init ();}
lak void () {
CheckAllEncoders ();
CheckAllButtons ();
}
i pavlefshëm CheckAllButtons (i pavlefshëm) {
nëse (buttbx.getKeys ()) {për (int i = 0; i
void rotary_init () {
për (int i = 0; i
procesor i pa firmosur rotary_pro (int _i) {
pinstate char unsigned = (digitalRead (rrotullon [_i].pin2) << 1) | digitalRead (rrotullon [_i].pin1); rrotullues [_i].stat = ttabela [rrotullues [_i].stat & 0xf] [kthesë]; kthimi (rrotullon [_i].stat & 0x30); }
i pavlefshëm CheckAllEncoders (i pavlefshëm) {për (int i = 0; i <NUMROTARIES; i ++) {
rezultat i nënshkruar i karbonit = procesi rrotullues (i); nëse (rezultati == DIR_CCW) {Joystick.setButton (rrotullohet .ccwchar, 1); vonesë (50); Joystick.setButton (rrotullon .ccwchar, 0); }; nëse (rezultati == DIR_CW) {Joystick.setButton (rrotullohet .cwchar, 1); vonesë (50); Joystick.setButton (rrotullon .cwchar, 0); }; }}
- Lidhni Arduino Pro Micro me kompjuterin tuaj duke futur kabllon USB
- Për të ngarkuar kodin zgjidhni llojin Arduino duke shkuar te Tools> Board:…> Arduino/Genuino Micro.
- Për të zgjedhur portën e duhur USB shkoni te Vegla> Port:> COM x (Arduino/Genuino Micro)
- Verifikoni skicën duke klikuar në ✓ në këndin e sipërm të majtë (nën Skedar)
- Shtypni → pranë tij për ta ngarkuar në Arduino
Hapi 8: Shtoni në pajisjen tuaj
Urime! Ju keni ardhur deri tani. Tani është koha për të garuar!
Recommended:
Simulimi i 2 -të i Raketës Sim: 3 Hapa
2d Rocket Landing Sim: Ju do të duhet të bëni një sfond, të vizatoni raketa dhe një tregues për të filluar (natyrisht që do t'ju duhet një lidhje interneti për të përdorur gërvishtjen) nëse thjesht doni të luani simulimin/ lojën, klikoni këtu, ose shkoni në https://scratch.mit.edu/projects/432509470
SIM900A 2G Modul + Hologram Kartë SIM = Kombinim fitues në Kategorinë "papastërti i lirë" ?: 6 hapa
SIM900A 2G Moduli + Hologrami Kartë SIM = Kombinim fitues në Kategorinë "Papastërti i lirë" ?: IoT, kryefjala e kësaj dekade, ndonjëherë hyn edhe në mendjet e njerëzve që e konsiderojnë veten rezistent ndaj modës, me mua mes tyre. Një ditë po shfletoja Internet dhe pashë një kompani për të cilën nuk kam dëgjuar kurrë më parë (Hologram) të dhurojë karta SIM
Paneli i ndërrimit të DIY Flight Sim: 7 hapa (me fotografi)
Paneli i ndërrimit të DIY Flight Sim: Pasi kalova shumë vite në komunitetin e fluturimit dhe u përfshiva në avionë gjithnjë e më të komplikuar, e gjeta veten të etur për aftësinë për të mbajtur duart në çelsat fizikë në vend që të përpiqesha të fluturoja me dorën e djathtë gjatë përdorimit të m
Afisho DIY Sim Racing Arduino: 3 hapa
DIY Sim Racing Display Arduino: Kjo është mënyra se si të ndërtoni një ekran USB Racing Sim Racing shumë të lehtë dhe të lirë me një Arduino UNO dhe një 3,5 " TFT Display. Ka një API për Assetto Corsa që merr të dhënat nga Memoria e Përbashkët e lojës e programuar në C# në Visual Studio, pastaj dërgoni
Sim Racing Button Box: 7 hapa (me fotografi)
Sim Racing Button Box: Një kuti me butona është një pajisje e përdorur në Sim Racing që ju lejon të caktoni butona, çelsa dhe çelësa për kontrolle të ndryshme të makinave. Caktimet e zakonshme të butonave janë gjëra të tilla si një buton fillestar, PTT, gropë kërkese, etj. Ndërprerësat e ndërrimit funksionojnë shkëlqyeshëm për fshirësit, headl