Агуулгын хүснэгт:

Sim Racing товчны хайрцаг: 8 алхам
Sim Racing товчны хайрцаг: 8 алхам

Видео: Sim Racing товчны хайрцаг: 8 алхам

Видео: Sim Racing товчны хайрцаг: 8 алхам
Видео: #iphone утсаа алга болгосон ч санаа битгий зовоорой 👌 2024, Долдугаар сарын
Anonim
Sim Racing товчлуурын хайрцаг
Sim Racing товчлуурын хайрцаг

Sim уралдааны донтогчдыг тавтай морилно уу!

Та машиныхаа бүх удирдлагыг газрын зураг дээр харуулахын тулд товчлуурууд дуусч байна уу? Танд товчлуурын хайрцаг хэрэгтэй байж магадгүй юм! Энэхүү зааварт бид эхнээс нь нэгийг бүтээх болно. Товчлуурын хайрцагт 32 (!) Боломжтой товчлуурын төлөв байх болно. Энэ товчлуурыг ашиглахын тулд нэмэлт програм хангамж шаардлагагүй болно. Та товчлуурын матрицыг тохируулах, Arduino -д байршуулах кодыг бичих (эсвэл хуулах) талаар сурах болно.

Товчлуурын хайрцаг нь нэгэн зэрэг дарагдсан олон товчлуурыг дэмждэггүй гэдгийг мэдэх нь чухал юм.

Эхэлцгээе!

Алхам 1: бэлтгэл

Бэлтгэл ажил
Бэлтгэл ажил

Товчны хайрцгийг бий болгохын тулд танд зарим хэрэгсэл, товчлуур болон бусад зүйлс хэрэгтэй болно. Таны хүсэлд нийцүүлэн товчлуурын хайрцгийг бүтээгээрэй.

Электроник:

  • Товчлуурууд
  • Унтраана
  • Ротари кодлогч
  • Arduino Pro Micro
  • Мини USB -ээс USB кабель
  • Утас

Хэрэгсэл:

  • Өрөмдлөг
  • Гагнуур
  • Диаметр хэмжигч
  • Халив
  • Таслагч
  • Түлхүүр

Програм хангамж:

  • Arduino IDE
  • Photoshop/Paint (заавал биш, гараар зурах боломжтой)

Бусад:

  • Хаалт (хайрцаг; худалдаж авах эсвэл захиалгаар 3D хэвлэх боломжтой)
  • Нүүрстөрөгчийн винил боолт (заавал биш)
  • Ротари кодлогч товчлуурууд
  • Хавтас солих (заавал биш)
  • Шошго хэвлэгч (заавал биш)
  • Резинэн бэхэлгээ

Танд бүх зүйл (эсвэл эхлэхэд хангалттай) байгаа бол бид товчлуурын хайрцгийн зохион байгуулалтыг эхлүүлж болно.

Алхам 2: Хайрцагны зохион байгуулалтыг хий

Энэ алхамд шаардлагатай багаж хэрэгсэл:

Photoshop/Paint (заавал биш, гараар зурах боломжтой)

Товчлуурын хайрцгийн загвар нь хүн бүрт өөр байж болно. Гэсэн хэдий ч энэхүү зааварчилгааны хувьд бид дараахь хэсгээс бүрдсэн зохион байгуулалтыг ашиглах болно.

  • 4 удаа гурван талт шилжих унтраалга
  • 2 удаа нэг чиглэлд шилжих унтраалга
  • 10 дахин энгийн товчлуур
  • Энгийн товчлуур бүхий 4х эргэлдэх кодлогч

Гурван талын шилжүүлэгч:

Маш олон төрлийн унтраалга байдаг. Зарим нь түр зуурынх, зарим нь буцааж солих хүртэл байрандаа үлддэг. Аль төрлийг ашиглах нь танд хамаатай, гэхдээ энэ товчлуурын хайрцаг нь олон тооны олон товчлуурыг нэгэн зэрэг идэвхжүүлэх боломжгүй тул түр зуурын унтраалга ашиглахыг зөвлөж байна. Шилжүүлэгч нь гурван чиглэлтэй (асаах/унтраах/асаах) тул бид найман (4х2) товчлууртай.

Шилжүүлэгчийг солих нэг арга:

Эдгээрийг энгийн товчлуур гэж үзэж болно (унтраах/асаах). Эдгээр нь түр зуурын эсвэл сольж болно. Дахин хэлэхэд, хувийн сонголтоос аль нь сонгох вэ. Эдгээр нь бидэнд боломжтой 2 (2) товчлуурыг өгдөг.

Энгийн товчлуурууд:

Ийм товчлуурыг дарахад л/унтраах/асаахад ашиглаж болно. Эдгээр нь бидэнд арван (10) товчлуур өгөх болно.

Энгийн товчлуур бүхий эргэдэг кодлогч:

Ихэнх (бүгд биш бол) эргэлддэг кодлогчдыг хоёр чиглэлд хязгааргүй эргүүлж болно. Та тэдгээрийг чиглэл рүү эргүүлэх болгондоо товчлуур дарахад ашигладаг. Эдгээр эргэлдэгч кодлогчдыг дарж өөр товчлуур өгч болно. Эргэдэг кодлогч нь арван хоёр (12 = 4х3; зүүн тийш эргүүлэх/баруун тийш эргүүлэх/түлхэх) товчлуурыг өгдөг.

32 товчлуур:

Тэд бүгд хамтдаа байх нь бидэнд 32 (8+2+10+12) товчлуур дарах боломжийг олгодог!

Байршилд сэтгэл хангалуун байна уу? Барилга барьж эхлэх цаг боллоо!

Алхам 3: Хэмжих ба өрөмдөх

Хэмжих ба өрөмдөх
Хэмжих ба өрөмдөх
Хэмжих ба өрөмдөх
Хэмжих ба өрөмдөх

Энэ алхамд шаардлагатай багаж хэрэгсэл:

  • Диаметр хэмжигч
  • Өрөмдлөг
  • Электроник (товчлуур, унтраалга гэх мэт)

Товчлуурын хайрцагт нэмэхийг хүсч буй бүх товчлуурыг хэмжинэ. Хэрэв та цахилгаан хэрэгслийнхээ хэмжээсийг олоход асуудалтай байгаа бол диаметрийг нь (дижитал) хэмжигч ашиглан ашиглаарай.

Хашааныхаа нүүрэн дээр электроникийн төв цэгүүдийг тэмдэглээд зөв хэмжээтэй нүх өрөмд. Хашаагаа гоо зүйн хувьд илүү тааламжтай болгохыг хүсч байна уу? Товчлууруудыг тохируулаад хүлээнэ үү!

Цооног өрөмдөж дууссаны дараа бид жинхэнэ товчлуурын хайрцаг шиг болж чадна.

Алхам 4: Товчлуур, эргэлт ба унтраалга зэргийг тохируулна уу

Товчлуур, эргэлт ба унтраалга зэргийг тохируулна уу
Товчлуур, эргэлт ба унтраалга зэргийг тохируулна уу
Товчлуур, эргэлт ба унтраалга зэргийг тохируулна уу
Товчлуур, эргэлт ба унтраалга зэргийг тохируулна уу

Энэ алхамд шаардлагатай багаж хэрэгсэл:

  • Электроник (товчлуур, унтраалга гэх мэт)
  • Түлхүүр
  • Нүүрстөрөгчийн винил боолт (заавал биш)
  • Таслагч (заавал биш)

Таны бүх электрон төхөөрөмжүүд самартай байх ёстой. Хэрвээ үгүй бол; тэдгээрийг хэмжиж, зөв хэмжээтэй самар худалдаж аваарай.

Хэрэв та товчлуурын хайрцгийнхаа гадаад төрхийг сайжруулахыг хүсч байвал карбон файбер винил боолт ашиглаж болно. Цооног өрөмдсөн бүрхүүлийнхээ нүүрний хэмжээгээр (мөн арай том хэмжээтэй) хайчилж ав. Винил түрхээд булангаараа ар тал руу нь боож өгнө. Энэ нь хаалтыг хаах үед боолт хэвээр байх болно. Одоо нүхийг хааж буй хэт их винилийг таслагч ашиглан арилгаж болно.

Боодол өмссөн (эсвэл ороогүй) товчлуурын хайрцгийнхаа урд хэсгийг бүрдүүлэхийн тулд та электрон төхөөрөмжид суулгаж болно. Та одоо үнэхээр нэг юм шиг харагдаж байгаа зүйлтэй байх ёстой! Харамсалтай нь хараахан ажиллаагүй байна …

Алхам 5: Утасны зохион байгуулалтыг зохион бүтээх

Утасны схемийг зохион бүтээх
Утасны схемийг зохион бүтээх

Энэ алхамд шаардлагатай багаж хэрэгсэл:

Photoshop/Paint (заавал биш, гараар зурах боломжтой)

Матриц үүсгэх:

Матрицыг ашиглах нь бидэнд цаг хэмнэх бөгөөд шаардлагагүй утас, гагнуур хийх болно. Би өөрөө нэг их дэлгэрэнгүй ярихгүй, гэхдээ хэрэв та матрицын тухай ойлголттой холбоогүй бол энэ нийтлэлийг үзэхийг танд зөвлөж байна.

Өөрийнхөө матрицыг зохиох эсвэл энэхүү зааврын зааварчилгааг ашиглана уу. Матрицад бид таван бүлгийг ашиглах болно. Бүлгүүд Arduino дээрх дараах холболттой холбогдсон байна.

  • 15: дөрвөн эргэдэг кодлогч
  • A0: таван товчлуур
  • A1: хоёр гурван чиглэлд шилжих ба нэг товчлуур
  • А2: хоёр гурван чиглэлд шилжих ба нэг товчлуур
  • А3: таван товчлуур

Алхам 6: Гагнах

Гагнах
Гагнах
Гагнах
Гагнах

Энэ алхамд шаардлагатай багаж хэрэгсэл:

  • Гагнуурын төмөр
  • Гагнуур
  • Электроникс (таны хашаанд суурилуулсан)
  • Arduino Pro Micro
  • Утас

Нэмэлт:

Хэрэв та гагнах талаар санаа зовж байгаа бол кодоо дараагийн алхамаас эхлээд байршуулна уу. Энэ нь холболтыг шалгах боломжийг танд олгоно

Бид өмнөх алхам дээр боловсруулсан матрицыг товчлуурын хайрцагт ашиглахыг хүсч байна. Үүнд хэсэг хугацаа зарцуулаарай, ялангуяа хэрэв та анх удаа гагнах гэж байгаа бол.

Зарим зөвлөмж:

  • Тухайн үед нэг бүлэг хий
  • Arduino -г компьютер дээрээ холбож, үе үе туршиж үзээрэй
  • Хуванцар товчлуурыг хайлуулж, холболтыг эвдэж болзошгүй тул хэт халааж болохгүй
  • Хэт их гагнуур бүү хэрэглээрэй, бага байх нь дээр
  • Бүлэг/газар бүрт өөр өөр өнгийн утас ашиглана уу

Алхам 7: Код бичих

Энэ алхамд шаардлагатай багаж хэрэгсэл:

  • Arduino IDE
  • Joystick номын сан
  • 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 {

байт зүү1; байт зүү2; int ccwchar; int cwchar; дэгдэмхий гарын үсэг зураагүй char төлөв; };

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 const гарын үсэг зураагүй хүснэгт [6] [4] RST_ST_RIN_RIN 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},}; #өөр #тодорхойлох 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 гарын үсэг зураагүй хүснэгт [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

байт rowPins [NUMROWS] = {21, 20, 19, 18, 15};

байт colPins [NUMCOLS] = {14, 16, 10, 9, 8};

Keybad buttbx = Товчлуур (makeKeymap (товчлуурууд), rowPins, colPins, NUMROWS, NUMCOLS);

Joystick_ Joystick (JOYSTICK_DEFAULT_REPORT_ID, JOYSTICK_TYPE_JOYSTICK, 32, 0, худал, хуурамч, худал, хуурамч, хуурамч, худал, хуурамч, худал, хуурамч, худал);

хүчингүй тохиргоо () {

Joystick.begin (); эргэдэг_инит ();}

void loop () {

CheckAllEncoders ();

CheckAllButtons ();

}

CheckAllButtons хүчингүй (хүчингүй) {

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

хүчингүй rotary_init () {

for (int i = 0; i

гарын үсэггүй char rotary_process (int _i) {

тэмдэггүй char pinstate = (digitalRead (эргэлтүүд [_i]. pin2) << 1) | digitalRead (эргэлтүүд [_i].pin1); эргэлтүүд [_i].state = ttable [эргүүлэгчид [_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. USB кабелийг залгаж Arduino Pro Micro -г компьютерт холбоно уу
  2. Кодыг байршуулахын тулд Хэрэгслүүд> Самбар: …> Arduino/Genuino Micro руу очиж Arduino төрлийг сонгоно уу.
  3. Зөв USB портыг сонгохын тулд Tools> Port:> COM x (Arduino/Genuino Micro) руу очно уу.
  4. Зүүн дээд буланд байгаа ✓ дээр дарж ноорогоо шалгаарай (Файлын доор)
  5. Arduino -д байршуулахын тулд хажууд байгаа → дарна уу

Алхам 8: Риг дээрээ нэмнэ үү

Тоног төхөөрөмждөө нэмнэ үү
Тоног төхөөрөмждөө нэмнэ үү

Баяр хүргэе! Та маш хол ирсэн. Одоо уралдах цаг боллоо!

Зөвлөмж болгож буй: