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

KerbalController: Кербал сансрын пуужингийн тоглоомын тусгай хяналтын самбар: 11 алхам (зурагтай)
KerbalController: Кербал сансрын пуужингийн тоглоомын тусгай хяналтын самбар: 11 алхам (зурагтай)

Видео: KerbalController: Кербал сансрын пуужингийн тоглоомын тусгай хяналтын самбар: 11 алхам (зурагтай)

Видео: KerbalController: Кербал сансрын пуужингийн тоглоомын тусгай хяналтын самбар: 11 алхам (зурагтай)
Видео: I finally built my DREAM Kerbal Space Program controller 🤩 2024, Долдугаар сарын
Anonim
KerbalController: Кербал сансрын пуужингийн тоглоомын тусгай хяналтын самбар
KerbalController: Кербал сансрын пуужингийн тоглоомын тусгай хяналтын самбар

Яагаад KerbalController бүтээх ёстой вэ?

Яагаад гэвэл товчлуур дарах, физик унтраалга шидэх нь хулганаа дарахаас хамаагүй чухал юм. Ялангуяа энэ нь том улаан хамгаалалтын унтраалга байх үед та эхлээд тагийг нь онгойлгож, пуужингаа зэвсэглэхийн тулд унтраалгыг дарж, тооллогыг эхлүүлээд 3.. 2.. 1.. бид хөөрөх боломжтой!

KerbalController гэж юу вэ?

KerbalController нь хяналтын самбар, Simpit (загварчилсан бүхээг), DSKY (дэлгэцийн гар) эсвэл өөрчлөн тохируулсан джойстик гэж нэрлэгддэг бөгөөд энэ нь алдартай пуужин бүтээх, нисэх, дэлбэрэхгүй байхыг удирдах зориулалттай оролтын төхөөрөмж юм. Тоглоомын Kerbal Space Program нь статусын гэрэл, телеметрийн дэлгэц ба/эсвэл түлш хэмжигч гэх мэт тоглоомын нэмэлт гаралттай хослуулсан болно.

Энэхүү өвөрмөц бүтцэд джойстик ашиглан эргүүлэх, орчуулах хяналт, тохируулагч гулсагч, статусын гэрэл бүхий олон товчлуур, LED түлш хэмжигч, олон горимтой телеметрийн LCD дэлгэц гэх мэт оролт багтсан болно.

Энэхүү гарын авлагад ижил хуулбарыг бүрдүүлэх, эсвэл өөрийн хүссэнээр тохируулга, сайжруулалт хийхэд шаардлагатай бүх зүйлийг багтаасан болно. Үүнд:

  • хэсгүүдийн жагсаалт
  • дижитал дизайны зураг лазер огтлоход бэлэн байна
  • утас холбох заавар
  • Arduino код
  • Дагалдах KSP залгаасын код
  • Маш олон зураг

Нисэхэд бэлэн үү? Явцгаая!

Алхам 1: Багаж хэрэгсэл

Багаж хэрэгсэл
Багаж хэрэгсэл

Энэхүү барилгын ажилд танд хэрэгтэй хамгийн чухал хэрэгсэл бол гагнуурын төмөр юм. Үүнд зарим гагнуур, гагнуурын төмрийн үзүүрийг цэвэрлэх зориулалттай металл хөвөн, "гуравдагч гар" орно.

Бусад хэрэгсэл бол утас тайлагч, утас таслагч, хясаа, жижиг хэмжээтэй халив юм.

Алхам 2: эд анги ба үндсэн зохион байгуулалт

Хэсэг ба үндсэн зохион байгуулалт
Хэсэг ба үндсэн зохион байгуулалт
Хэсэг ба үндсэн зохион байгуулалт
Хэсэг ба үндсэн зохион байгуулалт

Хамгийн сайн хянагч хийх нь яг ямар товчлуур, унтраалга хийхийг хүсч байгаагаа сонгох гэсэн үг юм. Учир нь хүн бүр тоглоомыг өөр өөрөөр тоглодог. Зарим хүмүүс онгоцоор нисч, SSTO-г (тойрог замаас нэг үе шаттай) бүтээдэг. Бусад нь сансрын станцуудын роверыг илүүд үздэг. Мөн зарим нь гайхалтай тэсрэлт хийхийг хүсдэг!

Энэ нь бүх хэсгүүдийг ойролцоогоор хэмжээгээр нь зурж, вектор зурах програм (Affinity Designer эсвэл Inkscape гэх мэт) эсвэл 3D зургийн програм (SketchUp гэх мэт) дээр чирэхэд тусалдаг.

Хэрэв та илүү хялбар бүтээхийг хүсч байвал миний хянагчийг хуулж аваад хавсаргасан хэсгүүдийн жагсаалтад орсон хэсгүүдийг авах боломжтой.

Алхам 3: Прототип үүсгэх (заавал биш)

Прототип үүсгэх (заавал биш)
Прототип үүсгэх (заавал биш)
Прототип үүсгэх (заавал биш)
Прототип үүсгэх (заавал биш)

Хэрэв та миний хянагчийг хуулж байгаа бол энэ алхамыг алгасаж болно.

Хэрэв та захиалгат зохион байгуулалт хийх гэж байгаа бол эхлээд гутлын хайрцгийг ашиглан үндсэн удирдлагатай ажлын загварыг бүтээхийг зөвлөж байна. Энэ нь үндсэн удирдлагын байрлалыг нарийн тааруулахад тусалдаг. Эцсийн бүтээн байгуулалтад цаг хугацаа, мөнгөө үргэлжлүүлэн оруулахаасаа өмнө өөртөө итгэх итгэлийг олж авах нь бас сайхан байдаг. Би уг тоглоомыг гутлынхаа хайрцгийн хянагчтай нэлээд удаан тоглосон. Авсан эд ангиудыг ашиглан ямар нэгэн зүйлийг эвдэх нь Кербалын арга биш гэж үү?

Алхам 4: Цахилгааны утас тавих талаархи зөвлөмжүүд

Утас холбох талаархи зөвлөмжүүд
Утас холбох талаархи зөвлөмжүүд
Утас холбох талаархи зөвлөмжүүд
Утас холбох талаархи зөвлөмжүүд
Утас холбох талаархи зөвлөмжүүд
Утас холбох талаархи зөвлөмжүүд

Прототип хийхдээ эцсийн хашаа руу орохдоо гагнуурыг нь салгахыг хүсэхгүй байгаа бол бүх товчлууруудаа битгий гагна. Би зарим утсыг товчлуур дээр гагнаж, гагнуургүй талхны хавтанг ашиглан Arduino -т түр зуурын холболт хийсэн.

Бүх цахилгаан хэрэгслийг эцсийн нүүрэн тал руу холбохдоо 5V ба газардуулгын гогцоо үүсгэх замаар эмх замбараагүй байдлыг багасгах боломжтой. Та бүх газардуулгыг шууд Arduino -тай холбодоггүй, харин нэг товчлуур дээр газардуулгыг дараагийн товчлуур дээр холбож, эргэн тойронд нь гогцоо хийнэ. Эцэст нь та Arduino -той холбогдоно уу.

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

Утасны урт нь утсыг хэт их орооцолдохгүй байхын тулд богинохон тэнцвэржүүлэх үйлдэл юм (энэ нь хайрцгийг хаахаас сэргийлж магадгүй юм) ба эд ангиудыг гагнах замаас холдуулах хангалттай урт юм. бусад хэсгүүдийг оруулж, дибаг хийх явцад боолтоо чангалж, мультиметрээ тойруулан цоол.

Алхам 5: Ласеркутын нүүрний хавтанг авах

Ласеркутын нүүрний хавтанг авах
Ласеркутын нүүрний хавтанг авах
Ласеркутын нүүрний хавтанг авах
Ласеркутын нүүрний хавтанг авах
Ласеркутын нүүрний хавтанг авах
Ласеркутын нүүрний хавтанг авах

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

Affinity Designer болон InkScape гэх мэт бусад вектор зурах програмуудад тохирсон форматтай миний нүүрний хавтангийн загварыг хавсаргав.

Би Нидерландад Lichtzwaard -д нүүрний хавтанг лазертай хийсэн. Тэд хойш хаалттай байна, үйл ажиллагаа Laserbeest авсан байна, Би хайрцаг лазер хайчилж байсан. Дэлгүүр бүрт дизайны хувьд өөр өөр шаардлага тавигддаг тул илгээхээсээ өмнө дэлгүүрээсээ лавлаарай. Тэд бараг үргэлж дизайны тусламжийг цагийн үнээр санал болгодог.

Анхаарах ёстой чухал зүйлүүд:

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

Бүгдийг сайтар шалгасны дараа лазерын дэлгүүрт илгээнэ үү. Нидерландад 40-50 евро төлөөд маргааш нь энэ сайхан үр дүнг шуудангаар хүлээж авна уу!

Алхам 6: Товчлуур ба унтраалга холбох

Товчлуур ба унтраалга холбох
Товчлуур ба унтраалга холбох
Товчлуур ба унтраалга холбох
Товчлуур ба унтраалга холбох
Товчлуур ба унтраалга холбох
Товчлуур ба унтраалга холбох

Ихэнх унтраалга, товчлуурууд нь C, NO, NC, +, -гэсэн шошготой байдаг. Тэднийг Arduino -той хэрхэн холбох талаар эндээс үзнэ үү.

Энгийн унтраалга эсвэл товчлуур:

  • Газар C (нийтлэг)
  • Arduino дижитал зүү NO (ихэвчлэн нээлттэй)

Бид дижитал зүүг INPUT_PULLUP хэлбэрээр тохируулах болно, энэ нь Arduino 5V -ийн зүүг хадгалж, зүү хэзээ газардсан болохыг илрүүлж оролт гэж үзнэ гэсэн үг юм. Шилжүүлэгч эсвэл товчлуур дээрх NO холбогч нь ихэвчлэн нээлттэй байдаг тул хэлхээ холбогдоогүй байна. Та товчлуур дарах эсвэл унтраалгыг асаахад хэлхээ хаагдаж, зүү нь газарддаг.

LED бүхий товчлуур:

Товчлуурын хэсэг нь дээр дурдсантай ижил байна. LED -ийн хувьд та нэмэлт утас хавсаргана.

  • Газар - (сөрөг)
  • Arduino дижитал зүү + (эерэг)

Энэ хэсэг нь нэлээд ойлгомжтой юм. Бид Arduino зүүг ердийн OUTPUT горимд ашиглах болно.

LED бүхий аюулгүй байдлын унтраалга:

Эдгээр нь арай өөр бөгөөд унтраалгын байрлалаас үл хамааран LED -ийг хянах боломжийг олгодоггүй. LED нь унтраалгыг асаахад л үргэлж асдаг. Тэд +, - ба дохионы холбогчтой.

  • Газар - (сөрөг)
  • 5V + (эерэг)
  • Arduino дижитал зүү S (дохио)

Бид Arduino зүүг INPUT горимд ашиглах болно. Шилжүүлэгчийг асаахад LED асаж, дохионы зүү өндөр болно.

Алхам 7: Joysticks болон LCD -ийг холбох

Joysticks болон LCD -ийг холбох
Joysticks болон LCD -ийг холбох
Joysticks болон LCD -ийг холбох
Joysticks болон LCD -ийг холбох
Joysticks болон LCD -ийг холбох
Joysticks болон LCD -ийг холбох

LCD

LCD дэлгэц нь маш энгийн. Энэ нь зөвхөн хүч, газар, цуваа хэрэгтэй.

  • 5V VDD
  • Газрын GND
  • Arduino Tx PIN RX

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

Тоглоомын саваа

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

  • Газар
  • Арчигч Arduino аналог оролтын зүү
  • 5V

Холбогчдыг энэ дарааллаар хавсаргаж болно. Буцааж авах гэж бүү санаа зов, арчигч нь үргэлж дунд байдаг. Хэрэв цахилгаан ба газар солигдвол бид дараа нь Arduino кодын тэнхлэгийг эргүүлж болно.

Утаснууд нь таны джойстик дээр өөр өнгөөр будаж болох боловч ерөнхийдөө ижил өнгөтэй хоёр утас нь дээд талын товчлуурт зориулагдсан болно. Улаан эсвэл улбар шар нь 5V, хар эсвэл хүрэн нь Газардуулгатай. Үлдсэн утас бол арчигч юм.

Алхам 8: LED баарны түлш хэмжигч

LED бар түлш хэмжигч
LED бар түлш хэмжигч
LED бар түлш хэмжигч
LED бар түлш хэмжигч
LED бар түлш хэмжигч
LED бар түлш хэмжигч

Зүгээр дээ. Энэ бол бүхэл бүтэн барилгын хамгийн хэцүү хэсэг юм. Анхны бүтээн байгуулалтаа алгасах эсвэл сайжруулаад надад мэдэгдээрэй.

Би шатахуун хэмжигч болгон ашиглахыг хүсч буй эдгээр гайхалтай LED баарыг авсан. Дээд LED нь цэнхэр, дараа нь ногоон, улбар шар, эцэст нь улаан байна. Хэрэв бид нэг LED -ийг нэг дор асааж чадвал энэ нь манай сансрын хөлгийн түлшний түвшинг илэрхийлж болно.

Би эхлээд жолооч IC -ийг тэдэнтэй хамт захиалсан. Тэд маш сайн ажилладаг! Та цэгийн горим эсвэл бар горимыг сонгож болох бөгөөд энэ нь аналог оролтын хүчдэлийг нэг LED (цэг) эсвэл олон тооны LED (баар) хэлбэрээр харуулах болно. Гэхдээ Arduino нь аналог хүчдэл гаргадаггүй! Мөн аналог хүчдэлийг дуурайх замаар LED -ийг бүдгэрүүлэх боломжийг олгодог ХОУХ -ны онцлог нь эдгээр IC драйверуудтай ажиллахгүй байна.

Төлөвлөгөөний 2 дээр: ээлжийн бүртгэл. Та Arduino гарааны иж бүрдэл бүр дээр эдгээртэй ажиллах боломжтой болно. Та тэдгээрийн талаар эндээс илүү ихийг мэдэх боломжтой:

Төлөвлөгөө нь түлшний түвшинг LED баар дээрх түлшний түвшинг илэрхийлэх зохих бит болгон хувиргах явдал юм. 5 түлш хэмжигчтэй бол дүүргэсэн бүх түлшний түвшин 10000000001000000001000000000001000000000100000000 байх ёстой. Монопропеллант хоосон байвал 1000000000100000000100100000000000000000000001 болно.

Хангалттай энгийн сонсогдож байна. Зарим хүндрэлүүд байдаг. Ээлжийн регистр нь 8 тээглүүртэй бол LED баар нь 10 LED байна. Би 56 гаралт авахын тулд 7 ээлжийн бүртгэл ашигладаг. Тэдгээрийг холбохдоо би хаа нэгтээ IC зүүг алгассан (бид үүнийг кодонд оруулах болно). Би нэг LED баарыг нөгөө талаас нь холбож өгдөг (бид үүнийг кодоор засах болно). Өө, Ардуино математик бидэнд заримдаа дугуйрсан алдаа үүсгэдэг хөвөгч цэгийн арифметикийг ашигладаг (бид үүнийг кодоор засах болно). Би кодыг дараагийн алхамд хуваалцах болно гэдгийг анхаарна уу.

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

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

Эцсийн үр дүн: 5 LED баарыг тэжээхэд шаардлагатай 50 дижитал тээглүүрийн оронд 3 болгож бууруулсан: цагийн дохио, түгжээний дохио, өгөгдлийн дохио.

Алхам 9: Хашаа барих

Хашаа барих
Хашаа барих
Хашаа барих
Хашаа барих
Хашаа барих
Хашаа барих
Хашаа барих
Хашаа барих

Эдгээр лого ашиглан өшөө авах цаг боллоо!

Би логог зохих вектор зураг болгон хөрвүүлсэн бөгөөд ингэснээр тэд маш сайн сийлсэн болно. Энэ удаад надад өөр асуудал байна. Шургийн нүх нь хайрцгийг зөв угсрах зөв газруудад байдаггүй. Би хайрцагт 6 мм хэмжээтэй БСХС -ийг ашигласан. Харамсалтай нь хадаасыг ирмэгээр нь шургуулах нь тэднийг салгахад хүргэдэг. Би үүнийг нэмэлт модны хаягдал, цавуугаар хакердсан. Маш олон цавуу.

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

Хэцүү байсан ч эцсийн үр дүн нь маш сайн харагдаж байна.

Алхам 10: Програм хангамж ба туршилт

Image
Image
Програм хангамж ба туршилт
Програм хангамж ба туршилт

Kerbal Space програмтай хянагчийг ажиллуулахын тулд дараах програмыг татаж авна уу.

KSP залгаас:

ZIP файл бол эмхэтгэсэн залгаас юм. Үлдсэн хэсэг нь залгаасыг өөрчлөх, өөрийн хувилбарыг эмхэтгэхэд ашиглаж болох эх код юм. GamaData лавлах дахь залгаасыг задлах.

Arduino код:

Arduino IDE ашиглан кодоо хянагч дээрээ Arduino Mega дээр байршуулна уу.

Arduino IDE -ийн баруун доод буланг хараад хянагч ямар цуваа порт асаалттай байгааг олж мэдээрэй (жишээ нь /dev/cu.usbmodem1421). Plugin лавлахаас config.xml файлыг нээгээд таны портыг дүүргэсэн эсэхийг шалгаарай. Одоо та явахад бэлэн байна!

Жижиг асаах/унтраах товчлуурыг зүүн дээд талд нь ON байрлалд тавьснаар та дибаг хийх горимыг ашиглаж болно. LCD нь хэд хэдэн үсэг харуулах ёстой. Үсэг бүр нь товчлуур эсвэл унтраалгыг илэрхийлдэг бөгөөд товчлуурыг дарах эсвэл унтраах үед жижиг ба том үсгийн хооронд шилждэг. Xyz шилжүүлэгчийг Xyz болгон тохируулах (асаах/унтраах/унтраах) нь тохируулагч гулсагчийн утгыг харуулна. xYz нь Орчуулгын (зүүн талд) joystick -ийн джойстик утгыг харуулдаг. xyZ нь эргүүлэх (баруун) джойстик юм.

LCD горимууд

Дараах дэлгэцийн горимуудыг x, y, z унтраалгыг ашиглан LCD дэлгэц дээр сонгож болно

TakeOff горим: гадаргуугийн хурд / хурдатгал (G)

Орбитын горим: Апоапсис + Апоапсис / Периапсис + Периапсис хүртэлх хугацаа

Маневр хийх горим: Дараагийн маневр хийх цэг / Дараагийн зангилааны Delta-V-ийн үлдэх хугацаа

Уулзалтын горим: Зорилтот хүртэлх зай / Зорилтот түвшинтэй харьцуулахад хурд

Дахин нэвтрэх горим: Хэт халалтын хувь (хамгийн их) / удаашрах (G)

Нисэх горим: Өндөр / Махны дугаар

Буух горим: Радар өндөр / босоо хурд

Нэмэлт горим: хараахан хэрэгжүүлээгүй байна

Янз бүрийн горимуудын үйл ажиллагааг харахын тулд зааварчилгааны төгсгөлд байгаа видеог үзээрэй.

Алхам 11: Сар руу

Image
Image
Сар луу!
Сар луу!

KSP -ийг асааж, дуртай хөлөг онгоцоо ачаалж, эсвэл шинэ сав хий, тэгээд яваарай!

Зөвлөмж:

  • Шатныхаа хувьд захиалгат үйлдлийн 5 -р бүлгийг ашиглана уу
  • Нарны зай хураагуураа тохируулах арга хэмжээний 6 -р бүлгийг ашиглаарай
  • Шүхрээр буух зориулалттай үйлдлийн 7 -р бүлгийг ашиглаарай
  • Пуужин хөөргөх систем болон тохирох салгагчийг Abort үйлдлийн бүлэгт хуваарил
  • Тайзны товчлуурыг дарах хэрэгтэй гэдгийг бүү мартаарай
Arduino тэмцээн 2017
Arduino тэмцээн 2017
Arduino тэмцээн 2017
Arduino тэмцээн 2017

2017 оны Arduino тэмцээнд дэд байр эзэлсэн

Анх удаа зохиогчийн уралдаан 2018
Анх удаа зохиогчийн уралдаан 2018
Анх удаа зохиогчийн уралдаан 2018
Анх удаа зохиогчийн уралдаан 2018

2018 оны анхны зохиогчдын уралдаанд дэд байр эзэллээ

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