Სარჩევი:

Sim Racing Button Box: 8 ნაბიჯი
Sim Racing Button Box: 8 ნაბიჯი

ვიდეო: Sim Racing Button Box: 8 ნაბიჯი

ვიდეო: Sim Racing Button Box: 8 ნაბიჯი
ვიდეო: These Barbers Have Crazy Skills. God Level Barbers 2024, ნოემბერი
Anonim
Sim Racing ღილაკის ყუთი
Sim Racing ღილაკის ყუთი

კეთილი იყოს თქვენი მობრძანება რბოლის დამოკიდებულებში!

ამოიწურა თუ არა კლავიშები თქვენი მანქანის ყველა კონტროლის დასადგენად? თქვენ ალბათ გჭირდებათ ღილაკის ყუთი! ამ ინსტრუქციებში ჩვენ შევქმნით ერთს ნულიდან. ღილაკის ყუთში იქნება 32 (!) ღილაკის ხელმისაწვდომი მდგომარეობა. ამ ღილაკის ყუთის გამოსაყენებლად დამატებითი პროგრამული უზრუნველყოფა არ არის საჭირო. თქვენ ისწავლით თუ როგორ უნდა დააყენოთ ღილაკის მატრიცა და დაწეროთ (ან დააკოპიროთ) კოდი თქვენს Arduino– ზე ასატვირთად.

მნიშვნელოვანია იცოდეთ, რომ ღილაკის ყუთს არ აქვს ერთდროულად დაჭერილი ბევრი ღილაკის მხარდაჭერა.

Დავიწყოთ!

ნაბიჯი 1: მომზადება

მომზადება
მომზადება

ღილაკის ყუთის შესაქმნელად დაგჭირდებათ ინსტრუმენტები, ღილაკები და სხვა ერთეულები. თავისუფლად შექმენით ღილაკის ყუთი თქვენი სურვილისამებრ.

ელექტრონიკა:

  • ღილაკები
  • გადართვა
  • მბრუნავი კოდირებით
  • Arduino Pro Micro
  • მინი USB to USB კაბელი
  • მავთულები

ინსტრუმენტები:

  • საბურღი
  • Solder
  • კალიპერი
  • ხრახნები
  • საჭრელი
  • გასაღები

პროგრამული უზრუნველყოფა:

  • Arduino IDE
  • Photoshop/Paint (სურვილისამებრ; შესაძლებელია ხელით დახატვა)

სხვა:

  • დანართი (ყუთი; შესაძლებელია ყიდვა ან საბეჭდი 3D ბეჭდვა)
  • ნახშირბადის ვინილის შესაფუთი (სურვილისამებრ)
  • მბრუნავი კოდირების ღილაკები
  • გადასაფარებლის შეცვლა (სურვილისამებრ)
  • ეტიკეტის პრინტერი (სურვილისამებრ)
  • რეზინის გრომი

მას შემდეგ რაც თქვენ გაქვთ ყველა (ან საკმარისი დასაწყებად) ერთეულები, ჩვენ შეგვიძლია დავიწყოთ ღილაკის ყუთის განლაგების დიზაინი.

ნაბიჯი 2: შეიმუშავეთ ყუთის განლაგება

ამ ნაბიჯისათვის საჭირო ინსტრუმენტები:

Photoshop/Paint (სურვილისამებრ; შეიძლება დახატული იყოს ხელით)

ღილაკის ყუთის დიზაინი ყველასთვის განსხვავებული შეიძლება იყოს. თუმცა, ამ ინსტრუქციისთვის ჩვენ გამოვიყენებთ განლაგებას, რომელიც შედგება:

  • 4x სამი გზა გადამრთველები
  • 2x ერთი გზა გადამრთველების გადართვა
  • 10x მარტივი ღილაკი
  • 4x მბრუნავი კოდირება მარტივი ღილაკით

სამი გზა გადამრთველები:

გადართვის გადამრთველების მრავალი ტიპი არსებობს. ზოგი მომენტალურია და ზოგი რჩება ადგილზე სანამ არ დაიხურება. თქვენზეა დამოკიდებული, რომელი ტიპი გამოიყენოთ, მაგრამ მე გირჩევთ გამოიყენოთ მომენტალური გადამრთველები, რადგან ამ ღილაკს არ შეუძლია ერთდროულად მრავალი დასახიჩრებული ღილაკის ჩართვა. ვინაიდან გადამრთველები სამმხრივია (ჩართვა/გამორთვა/ჩართვა), ჩვენ გვაქვს რვა (4x2) ღილაკი.

გადამრთველების გადართვის ერთი გზა:

ეს შეიძლება ჩაითვალოს უბრალო ღილაკებად (გამორთვა/ჩართვა). ეს ასევე შეიძლება იყოს მომენტალური ან გადართვა. ისევ და ისევ, პირადი უპირატესობის მიხედვით, რომელი უნდა აირჩიოს. ეს გვაძლევს ორ (2) ხელმისაწვდომ ღილაკს.

მარტივი ღილაკები:

მსგავსი ღილაკების გამოყენება შესაძლებელია მათი უბრალოდ დაჭერით (გამორთვა/ჩართვა). ეს მოგვცემს ათი (10) ღილაკს.

მბრუნავი კოდირება მარტივი ღილაკით:

მბრუნავი კოდირების უმეტესობა (თუ არა ყველა) შეიძლება უსასრულოდ იქცეს ორივე მიმართულებით. ყოველ ჯერზე, როდესაც თქვენ ატრიალებთ მათ მიმართულებით, იგი გამოიყენება როგორც ღილაკის დაჭერა. ამ მბრუნავი კოდირების დაჭერა ასევე შესაძლებელია მათთვის სხვა ღილაკის მიცემით. მბრუნავი კოდირება იძლევა თორმეტ (12 = 4x3; ბრუნავს მარცხნივ/ბრუნავს მარჯვნივ/უბიძგებს) ღილაკებს.

32 ღილაკი:

მათი ერთობლიობა გვაძლევს 32 (8+2+10+12) ღილაკის დაჭერას!

კმაყოფილი ხართ განლაგებით? დროა დაიწყოს მშენებლობა!

ნაბიჯი 3: გაზომეთ და გაბურღეთ

გაზომეთ და გაბურღეთ
გაზომეთ და გაბურღეთ
გაზომეთ და გაბურღეთ
გაზომეთ და გაბურღეთ

ამ ნაბიჯისათვის საჭირო ინსტრუმენტები:

  • კალიპერი
  • საბურღი
  • ელექტრონიკა (ღილაკები, კონცენტრატორები და ა.

გაზომეთ ყველა ღილაკი, რომელიც გსურთ დაამატოთ თქვენს ღილაკს. თუ თქვენ გიჭირთ თქვენი ელექტრონიკის ზომების პოვნა, გამოიყენეთ (ციფრული) კალიპერი მათი დიამეტრის მისაღებად.

მონიშნეთ ელექტრონიკის ცენტრალური პუნქტები თქვენი გარსაცმის ზედაპირზე და გააკეთეთ ხვრელები სწორი ზომებით. ეძებთ, რომ დანართი ოდნავ ესთეტიურად სასიამოვნო გახადოთ? დაელოდეთ ღილაკების დამონტაჟებით!

მას შემდეგ რაც დაასრულებთ ხვრელების გაბურღვას, ჩვენ შეგვიძლია დავიწყოთ მისი გარეგნობა რეალურ ღილაკზე!

ნაბიჯი 4: მოათავსეთ ღილაკები, მბრუნავი და გადართვა

დააწესეთ ღილაკები, მბრუნავი და გადართვა
დააწესეთ ღილაკები, მბრუნავი და გადართვა
დააწესეთ ღილაკები, მბრუნავი და გადართვა
დააწესეთ ღილაკები, მბრუნავი და გადართვა

ამ ნაბიჯისათვის საჭირო ინსტრუმენტები:

  • ელექტრონიკა (ღილაკები, კონცენტრატორები და ა.
  • გასაღები
  • ნახშირბადის ვინილის შესაფუთი (სურვილისამებრ)
  • საჭრელი (სურვილისამებრ)

ყველა თქვენი ელექტრონიკა უნდა მოყვეს კაკალს, რომ დააჭიროს მას. Თუ არა; გაზომეთ ისინი და შეიძინეთ სწორი ზომის კაკალი.

თუ გსურთ გააუმჯობესოთ (პირადი აზრი) თქვენი ღილაკის ყუთის გარეგნობა, შეგიძლიათ გამოიყენოთ ნახშირბადის ბოჭკოვანი ვინილის შესაფუთი. გაჭერით იგი თქვენი გარსაცმის სახის (და ოდნავ უფრო დიდი) სახით, რომელშიც ხვრელები გააკეთეთ. წაისვით ვინილი და გადაახვიეთ კუთხეებში უკანა მხარეს. ეს დარწმუნდება, რომ შეფუთვა რჩება ადგილზე, როდესაც დახურულია. ჭარბი ვინილი, რომელიც ახლა ბლოკავს ხვრელებს, შეიძლება ამოღებულ იქნას საჭრელის გამოყენებით.

შეფუთვით (თუ არა) შეგიძლიათ მოათავსოთ ელექტრონიკაში, რომ შექმნათ ღილაკის ყუთის წინა ნაწილი. თქვენ უნდა გქონდეთ ისეთი რამ, რაც ნამდვილად ჰგავს უკვე! სამწუხაროდ, ჯერ არ მუშაობს…

ნაბიჯი 5: შეიმუშავეთ გაყვანილობის განლაგება

შეიმუშავეთ გაყვანილობის განლაგება
შეიმუშავეთ გაყვანილობის განლაგება

ამ ნაბიჯისათვის საჭირო ინსტრუმენტები:

Photoshop/Paint (სურვილისამებრ; შესაძლებელია ხელით დახატვა)

მატრიცის შექმნა:

მატრიცის გამოყენება დაგვიზოგავს დროს და ბევრ არასაჭირო გაყვანილობას და შედუღებას. მე თვითონ არ შევალ დეტალურად, მაგრამ შემოგთავაზებთ, რომ გადახედოთ ამ სტატიას, თუ არ ხართ მატრიცის კონცეფციის უცნობი.

შეიმუშავეთ საკუთარი მატრიცა ან გამოიყენეთ განლაგება ამ ინსტრუქციიდან. მატრიცაში ჩვენ გამოვიყენებთ ხუთ ჯგუფს. ჯგუფები დაკავშირებულია Arduino– ს შემდეგ პინუტებთან:

  • 15: ოთხი მბრუნავი კოდირება
  • A0: ხუთი ღილაკი
  • A1: ორი სამმხრივი გადართვა და ერთი დაჭერით ღილაკი
  • A2: ორი სამმხრივი გადართვა და ერთი დაჭერით ღილაკი
  • A3: ხუთი ღილაკი

ნაბიჯი 6: შედუღება

შედუღება
შედუღება
შედუღება
შედუღება

ამ ნაბიჯისათვის საჭირო ინსტრუმენტები:

  • გასაყიდი რკინა
  • Solder
  • ელექტრონიკა (დამონტაჟებულია თქვენს კორპუსზე)
  • Arduino Pro Micro
  • მავთულები

სურვილისამებრ:

ატვირთეთ კოდი პირველი საფეხურიდან, თუ შეშფოთება გაწუხებთ. ეს საშუალებას მოგცემთ შეამოწმოთ თქვენი კავშირები

ჩვენ გვსურს გამოვიყენოთ წინა საფეხურზე შექმნილი მატრიცა რეალურ ღილაკზე. გარკვეული დრო დაუთმეთ ამას, მით უმეტეს, თუ ეს თქვენი პირველი შედუღებაა.

რამდენიმე რჩევა:

  • გააკეთეთ ერთი ჯგუფი იმ დროს
  • დროდადრო შესამოწმებლად დაუკავშირეთ Arduino თქვენს კომპიუტერს
  • არ გაათბოთ პლასტიკური ღილაკები ძალიან, რადგან მათ შეუძლიათ დნობის და გაწყვეტის კავშირი
  • არ გამოიყენოთ ძალიან ბევრი solder, ნაკლები უკეთესია
  • გამოიყენეთ სხვადასხვა ფერის მავთულები თითოეული ჯგუფისათვის

ნაბიჯი 7: კოდის წერა

ამ ნაბიჯისათვის საჭირო ინსტრუმენტები:

  • Arduino IDE
  • ჯოისტიკის ბიბლიოთეკა
  • Keypad.h (Arduino IDE> ესკიზი> ბიბლიოთეკის ჩართვა> ბიბლიოთეკების მართვა …> მოძებნეთ კლავიატურა და დააინსტალირეთ ის, რომელიც შექმნილია მარკ სტენლის და ალექსანდრე ბრევიგის მიერ)

#ჩართეთ #ჩართეთ

#განსაზღვრა ENABLE_PULLUPS

#განსაზღვრეთ 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; არასტაბილური ხელმოუწერელი char სახელმწიფო; };

rotariesdef rotaries [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 HALF_STEP

#განსაზღვრეთ R_CCW_BEGIN 0x1 #განსაზღვრეთ R_CW_BEGIN 0x2 #განსაზღვრეთ R_START_M 0x3 #განსაზღვრეთ R_CW_BEGIN_M 0x4 #განსაზღვრეთ R_CCW_BEGIN_M 0x5 შეადგინეთ ხელმოუწერელი ჩამწერი ttable [6] [4]_ RB, R_ST, // RW 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},}; #დაასრულე თუ

byte rowPins [NUMROWS] = {21, 20, 19, 18, 15};

ბაიტი colPins [NUMCOLS] = {14, 16, 10, 9, 8};

კლავიატურა buttbx = კლავიატურა (makeKeymap (ღილაკები), rowPins, colPins, NUMROWS, NUMCOLS);

ჯოისტიკი_ ჯოისტიკი (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, ყალბი, ყალბი, ყალბი, ცრუ, ტყუილი, ტყუილი, ტყუილი, ტყუილი, ტყუილი, ყალბი, ყალბი, ყალბი);

void setup () {

ჯოისტიკი.დაწყება (); rotary_init ();}

ბათილი მარყუჟი () {

CheckAllEncoders ();

CheckAllButtons ();

}

void CheckAllButtons (ბათილია) {

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

void rotary_init () {

for (int i = 0; i

ხელმოუწერელი char rotary_process (int _i) {

ხელმოუწერელი char pinstate = (digitalRead (rotaries [_i].pin2) << 1) | digitalRead (მბრუნავი [_i]. pin 1); rotaries [_i]. სახელმწიფო = ttable [rotaries [_i]. სახელმწიფო & 0xf] [pinstate]; დაბრუნება (მბრუნავი [_i]. სახელმწიფო & 0x30); }

void CheckAllEncoders (void) {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 პორტის შესარჩევად გადადით Tools> Port:> COM x (Arduino/Genuino Micro)
  4. გადაამოწმეთ ესკიზი დაჭერით ✓ ზედა მარცხენა კუთხეში (ფაილის ქვეშ)
  5. დააჭირეთ მის გვერდით to რომ ატვირთოთ არდუინოში

ნაბიჯი 8: დაამატეთ თქვენს მოწყობილობას

დაამატეთ თქვენს მოწყობილობას
დაამატეთ თქვენს მოწყობილობას

გილოცავთ! შენ აქამდე მოხვედი. ახლა დროა რბოლა!

გირჩევთ: