Sim Racing Button Box: 8 քայլ
Sim Racing Button Box: 8 քայլ
Anonim

Բարի գալուստ sim racing addicts!

Ձեր մեքենայի բոլոր կառավարման սարքերը քարտեզագրելու համար մնացե՞լ եք առանցքային հանգույցներ: Դուք հավանաբար կոճակների տուփի կարիք ունեք: Այս Instructable- ում մենք զրոյից կստեղծենք մեկը: Կոճակների տուփը կունենա 32 (!) Կոճակների հասանելի վիճակներ: Այս կոճակի տուփը օգտագործելու համար լրացուցիչ ծրագրակազմ չի պահանջվում: Դուք կսովորեք, թե ինչպես կարգավորել կոճակի մատրիցան և գրել (կամ պատճենել) ձեր Arduino- ում վերբեռնվող ծածկագիրը:

Կարևոր է իմանալ, որ կոճակների տուփը չի ապահովում միաժամանակ սեղմված շատ կոճակներ:

Եկեք սկսենք!

Քայլ 1: Նախապատրաստում

Կոճակների տուփը ստեղծելու համար ձեզ հարկավոր են որոշ գործիքներ, կոճակներ և այլ տարրեր: Ազատորեն ստեղծեք կոճակի տուփը ձեր ցանկությամբ:

Էլեկտրոնիկա:

  • Կոճակներ
  • Toggles
  • Պտտվող կոդավորիչներ
  • Arduino Pro Micro
  • Մինի USB- ից USB մալուխ
  • Լարերը

Գործիքներ:

  • Գայլիկոն
  • Sոդող
  • Կալիպեր
  • Պտուտակահաններ
  • Դանակ
  • Բանալին

Softwareրագրային ապահովում:

  • Arduino IDE
  • Photoshop/Paint (ըստ ցանկության, կարելի է նկարել ձեռքով)

Այլ:

  • Պարիսպ (տուփ; կարելի է գնել կամ հատուկ տպել 3D)
  • Ածխածնի վինիլային փաթեթ (ըստ ցանկության)
  • Պտտվող կոդավորիչի կոճակներ
  • Անջատիչ ծածկոցներ (ըստ ցանկության)
  • Պիտակի տպիչ (ըստ ցանկության)
  • Ռետինե գորգ

Բոլոր տարրերը (կամ սկսելու համար բավարար) ունենալուց հետո մենք կարող ենք սկսել ձևավորել կոճակների տուփի դասավորությունը:

Քայլ 2. Նախագծեք տուփի դասավորությունը

Այս քայլի համար անհրաժեշտ գործիքներ

Photoshop/Paint (ըստ ցանկության, կարելի է նկարել ձեռքով)

Կոճակների տուփի դիզայնը կարող է տարբեր լինել բոլորի համար: Այնուամենայնիվ, այս Instructable- ի համար մենք կօգտագործենք դասավորություն, որը բաղկացած է.

  • 4x եռակողմ անջատիչ անջատիչներ
  • 2 անգամ միակողմանի անջատիչներ
  • 10x պարզ սեղմիչ կոճակներ
  • 4x պտտվող կոդավորիչ `պարզ կոճակով

Երեք ճանապարհի անջատիչներ

Կան միացման անջատիչների բազմաթիվ տեսակներ: Ոմանք ակնթարթային են, իսկ ոմանք մնում են տեղում մինչև հետ չվերադառնալը: Ձեզանից է կախված, թե որ տիպն օգտագործել, բայց ես խորհուրդ եմ տալիս օգտագործել ակնթարթային անջատիչներ, քանի որ այս կոճակը չի կարող միաժամանակ ունենալ բազմաթիվ բազմակի կոճակներ: Քանի որ միացման անջատիչները երեք ուղղությամբ են (միացված/անջատված/միացված), մենք ունենք ութ (4x2) կոճակ:

Անջատիչների փոխարկման մեկ եղանակ

Դրանք կարելի է համարել պարզ կոճակներ (անջատված/միացված): Սրանք կարող են լինել նաև ակնթարթային կամ միացված: Կրկին, մինչև անձնական նախասիրության ընտրությունը: Սրանք մեզ տալիս են երկու (2) մատչելի կոճակներ:

Պարզ սեղմման կոճակներ

Նման կոճակները կարող են օգտագործվել պարզապես սեղմելով դրանք (անջատված/միացված): Սրանք մեզ կտան տաս (10) կոճակ:

Պտտվող կոդավորիչներ ՝ պարզ սեղմիչ կոճակով

Պտտվող կոդավորիչների մեծ մասը (եթե ոչ բոլորը) կարող են անվերջ պտտվել երկու ուղղություններով: Ամեն անգամ դրանք պտտելիս այն օգտագործվում է որպես կոճակ սեղմել: Այս պտտվող կոդավորիչները կարող են նաև սեղմվել ՝ տալով նրանց մեկ այլ կոճակ: Պտտվող կոդավորիչները տալիս են տասներկու (12 = 4x3; պտտել ձախ/պտտել աջ/սեղմել) կոճակներ:

32 կոճակ

Բոլորը միասին ունենալը մեզ տալիս է կոճակների 32 (8+2+10+12) սեղմում:

Գո՞հ եք դասավորությունից: Buildingամանակն է սկսել շինարարությունը:

Քայլ 3: Չափել և փորել

Այս քայլի համար անհրաժեշտ գործիքներ

  • Կալիպեր
  • Գայլիկոն
  • Էլեկտրոնիկա (կոճակներ, անջատիչներ և այլն)

Չափեք բոլոր կոճակները, որոնք ցանկանում եք ավելացնել ձեր կոճակի տուփին: Եթե դժվարանում եք գտնել ձեր էլեկտրոնիկայի չափերը, դրանց տրամագիծը ստանալու համար օգտագործեք (թվային) տրամաչափ:

Նշեք էլեկտրոնիկայի կենտրոնական կետերը ձեր պարիսպի երեսին և անցքեր կատարեք ճիշտ չափերով: Փնտրու՞մ եք պարիսպը մի փոքր ավելի գեղագիտական տեսք ունենալ: Սպասեք կոճակները տեղադրելով:

Երբ փոսերը հորատելուց հետո մենք կարող ենք այն սկսել նմանվել իսկական կոճակների տուփի:

Քայլ 4: Տեղադրեք կոճակները, պտտվողները և անջատիչները

Այս քայլի համար անհրաժեշտ գործիքներ

  • Էլեկտրոնիկա (կոճակներ, անջատիչներ և այլն)
  • Բանալին
  • Ածխածնի վինիլային փաթեթ (ըստ ցանկության)
  • Դանակ (ըստ ցանկության)

Ձեր բոլոր էլեկտրոնիկաները պետք է ունենան ընկույզ ՝ այն տեղում ամրացնելու համար: Եթե ոչ; չափեք դրանք և գնեք ճիշտ չափի ընկույզ:

Եթե ցանկանում եք բարելավել (անձնական կարծիք) ձեր կոճակի տուփի տեսքը, կարող եք օգտագործել ածխածնային մանրաթելից պատրաստված վինիլային փաթաթան: Կտրեք այն ձեր պարիսպի դեմքի չափով (և մի փոքր ավելի մեծ), որի մեջ անցքեր եք փորել: Կիրառեք վինիլը և փաթեթավորեք այն անկյուններով դեպի հետևը: Սա կապահովի, որ փաթեթավորումը մնա տեղում, երբ պարիսպը փակ է: Չափից ավելի վինիլը, որն այժմ փակում է անցքերը, կարելի է հեռացնել ՝ օգտագործելով դանակ:

Փաթեթը (կամ ոչ) դնելով, կարող եք տեղավորվել էլեկտրոնիկայի մեջ `ձեր կոճակի տուփի առջևը ստեղծելու համար: Դուք այժմ պետք է ունենաք այնպիսի բան, որն իսկապես արդեն նման է մեկին: Lyավոք, դեռ չի աշխատում…

Քայլ 5. Նախագծեք էլեկտրագծերի դասավորությունը

Այս քայլի համար անհրաժեշտ գործիքներ

Photoshop/Paint (ըստ ցանկության, կարելի է նկարել ձեռքով)

Մատրիցայի ստեղծում

Մատրիցայի օգտագործումը կխնայի մեր ժամանակը և շատ ավելորդ լարերի և զոդման աշխատանքներ: Ես ինքս շատ մանրամասն չեմ անդրադառնա, բայց կառաջարկեմ, որ դուք նայեք այս հոդվածին, եթե անհամապատասխան եք մատրիցա հասկացությանը:

Նախագծեք ձեր սեփական մատրիցան կամ օգտագործեք այս հրահանգի դասավորությունը: Մատրիցայում մենք կօգտագործենք հինգ խումբ: Խմբերը միացված են Arduino- ի հետևյալ pinouts- ին.

  • 15: չորս պտտվող կոդավորիչ
  • A0: հինգ կոճակ
  • A1. Երկու եռակողմ միացում և մեկ կոճակ
  • A2. Երկու երեք ուղղությամբ միացում և մեկ կոճակ
  • A3: հինգ սեղմիչ կոճակ

Քայլ 6: Sոդում

Այս քայլի համար անհրաժեշտ գործիքներ

  • Oldոդման երկաթ
  • Sոդող
  • Էլեկտրոնիկա (տեղադրված է ձեր պատյանում)
  • Arduino Pro Micro
  • Լարերը

Լրացուցիչ:

Եթե դուք մտահոգված եք զոդման մասին, առաջին հերթին վերբեռնեք ծածկագիրը հաջորդ քայլից: Սա թույլ կտա ստուգել ձեր կապերը:

Մենք ցանկանում ենք նախորդ քայլում նախագծված մատրիցան կիրառել բուն կոճակների տուփի վրա: Որոշ ժամանակ տրամադրեք դրա համար, հատկապես, եթե սա առաջին անգամն է, ինչ զոդում եք:

Որոշ խորհուրդներ

  • Կատարեք մեկ խումբ ժամանակին
  • Arduino- ն միացրեք ձեր համակարգչին `երբեմն փորձարկելու համար
  • Պլաստիկ կոճակները շատ մի տաքացրեք, քանի որ դրանք կարող են հալվել և խզել կապերը
  • Մի օգտագործեք շատ զոդ, ավելի քիչ ավելի լավ է
  • Յուրաքանչյուր խմբի/գրունտի համար օգտագործեք տարբեր գույնի լարեր

Քայլ 7: Գրեք օրենսգիրքը

Այս քայլի համար անհրաժեշտ գործիքներ.

  • Arduino IDE
  • Oyոյստիկի գրադարան
  • Keypad.h (Arduino IDE> Էսքիզ> Ներառել գրադարանը> Կառավարել գրադարանները …> Որոնել ստեղնաշար և տեղադրել այն, որը ստեղծվել է Մարկ Սթենլիի և Ալեքսանդր Բրևիգի կողմից)

#ներառել #ներառել

#սահմանել ԱՆՇԱՐ_ՊԱԼՈUԹՅՈՆՆԵՐ

#սահմանել NUMROTARIES 4 #սահմանել NUMBUTTONS 24 #սահմանել NUMROWS 5 #սահմանել NUMCOLS 5

բայթ կոճակներ [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}, };

կառուցել rotariesdef {

բայթ pin1; բայթ pin2; int ccwchar; int cwchar; անկայուն անստորագիր նշանի վիճակ; };

rotariesdef պտտվող [NUMROTARIES] {

{0, 1, 24, 25, 0}, {2, 3, 26, 27, 0}, {4, 5, 28, 29, 0}, {6, 7, 30, 31, 0}, };

#սահմանեք DIR_CCW 0x10

#սահմանեք DIR_CW 0x20 #սահմանեք R_START 0x0

#ifdef ԿԻՍ_ՔԱՅԼ

#սահմանել R_CCW_BEGIN 0x1 #սահմանել R_CW_BEGIN 0x2 #սահմանել R_START_M 0x3 #սահմանել R_CW_BEGIN_M 0x4 #սահմանել R_CCW_BEGIN_M 0x5 կազմել չստորագրված լիցքավորիչ սեղան [6] [4]_ RB, RBST, #RB, RBST, #RW, RTST, 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},}; #այլ #սահմանել R_CW_FINAL 0x1 #սահմանել R_CW_BEGIN 0x2 #սահմանել R_CW_NEXT 0x3 #սահմանել R_CCW_BEGIN 0x4 #սահմանել R_CCW_FINAL 0x5 #սահմանել 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},}; #էնդիֆ

բայթ rowPins [NUMROWS] = {21, 20, 19, 18, 15};

բայթ colPins [NUMCOLS] = {14, 16, 10, 9, 8};

Ստեղնաշարի հետույք = ստեղնաշար (makeKeymap (կոճակներ), rowPins, colPins, NUMROWS, NUMCOLS);

Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ, կեղծ);

void setup () {

Joystick.begin (); rotary_init ();}

դատարկ շրջան () {

CheckAllEncoders ();

CheckAllButtons ();

}

անվավեր CheckAllButtons (անվավեր) {

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

void rotary_init () {

համար (int i = 0; i

անստորագիր char rotary_process (int _i) {

անստորագիր char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (պտտվող [_i].pin1); պտտվողներ [_i].state = ttable [rotaries [_i].state & 0xf] [pinstate]; վերադարձ (պտտվող [_i]. պետություն & 0x30); }

անվավեր CheckAllEncoders (անվավեր) {for (int i = 0; i <NUMROTARIES; i ++) {

անստորագիր char արդյունք = rotary_process (i); if (արդյունք == DIR_CCW) {Joystick.setButton (պտտվում է .ccwchar, 1); ուշացում (50); Joystick.setButton (պտտվող .ccwchar, 0); }; if (արդյունք == DIR_CW) {Joystick.setButton (պտտվում է .cwchar, 1); ուշացում (50); Joystick.setButton (պտտվող .cwchar, 0); }; }}

  1. Միացրեք ձեր Arduino Pro Micro- ն ձեր համակարգչին `միացնելով USB մալուխը
  2. Կոդը վերբեռնելու համար ընտրեք Arduino- ի տեսակը ՝ անցնելով Գործիքներ> Տախտակ.…> Arduino/Genuino Micro:
  3. USBիշտ USB պորտը ընտրելու համար գնացեք Գործիքներ> Պորտ:> COM x (Arduino/Genuino Micro)
  4. Հաստատեք ուրվագիծը ՝ կտտացնելով վերևի ձախ անկյունում (Ֆայլի տակ)
  5. Սեղմեք դրա կողքին գտնվող → -ին ՝ այն Arduino- ում վերբեռնելու համար

Քայլ 8: Ավելացրեք ձեր սարքավորմանը

Շնորհավորում եմ: Դուք այնքան հեռու եք եկել: Հիմա ժամանակն է մրցել:

Խորհուրդ ենք տալիս: