DIY MPU-6050 USB Joystick: 5 алхам
DIY MPU-6050 USB Joystick: 5 алхам
Anonim
DIY MPU-6050 USB Joystick
DIY MPU-6050 USB Joystick

Microsoft Flight Simulator 2020 -ийн тусламжтайгаар төлөвлөгөөг хэрэгжүүлэхэд гар ашиглах нь хичнээн хэцүү болохыг би хурдан ойлгосон. Онлайнаар хайж байхдаа боломжийн үнэтэй худалдаж авах джойстик олж чадсангүй. Ихэнх онлайн жижиглэнгийн худалдаачид тэдгээрийг нөөцгүй болгосон. MS Flight Simulator болон COVID 19 тахлын тархалт нь одоо байгаа бүх joystick -ийн хувьцааг устгав. Миний цорын ганц сонголт бол өөрөө барих явдал байв.

Тэнд байгаа ихэнх джойстууд баазын потенциометрийг ашиглан джойстикийн өнцгийг тодорхойлж, x ба y тэнхлэгийн мэдээллийг компьютерт буцааж илгээдэг. Энэ нь сайн ажилладаг боловч joystick -ийн бүтцийг улам хүндрүүлдэг. мөн цаг хугацаа өнгөрөх тусам. потенциометрүүд элэгдэж магадгүй юм. Потенциометрийг ашиглахын оронд би акселерометр/гироскоп мэдрэгчийн самбараар явж, савааны өнцөг дээр байгаа мэдээллийг компьютерт илгээхээр шийдлээ.

Төрөл бүрийн Arduino микропроцессор болон төрөл бүрийн мэдрэгчүүд түгээмэл болсноор Arduino төслийг бүтээх зардал илүү боломжийн болж байна. Хамгийн түгээмэл хэрэглэгддэг акселерометр/гироскопын мэдрэгчийн нэг бол MPU-6050 юм. Канадад энэ нь Amazon -д ойролцоогоор 7 долларын үнэтэй байдаг. Би Хятадаас хямд үнээр худалдаж авсан eBay -ээс авсан боловч тээвэрлэлтийн хугацаа 3 сар ба түүнээс дээш байсан.

www.amazon.ca/Neuftech-MPU-6050-3-Gyroscop…

Аливаа Arduino самбар ажиллах болно, гэхдээ ATmega32u4 дээр суурилсан хавтанг ашиглах нь илүү хялбар байх болно, учир нь ATmega32u4 нь төрөлхийн HID (Хүний интерфэйс төхөөрөмж) дэмжлэгтэй байдаг. Самбарыг програмчилсны дараа та үүнийг Windows 10 компьютер дээр ашиглах боломжтой бөгөөд нэмэлт програм хангамж шаардлагагүй болно. Windows 10 нь USB залгагдах үед үүнийг автоматаар джойстик болгон таних болно. (Бусад төрлийн Arduino хавтанг ашиглах нь энэхүү энгийн бүтээн байгуулалтын төсөлд хэтэрхий төвөгтэй байдаг).

Би Arduino Leonardo самбарыг сонгоно. Амазоноос авах боломжтой 17 доллар.

www.amazon.ca/KEYESTUDIO-Leonardo-Developm…

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

Жойстик бариул нь хаягдал PVC усны хоолойгоор хийгдсэн. Үүнийг ямар ч богино хатуу хоолойгоор хялбархан сольж болно.

Жойстикийн суурь нь модон дээр бэхлэгдсэн хаврын хаалганы зогсоол юм.

Хаврын хаалганы зогсоолыг Home Depot дээрээс 2.83CAN доллараар авах боломжтой.

www.homedepot.ca/product/everbilt-spring-d…

Алхам 1: MPU6050 ба товчлууруудыг Arduino Leonardo Board -т холбох

MPU6050 ба түлхэх товчлууруудыг Arduino Leonardo Board -т холбож байна
MPU6050 ба түлхэх товчлууруудыг Arduino Leonardo Board -т холбож байна
MPU6050 ба түлхэх товчлууруудыг Arduino Leonardo Board -т холбож байна
MPU6050 ба түлхэх товчлууруудыг Arduino Leonardo Board -т холбож байна
MPU6050 ба түлхэх товчлууруудыг Arduino Leonardo Board -т холбож байна
MPU6050 ба түлхэх товчлууруудыг Arduino Leonardo Board -т холбож байна

MPU 6050 дээр зөвхөн 4 холболт ашиглагддаг. VCC, GND, SCL, SDA гэсэн хаягтай.

VCC -ийг Arduino Leonardo дээр 5v эсвэл 3.3v -д холбоно уу. (MPU 6050 нь 5v эсвэл 3.3v аль алиныг нь ашиглаж болно. Хамаагүй)

GND -ийг Arduino Leonardo дээр дурын GND -тэй холбоно уу.

SCL -ийг SCL руу Arduino Leonardo дээр холбоно уу.

SDA -ийг SDA -тай Arduino Leonardo дээр холбоно уу.

Энэ зорилгоор би зөвхөн 2 товчлуур ашигладаг.

Эхний түлхэх товчлуур нь джойстикийн төвийг дахин тохируулахад хэрэглэгддэг бөгөөд энэ жишээнд товчлуурын нэг үзүүр нь GND, нэг төгсгөл нь ПИН 13 -тай холбогдсон байна.

Хоёрдахь товчлуурыг joystick товчлуур болгон ашигладаг. Энэ жишээнд энэ нь PIN 9 болон GND -тэй холбогдсон байна.

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

Алхам 2: Joystick суурийг бий болгох

Joystick суурийг бий болгох
Joystick суурийг бий болгох
Joystick суурийг бий болгох
Joystick суурийг бий болгох
Joystick суурийг бий болгох
Joystick суурийг бий болгох

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

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

Богино хоолойны хэсгийг бариулын бариул болгон ашигла. Би хусах PVC хоолой ашигласан. Утсыг дэвсээрэй, ингэснээр хурдатгал хэмжигч/гироскоп мэдрэгч нь хоолойны дээд талд байрладаг.

Дараа нь хоолойг хаврын хаалганы тагны дээр тавь. Би цахилгаан соронзон хальс ашиглан мэдрэгчийг дээд талд байрлуулсан.

Алхам 3: Arduino IDE -ийг тохируулна уу

Arduino IDE татаж аваад суулгана уу.

Би энэ төсөлд Arduino 1.8.13 -ийг ашигласан. Arduino Web Editor -ийг энэ төсөлд ашиглаж болно.

2 номын санг ашигладаг.

1. MPU6050_tockn by tockn

github.com/Tockn/MPU6050_tockn

эсвэл та үүнийг "Номын санг удирдах" цэснээс олж болно.

2. Матай Хейронимусын бичсэн Joystick номын сан

github.com/MHeironimus/ArduinoJoystickLibr…

Үүнийг одоогоор зөвхөн GitHub вэбсайтаас авах боломжтой.

Татаж авах код болон ZIP татаж авах дээр дарна уу. ZIP файлыг Arduino номын сангийн сан руу задална уу.

Миний хувьд энэ нь E: / PinChung / Documents / Arduino / сангууд юм

Алхам 4: Arduino програм

Pin_Joystick.ino -г Arduino IDE дээр ачаалж, хөрвүүлээд Леонардогийн самбар дээр байршуулна уу.

Tools цэсний доор Arduino Leonardo самбарыг сонгосон бөгөөд портны дугаарыг COM -ийн баруун талд сонгосон эсэхийг шалгаарай.

Хэсэг хугацааны дараа COM портын алдааны кодоор програмыг байршуулах боломжгүй байгааг би анзаарсан. Эмхэтгэх явцад Леонардогийн самбар дээрх дахин тохируулах товчлуурыг хоёр удаа дарахад тус болно. Windows 10 -ийг дахин эхлүүлэх нь COM портыг чөлөөлөхөд туслах болно.

Хөтөлбөрийг Леонардогийн самбар дээр байршуулсны дараа Windows 10 нь Леонардо Жойстикийг автоматаар илрүүлэх ёстой. Windows 10 хайлтын талбарт Game Controllers гэж бичээд USB Game Controllers -ийг тохируулна уу.

Леонардо Жойстикийг сонгоод Properties дээр дарна уу. Joystick хөдөлгөөн ба 1 -р джойстик товчлуурыг Windows 10 авах ёстой.

Хэрэв джойстик төвлөрөөгүй бол түүнийг суллахдаа бидний хийсэн джойстикийн төв товчлуурыг дарна уу. USB тоглоомын хянагчид төвд байгаа джойстик цэгийг харуулах ёстой. USB тоглоом хянагч програмын джойстикийг тохируулах шаардлагагүй болно.

Тэмдэглэл: Ардуино Леонардог сайн мэддэггүй хүмүүсийн хувьд төхөөрөмжийг джойстик, хулгана эсвэл гар хэлбэрээр тохируулсан тохиолдолд цуваа порт ажиллахгүй болно. Тиймээс "Serial.print ()" ажиллахгүй болно. Мөн MPU6050 нь i2c утас номын санг ашигладаг бөгөөд SDA ба SLC тээглүүрүүдийг ашигладаг. Леонардо дээр SDA ба SCL нь PIN 2 болон PIN 3 -ийг хоёуланг нь ашигладаг тул эдгээр 2 тээглүүрийг өөр зүйлд бүү ашиглаарай.

Алхам 5: Жойстикийг турших

Би үүнийг Microsoft Flight Simulator 2020 дээр туршиж үзсэн бөгөөд энэ нь маш сайн ажилладаг. Жойстикийг тэглэхийн тулд би заримдаа төв товчлуурыг дарах хэрэгтэй болдог. MPU6050 мэдрэгчийн үнэ цаг хугацааны явцад бага зэрэг буурч магадгүй юм.

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

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