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

Lapcade аркад хянагч: 6 алхам (зурагтай)
Lapcade аркад хянагч: 6 алхам (зурагтай)

Видео: Lapcade аркад хянагч: 6 алхам (зурагтай)

Видео: Lapcade аркад хянагч: 6 алхам (зурагтай)
Видео: DIY Arcade Controller for Tekken 7! 2024, Оны зургадугаар сарын
Anonim
Lapcade аркад хянагч
Lapcade аркад хянагч

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

Зоосон машин тоглоомын цаг өнгөрчээ, гэхдээ та өөрийн зочны өрөөнд сонгодог аркад тоглоомыг мэдрэх боломжтой хэвээр байна. Тиймээс, би энд Lapcade -ийг толилуулж байна. Хэрэв та надтай адилхан бөгөөд тоглохоос илүүтэйгээр барилгын ажил хийх дуртай бол энэ бүтээн байгуулалт танд таалагдах болно. Хэрэв танд доорх "2 -р хувилбарын санаа" хэсэгт ороогүй асуулт, санал байвал сэтгэгдлээ үлдээнэ үү.

Алхам 1: Тойм

Тойм
Тойм
Тойм
Тойм

Энэ юу вэ?

Нэгдүгээрт, Lapcade гэж юу болохыг анхаарна уу.

  • Энэ бол тоглоомын консол биш юм.
  • Энэ нь тоглоомгүй, тоглоом ачаалах, тоглох чадваргүй байдаг.
  • Энэ нь телевизор эсвэл дэлгэцтэй холбогдоогүй байна.

Lapcade бол Bluetooth гар юм. Өөр юу ч биш, юу ч биш.

Энэ талаар эргэлзээтэй байсан тул би үүнийг авч үзлээ. Надад ямар тоглоом ачаалах вэ, ямар төрлийн видео интерфэйс ашигладаг вэ гэх мэт олон асуулт гарч ирсэн. Энэ нь таны холбосон компьютерээс бүрэн хамааралтай бөгөөд энэ тал дээр тэнгэр бол хязгаар юм. Хэрэв таны төхөөрөмж Bluetooth гарыг хүлээн авах боломжтой бол Lapcade түүнтэй ажиллах ёстой. Би үүнийг туршиж үзээгүй боловч гар төхөөрөмжид холбогдсон EZ-Key (доор тайлбарласан) ашигласан бусад төслүүдийг харсан. Тиймээс онолын хувьд та энэ төхөөрөмжийг Windows, Linux, ChromeOS, MAC гэх мэт бүх компьютерт, мөн Raspberry Pi, Android, iOS болон Bluetooth v2.1 дэмждэг бусад компьютерт холбох боломжтой. Гэсэн хэдий ч түлхүүр кодыг өөрчлөх шаардлагатай байж магадгүй юм.

Урьдчилсан хувилбар 1

Эхэндээ би Adafruit Bluefruit EZ -Key bluetooth HID (Хүний интерфэйс төхөөрөмж - бодох гар) нэртэй бүтээгдэхүүнийг олсон бөгөөд энэ нь танил товчлууруудыг холбож, товчлуурыг гар шиг илгээх боломжийг надад олгожээ. EZ-Key дээр суурилсан хянагчийг анх бүтээхдээ би энгийн бөгөөд шулуун урагшаа хянагч бүтээх зааварчилгааг дагасан бөгөөд энэ нь маш сайн ажилласан. Би хянагчийг хүнд модон жаазанд хэдэн сарын турш асуудалгүй ашигласан. Гэсэн хэдий ч та 12 оролтоор хязгаарлагддаг бөгөөд EZ-Key оролтын тээглүүрийг дахин програмчлахгүйгээр төхөөрөмжөөр дамжуулсан түлхүүр кодыг өөрчлөх боломжгүй юм.

Би суулгасан тоглоомуудаа үзүүлэхийн тулд Коди медиа төвөө ашиглаж байхдаа олон хянагч / алсын удирдлага ашиглахгүйгээр медиа төвийг удирдах болон тоглоом тоглох хооронд шилжихийг хүссэн юм. Би мөн төхөөрөмжийг сольж өгөхийг хүсч байсан тул зүүн гартай хүү маань хүссэнээрээ ашиглах боломжтой болсон.

Би мөн төхөөрөмжийг цэнэглэхийн тулд 4 АА батерейг ашиглаж байсан бөгөөд бага чадлын горимгүй байсан. Батерейг ашиглаагүй байсан ч ганц хоёр хоногийн дотор хатаана.

Тиймээс, найзынхаа уриалгаар би ижил хянагчийн програмчлагдах хувилбарыг бүтээхээр шийдсэн бөгөөд энэ нь олон төхөөрөмжийг удирдахын тулд ижил төхөөрөмжийг ашиглах боломжийг олгодог бөгөөд үүнийг зүүн гараараа "эргүүлж" болно. ашигладаг бөгөөд зөөврийн компьютерын хайрцагт байсан бөгөөд энэ нь миний одоогийн 10 фунт уусмалаас хамаагүй бага байв.

Шинэчлэлт хийх цаг болсон.

Хувилбар 1 DesignProject Зорилго:

  • Уян хатан
  • Цэнэглэдэг
  • Зүүн ба баруунчуудын хувьд
  • Утас байхгүй
  • Хөнгөн

Энэхүү шинэ загварыг уян хатан байлгахыг хүссэн. Туршилт эсвэл өөрчлөлт хийх шаардлагатай болгонд бүрэлдэхүүн хэсгүүдийг дахин програмчлахгүйгээр хяналтыг шууд өөрчлөх боломжтой байх ёстой. Энэ нь "горим" -ыг сонгохын тулд хянагч дээр интерфейс байх шаардлагатай гэсэн үг юм. Товчлуур ба джойстикийн байрлал бүр өөр өөр түлхүүр кодтой байх ёстой. Өөр өөр горимуудыг сонгохын тулд ижил хяналтыг ашиглах шаардлагатай болно.

EZ-Key нь бодит цаг хугацаанд шууд програмчлагдаагүй тул дараагийн шийдэл нь функцийг удирдахын тулд Arduino шиг хянагч ашиглах явдал юм. EZ-Key нь түлхүүр кодыг Bluetooth-ээр дамжуулан компьютерт дамжуулахад ашиглагддаг. Би Arduino Pro Mini -ийг НҮБ -тэй шууд нийцэж байгаа тул (миний туршлагатай байсан) авсаархан хэмжээтэй учраас сонгосон.

Би Lapcade -ийн өмнөх үеийнхтэй адил шинэ хайрцагтай батерейтай харьцахыг хүсээгүй тул би литиум полимер цэнэглэдэг батерей, цэнэглэгч/хангамжийн самбар ашиглахаар шийдсэн. Энэ нь би ердийн USB цэнэглэгч ашиглах боломжтой гэсэн үг юм. Энэ нь батерей дуусах бүрт би хэргийг нээх шаардлагагүй болно гэсэн үг юм. EZ-Key болон PowerBoost 500C хоёулаа хосолсон байдал, батерейны үзүүлэлт багатай байхын тулд хянагчийн дээд хэсэгт шилжүүлэх шаардлагатай үзүүлэлтүүдтэй. Би дизайны хувьд зарим LED -ийг нэмж өгсөн бөгөөд ингэснээр эдгээр хялбар байдлын үзүүлэлтүүдийг ашиглалтын явцад хэрэглэгчдэд тусгаж чадна.

Миний дизайны туршилт боловсорч гүйцэхийн хэрээр миний анхны санаануудын зарим нь миний бодож байсан шиг биш болохыг олж мэдэв. Жишээлбэл, PowerBoost дээрх LBO үзүүлэлт нь микроконтроллертой холбогдсон үед ажиллахгүй байна. Энэ нь төхөөрөмжийг "унтраасан" эсвэл унтраасан үед батерейгаас гүйдэл дамжуулах боломжийг олгодог бөгөөд LBO гэрэл асаж, асаалттай байх болно. Adafruit форумын бусад гишүүд энэ асуудалтай тулгарч, аналог оролт дээр батерейны хүчдэлийг дээжлэх илүү сайн шийдлийг санал болгов. Хүчдэл тодорхой хэмжээнд хүртэл буурсны дараа батерейг унтрах гэж байгааг хэрэглэгчдэд мэдэгдэх цаг болжээ.

Алхам 2: Танд хэрэгтэй зүйл

Цахим эд ангиудын жагсаалт

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

1 Arduino Pro Mini 5V - Би авсаархан тул Pro -д дуртай. Та өгсөн кодын дагуу дурын Uno pin/тасалдалтай нийцтэй самбар ашиглаж болно

1 Adafruit Bluefruit EZ -Key bluetooth HID - Дээр дурдсанчлан энэ бол түлхүүр кодыг үндсэн компьютерт дамжуулах боломжийг олгодог bluetooth HID юм.

1 MCP23017 - i2c 16 оролт/гаралтын порт өргөтгөгч - Энэхүү чип нь I2C холбооны протоколоор дамжуулан Arduino -д 16 оролтыг нэмж оруулахад ашигладаг.

1 Adafruit PowerBoost 500 + цэнэглэгч - Энэ нь Lapcade -ийг асаах, LiPo цэнэглэх зориулалттай цахилгаан хяналтын самбар юм.

1 литийн полимер батерей (би 2500 мАч ашигладаг байсан, гэхдээ та илүү өндөр / бага багтаамж ашиглаж болно)

1 8 -Аркад тоглоомын джойстик - Жойстикуудын талаархи "2 -р хувилбарын талаархи бодол" хэсгийг үзнэ үү

9 Зоосон машины товчлуур - Төрөл бүрийн өнгө, дэлгэцийн хээ

2 гэрэлтдэг түр зуурын товчлуурууд - Би эдгээр 2 товчлуурыг Center 4 ба 5 товчлууруудад ашигласан бөгөөд Adafruit -ийн: Улаан (Төв 4), Цэнхэр (Төв 5)

1 Гэрэлтүүлэгтэй түгжих товчлуур Би үүнийг Adafruit: Green -ийн цахилгаан товчлуурт ашигласан

2 LED нь хосолсон дохио болон батерейны цэнэг багатай эсэхийг тодорхойлоход хэрэглэгддэг. Би RadioShack гэсэн 2760270 ба 2760271 гэсэн хоёр хэсгийг ашигласан

1 16 x 2 LCD дэлгэц

1 I2C/SPI LCD үүргэвч - 16x2 дэлгэцтэй I2C холболт хийхэд ашигладаг.

1 самбар холбох USB өргөтгөл кабель - PowerBoost -ийн micro -b USB холбогчийг кабинетийн хананд сунгахад ашигладаг.

1 Adafruit Perma-Proto Бүрэн хэмжээтэй Breadboard ПХБ-Шаардлагагүй боловч байнгын суулгалтыг маш хялбар болгодог.

5 220 Ом эсэргүүцэл

7 1K Ом эсэргүүцэл

2 2.2К Ом эсэргүүцэл

1 4.7K Ом эсэргүүцэл

18 #10 Эмэгтэй хүрз холбогч - Зоосон машины товчлуурын контактуудтай холбогдох зориулалттай. Товчнууд нь эцэст нь элэгдэх тул гагнуур хийхийг зөвлөж байна.

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

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

  • IC залгуур - 28 зүү 0.3 инчийн чипэнд зориулагдсан
  • IC залгуур - 28 зүү 0.6 "чипийн хувьд
  • 0.1 "Эмэгтэй толгой (хамгийн багадаа 1 36 зүү толгой)

Засгийн газрын эд анги:

  • 3 12 x 24 1/8 инчийн хус хавтан
  • 1 12 x 24 1/8 инчийн тунгалаг нийлэг хавтан

Файлууд:

  • Lapcade V1.xlsx - Доор дурдсан хүснэгт нь хэлхээний холболттой.
  • LapcadeV1-code.zip - Энэ төсөлд зориулагдсан Arduino кодыг агуулсан зип файл.
  • Lapcade_v1.zip - Засгийн газрын svg зургийг агуулсан зип файл.
  • LapcadeV1-Circuit_Diagram_Large.zip - Доор үзүүлсэн fritzing хэлхээний диаграмын өндөр нарийвчлалтай хувилбарыг агуулсан зип файл.

Илүү их нөөцтэй холбоосууд:

  • Adafruit Bluefruit EZ-Key Documentation
  • Adafruit PowerBoost 500 + Баримтжуулалт
  • I2C/SPI LCD үүргэвчтэй баримт бичиг
  • MCP23017 I2C порт өргөтгөгчийн баримт бичиг
  • Adafruit MCP23017 Arduino номын сан

Алхам 3: Чуулган - Засгийн газрын танхим

Чуулган - Засгийн газрын танхим
Чуулган - Засгийн газрын танхим
Чуулган - Засгийн газрын танхим
Чуулган - Засгийн газрын танхим
Чуулган - Засгийн газрын танхим
Чуулган - Засгийн газрын танхим
Чуулган - Засгийн газрын танхим
Чуулган - Засгийн газрын танхим

Би бас цохих чадвартай маш хөнгөн жинтэй хайрцагтай болохыг хүсч байсан. Материалыг хэт чамин болгохгүй бол хөнгөн жин нь нимгэн, нимгэн нь ихэвчлэн хэврэг болдог. Lapcade -ийн үндсэн хэрэглэгч нь товчлуурыг "дарах", джойстикийг маш их урам зоригтой "залах" дуртай миний хүү байх магадлалтай. Тэрээр юмаа хаяхгүй байх талаар сайн боловч хэдхэн сарын дотор үйлдвэрлэлийн зориулалттай микро унтраалгыг нэг джойстикоор элэгдүүлж чаджээ.

Энэ асуудлыг даван туулахын тулд, Lapcade нь 20 өргөнтэй тул миний дизайныг дээд ба зүүн баруун талыг бэхэлсэн хоёр босоо хавиргаар нэмж оруулав. Хуурай суурилуулах үед загвар нь дээр нь тавигдсан 70 фунт номыг тэсвэрлэх чадвартай байв. Нэг удаа наасан. Хайрцаг нь илүү бат бөх болсон. Зүссэн материалыг хүлээн авсны дараа би бүх хавтангуудыг ажиллуулж байгаа эсэхийг нь шалгаж, дараа нь бага зэрэг зүлгэж, агаарыг нь тоосоор арчиж, хэсгүүдийг хооронд нь холбохын тулд модон цавуу хэрэглэв.

Доорх зурган дээрх номнуудыг шинэхэн наасан хэсгүүдийг хэвтэх хүртэл шахалт үзүүлэх зорилгоор байрлуулсан байна. Цавуу эдгэрсний дараа би ирмэгийг нь зүлгэв. Миний загвар нь самбарыг санаатайгаар нөхсөн бөгөөд ингэснээр тэдгээр нь буланд бага зэрэг наалдана. Энэ нь зүлгүүрийн үеийг хэт их оруулахгүйгээр буланг нь дугуйруулах боломжийг надад олгоно.

Гадаргууг цэвэрлэсний дараа би хэд хэдэн давхар полиуретан түрхсэн бөгөөд энэ нь давхаргын хооронд эмчлэх боломжийг олгодог. Үр дүн нь нийлэг ёроолтой, хөнгөн жинтэй модон хайрцаг байв. Би анхнаасаа цэвэр тунгалаг хайрцаг авахыг хүсч байсан боловч тэр надад хусны "туршилтын" хэсгүүдийг илгээхэд би тэр даруй бодлоо өөрчилсөн. Энэ нь зөвхөн хөнгөн биш, харин кабинетийн тоглоомын санаа руу буцах сайхан алхам байв. Svg файлууд доор байна.

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

Өөр нэг тэмдэглэл: Би LCD дэлгэцийн хэсгийг зурахдаа хэмжихдээ гартаа байсан дэлгэцээ ашигласан. Би зураг зурж, дараа нь эд ангиудыг уг хайрцагт хийх хооронд би анхны LCD дэлгэцээ өөр төсөлд ашиглаж, солих захиалга өгсөн. Эндээс харахад хоёр дахь нүхний бэхэлгээний нүх нь анхныхаас арай өөр байсан бөгөөд доторлогоогүй байв. Тиймээс, материалыг огтлохоосоо өмнө анхааралтай байгаарай, танд байгаа хэсгүүд зураг дээрх нүхэнд таарч байгаа эсэхийг сайтар шалгаж үзээрэй.

Гурав дахь тэмдэглэл: Би ашиглахад саад болохгүйн тулд хаана байрлуулахаа сайн мэдэхгүй байсан тул USB зургийн кабелийн огтлолыг анхны зураг дээр оруулаагүй болно. Би дараа нь зүүн талын нүхийг хайчилж, ойролцоох зургуудаас "Lapcade" гэсэн үгийг харж болно. 2 -р хувилбарт цэнэглэх порт өөр байрлалд байх болно.:)

Алхам 4: Ассемблер - Электроник

Ассемблер - Электроник
Ассемблер - Электроник
Ассемблер - Электроник
Ассемблер - Электроник
Ассемблер - Электроник
Ассемблер - Электроник
Ассемблер - Электроник
Ассемблер - Электроник

Эхлээд дээр үзүүлсэн утаснуудын диаграммыг авч үзье.

Энд анхаарах ёстой хамгийн эхний зүйл бол талхны хавтангийн цахилгаан ба газрын төмөр зам юм. Цэнхэр шугамтай төмөр зам нь газардуулга (-), улаан шугамтай төмөр зам нь хүч (+) юм. Энэ бол стандарт боловч джойстик (хар утас) -ын нийтлэг шугам нь газардуулгатай биш харин тэжээлд холбогдсон тул би үүнийг тэмдэглэж байна. Fritzing -д би конвенцийн өнгө гэхээсээ илүү утсан джойстикийг ашигласан бөгөөд энэ нь зарим нэг төөрөгдөл үүсгэж магадгүй гэж бодсон юм.

Бүрэлдэхүүн хэсгүүдийн холболт

Холболт бүрийг энд урт хэлбэрээр оруулахыг оролдохын оронд (Arduino аналог зүү 0 нь 220 Ом эсэргүүцэлтэйгээр PowerBoost Bat зүүгээр дамждаг) би бүрэлдэхүүн хэсгийн үүднээс бүх холболтыг агуулсан хүснэгт үүсгэсэн. Тиймээс хүснэгтийн Arduino таб дээрээс APM A0 -> 2.2K OHM -> PB Bat, PowerBoost таб дээр PB BAT -> 2.2K OHM -> APM A0 -ийг харах болно. Энэхүү төсөлтэй холбоотой бүх файлуудын талаар доорх нөөцийн хэсгийг үзнэ үү.

Хүснэгтийн талаархи өөр нэг тэмдэглэл бол зарим төхөөрөмжүүд хоёр холболтын баганыг харуулдаг. Энэ нь зүүтэй нэгээс олон холболтыг харуулах зорилготой юм. Жишээлбэл, нийтлэг утаснаас бусад джойстик холболт бүр нь доош татах эсэргүүцэл ашиглан порт сунгагч нь өндөр эсвэл бага дохиог хүлээн авдаг. Үүнийг Joystick 2 -д харуулахын тулд та нэг холболтын хоёр баганыг MCP 21 зүү рүү, нөгөө нь резистороор газардуулаад 21 -р залгуурт холбох хоёр баганыг харах болно. Үүнийг баримтжуулах илүү сайн арга зам байгаа гэдэгт би итгэлтэй байна, гэхдээ та энэ талаар миний хийх арга барилд гацсан байх гэж би айж байна.:)

Зоосон машин товчлуурууд нь нийтлэг (com), ихэвчлэн нээлттэй (үгүй), ихэвчлэн хаалттай (nc) контакттай байдаг. Эдгээр товчлуур бүрийн хувьд би com болон nc холболтыг ашиглаж байна.

Алхам 5: Код

Код
Код

Юуны өмнө би зээлийг зохих газарт нь өгөх ёстой. Би Lapcade -ийг кодлохдоо дараах нийтлэлд ихээхэн найдсан.

learn.adafruit.com/convert-your-model-m-keyboard-to-bluetooth-with-bluefruit-ez-key-hid Бенжамин Гулд сайн бичсэн, баримтжуулсан төсөлд онцгой талархал илэрхийлье!

Тиймээс энэ төслийн гол цөм нь гар юм. Компьютерийн үүднээс авч үзвэл Lapcade бол зүгээр л bluetooth-ээр холбогдсон гар бөгөөд EZ-Key нь маш сайн байдаг. Энэ нь Bluetooth -ийн нарийн төвөгтэй протокол, цаг хугацаа, кодыг авч, тэдгээрийг багтаасан бөгөөд ингэснээр arduino -той хийх ёстой зүйл бол түлхүүр кодыг илгээх явдал юм. Үүнийг хийхийн тулд би дээрх төсөл дээрх кодын газрын зургууд болон өөрийн массивуудыг ашиглан үйлдлийн горим үүсгэсэн. Горим бүр ижил товчлуур дарахад Lapcade дээр юу хийх, компьютер руу юу илгээгдэх зэргийг өөрчилдөг. Гурван "суулгагдсан" үйлдлийн горим байдаг бөгөөд эдгээрийн дараах бүх горимууд нь хэрэглээний горим юм.

Үйл ажиллагааны горимууд

Lapcade -ийн ажиллагааны горимыг дараах байдлаар нэгтгэн харуулав.

  1. Эхлэх - Энэ горим нь PC -тэй холболтыг шалгаж, эхлүүлэх хувьсагчдыг тохируулдаг. Хэрэв EZ-Key нь PC-тэй холбогдоогүй бол хосолсон горимд шилждэг
  2. Хослуулах - Энэ горимд EZ -түлхүүрийг компьютерт холбохыг хүлээж байна.
  3. Горим сонгох - Энэ горим нь хэрэглэгчид ямар програмын горим ашиглахаа сонгох боломжийг олгодог. Энэ горимд түлхүүр кодыг компьютерт илгээдэггүй. Өмнөх хэрэглээний горим дээр үндэслэн хурдан горимын сонголтууд бас байдаг. Жишээлбэл, горимыг дарж, дараа нь тоглуулагчийн хоёр товчлуурыг дарахад Mame player 1 горим нь дэлгэц дээр Mame тоглуулагч 2 -ийг хайх, сонгох шаардлагагүй болно.

Хэрэглээний горимууд

Хэрэглээний горимыг тухайн хэрэглэгч ямар аппликешн дээр үндэслэн компьютерт тохирох түлхүүр кодыг илгээхэд ашигладаг. Жишээ нь Коди горимд 2 үйлдэл нь "P" илгээдэг бөгөөд энэ нь түр зогсолт юм. Mame дээр ижил товчлуур нь зүүн талын Alt товчлуурыг илгээдэг. Хэрэв хэн нэгэн Minecraft -ийг компьютерт тоглуулахын тулд хянагчийг ашиглахыг хүсч байвал тохирох массивын газрын зургийг нэмэх хэрэгтэй.

Аппликешн бүрийг 4 массив өгөгдөлд тодорхойлох шаардлагатай.

  • mode - Энэ массив нь горим бүрийн дэлгэц дээр харуулах текстийг агуулдаг. Дэлгэцийн хоёр дахь мөрийг ашиглахын тулд a ~ массивт мөр таслах байдлаар байрлуулна уу.
  • keyModes [14] - Энэхүү матрицын массив нь компьютерт илгээсэн түлхүүр кодыг агуулдаг. 14 элементийн мөр бүр нь түлхүүр кодын зураглалыг тусад нь хийх товчлууруудыг илэрхийлдэг.
  • keyModifiers [14] - Энэхүү матрицын массив нь Shift товчлуурыг дарах гэх мэт товчлуур бүрийн түлхүүр кодын хувиргагчийг агуулдаг.
  • quickMode [3] - Энэхүү матрицын массив нь одоогийн горимын хурдан горимыг сонгох загварыг агуулдаг.

Үндсэн үйл ажиллагаа

Системийг асаахад эхлүүлэх горимд шилжиж, Bluetooth холболтын байдлыг шалгаж хэрэглэгчдэд харуулна. Arduino нь EZ-Key-ийн L1 зүүгээс импульс тоолох, цаг тоолох замаар EZ-Key статусыг авдаг. Эхлэх горимд дөрвөн дэд статус байдаг:

  • Хослуулах - EZ -Key нь идэвхтэй холбох горимд байгаа бөгөөд төхөөрөмжид холбохыг хүлээж байна.
  • Хослуулсан боловч холбогдоогүй - EZ -түлхүүрийг өмнө нь хослуулсан боловч одоогоор хост төхөөрөмжид холбогдоогүй байна.
  • Хосолсон ба холбогдсон - EZ -Key нь хосолсон бөгөөд хосттой холбогдсон байна. Энэ үед систем Mode Select руу шилжих болно.
  • Үл мэдэгдэх төлөв - EZ -түлхүүр нь үл мэдэгдэх кодыг буцааж өгч байгаа эсвэл үл мэдэгдэх дохионы загварыг үүсгэж буй дохионы интерференц байна. Систем нь барьж, хэрэглэгчдэд мэдэгдэх болно. Хэрэв ийм зүйл тохиолдвол дахин эхлүүлэх ёстой.

Хэрэв систем нь хосолсон боловч PC -тэй холбогдож чадахгүй байгаа бол систем асаах горимд холбогдож байх болно. Хэрэв хэрэглэгч төхөөрөмжийг асаах үед зугтах товчлуурыг дарвал Bluetooth холболтын шалгалтыг алгасаад Mode Select руу орно.

Хэрэв системийг өмнө нь хослуулж чадаагүй бол Эхлэх горимыг Хослуулах горимоор үргэлжлүүлнэ. Энэ төлөвт систем нь хослуулах боломжтой байгаа тухай цацах болно. Үүнийг хост олж, хавсаргасны дараа Mode Select руу шилжих болно. Action 1 товчлуурыг дарж төхөөрөмжийг сонгох горимыг салгаж болно.

Горим сонгох хэсэгт джойстикийг дээш, доош чиглүүлснээр LCD дэлгэц дээр байгаа програмын горимууд танд шилжих болно. Горимуудын аль нэгийг сонгохын тулд enter товчийг дарна уу (5 -р төв).

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

Түргэн горимууд

Хэрэглээний горимыг сонгосны дараа хурдан горимын тодорхойлолтыг тохируулна. Энгийнээр хэлэхэд Түргэн горимууд нь эхний гурван төв товчлуураар сонгогддог Програмын горимууд юм (Төв 1-3). Эдгээр гурван товчлуур нь матриц дахь массивын элементтэй тохирч байна.

Жишээлбэл, одоогийн тохиргоонд Mame -ийг тоглуулагчийн 1 горимд ашиглах үед (4 -р горим эсвэл тав дахь горимыг тодорхойлсон), дараа нь горимын товчлуурыг дарж, дараа нь тоглуулагчийн хоёр товчлуур нь хурдан горим [4] [1] массив элементийг ачаална (Arduino ашигладаг. 0 үндсэн массивын индексжүүлэлт) нь 5. Систем дараа нь Mame, тоглуулагч 2 болох Application Mode 5 руу шилждэг.

Алхам 6: Хувилбар 2 -ийн санаанууд

Товчлуурын дэлгэц - Та бүх зүйлийг төлөвлөж чадахгүй гэж бодож байна, гэхдээ нэг дизайны санаа надад нэг хувилбар байх болно. Яг ямар горимд байгаагаа мэдэж байх нь товчлуур бүр юу хийдгийг санаж байна гэсэн үг биш, ялангуяа хэдхэн хоног, хэдэн сарын турш түүнээс холдсоны дараа маш хурдан тодорхой болсон. Би товчлуур бүрийн дээр эсвэл дээр нь ямар үйлдэл хийж байгааг харуулсан жижиг дэлгэц нэмж өгөхийг үнэхээр хүсч байна. Энэ бол миний 2 -р хувилбарын жагсаалтын эхэнд байна.

4-Way vs 8-Way Joystick-Жойстик ашиглаж эхэлмэгц миний ойлгосон бас нэг зүйл бол хуучин тоглоомууд нь 8 талын джойстик ашиглахгүй байсан явдал юм. Жишээ нь pac-man. Энэхүү хянагчийг бүтээснээс хойш 4 чиглэлээс 8 зам руу механикаар шилжих боломжтой джойстикууд байгааг олж мэдсэн. Тийм ээ, энэ жагсаалтанд байгаа бөгөөд хэрэв та сонгодог аркад тоглоом тоглохоор төлөвлөж байгаа бол өөрчилж болох тоглоом руу ороорой. Мэдээжийн хэрэг, утастай холболт, програмчлалын өөрчлөлтийг тооцоолж байгаа джойстик дээр үндэслэсэн эсэхийг шалгаарай. Сонгодог аркад удирдлагын зарим нийлүүлэгчид энд байна.

  • https://www.ultimarc.com/controls.html
  • https://groovygamegear.com/webstore/index.php?main…

Баруун ба зүүн талын "Flipper" товчлуурууд - Хувилбар 2 нь кабинетийн зүүн ба баруун талд тус бүр нэг товчлуур нэмэх нь гарцаагүй. Нэг боломжит хэрэглээ нь пинболын эрвээхэй байх болно.

Бусад хяналт - Би трекбол ба / эсвэл ээрэх гэх мэт бусад нийтлэг хяналтыг дараагийн хувилбарт нэмэх боломжтой эсэхийг харж байна. EZ-Key нь хулганы координат дамжуулах чадвартай тул энэ нь тийм ч хэцүү биш байх ёстой.

Самбар дээрх програмчлал - Дараагийн хувилбар нь хэргийг нээхгүйгээр шинэ тохиргоог нэмэх чадвартай байх ёстой. Би үүнийг 1 -р хувилбарт нэмэхийг хүсч байсан боловч энэ нь надад байгаагаас илүү их цаг хугацаа, нөөц шаарддаг.

Утасгүй тэмцээн
Утасгүй тэмцээн
Утасгүй тэмцээн
Утасгүй тэмцээн

Утасгүй холбооны хоёрдугаар шагнал

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