Агуулгын хүснэгт:
- Алхам 1: хангамж
- Алхам 2: Хашаа
- Алхам 3: Хэлхээ
- Алхам 4: Тоног төхөөрөмжийг дуусгах
- Алхам 5: Програм хангамж
- Алхам 6: дуусгах
- Алхам 7: Нэмэлт..dum..dum
- Алхам 8: Нэмэлт нөөц
Видео: Arduino Key Joystick Extender Box болон Deej ашиглан дууны хянагч: 8 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Tinkercad төслүүд »
Яагаад
Хэсэг хугацааны турш би интерфэйсийн элементүүд эсвэл тоглоом, симуляторуудын бусад жижиг ажлуудыг удирдахын тулд гар дээрээ жижиг джойстик оруулахыг хүсч байсан (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons гэх мэт).
Түүнчлэн, Elite: Dangerous-ийн хувьд би гадны аудио (дуу хөгжим нь сайн боловч хар өнгөтэй байхад олон цагийн дараа дахин давтагддаг), тоглоомын аудио, гадаад дууны хайрцгийг дэмжих түвшинг холихтой тэмцэж байсан.
Windows-ийн эх үүсвэр холигч нь "зүгээр" боловч тоглоомын дундуур дэлгэц болон хулганы удирдлагатай гулсагчийг солих нь өвдөлт юм. Өргөтгөсөн гарын удирдлагын хайрцагтай болох нь хамгийн сайн арга юм шиг санагдсан. Deej бол миний олсон шийдэл юм.
Яаж
Би саяхан Arduino -ийн талаар олж мэдсэн бөгөөд reddit дээр deej төслийг олж харсан. Энэ нь эдгээр асуудлыг хоёуланг нь нэг багцад шийдэх болно. Энэ нь надад гоёмсог 3d хайрцаг хийх, хэвлэх боломжийг олгоно.
Deej гэж юу вэ?
(сайтаас) deej бол Windows болон Линукс компьютеруудад зориулагдсан ** нээлттэй эх сурвалжтай тоног төхөөрөмжийн эзэлхүүн холигч ** юм. Энэ нь бодит амьдрал дээрх гулгагч ашиглан (DJ шиг!) Юу хийхээ зогсоохгүйгээр ** өөр өөр програмуудын эзлэхүүнийг ** (таны хөгжим тоглуулагч, тоглож буй тоглоом, дуут чат гэх мэт) тасралтгүй удирдах боломжийг олгодог. чи хийж байна
Миний хувилбар
Хайрцгийг жижиг байлгахын тулд би гулсагчийг биш харин бариулыг (эргэдэг шугаман потенциометр (тогоо = эсэргүүцэл)) сонгосон. Функциональ байдлаар тэд адилхан ажилладаг. Одоогийн болон алдартай deej загварт джойстик ороогүй тул энэ нь жаахан дизайны эрлийз байх болно. Үгүй бол энэ нь нэлээд шулуун бүтэц юм.
Deej нь Arduino Nano, Pro Micro эсвэл Uno -той хамтран ажиллах боловч Nano болон Pro Micro -ийг хөгжүүлэгч албан ёсоор зөвлөж байна. Би джойстик хүссэн учраас Arduino Pro Micro -г сонгосон бөгөөд Arduino Joystick номын сан үүнийг дэмждэг. Би медиа гарны дууг хаах функцийг ("зөөлөн дуугүй" гэхээсээ илүү) joystick товчлуураар ашиглахыг хүсвэл Arduino Keyboard Library -ийг ашиглаж болно, гэхдээ энэ нь цаашаа явж байна.
Алхам 1: хангамж
Хайрцаг
STL файлуудыг татаж авах (Tinkercad -д зориулагдсан):
- Пруса дахь файлуудыг хаах (https://www.prusaprinters.org/)
- Өөр зүйл (удахгүй)
Тоног төхөөрөмж (үйлдвэрлэлийн нэгж)
- 1 удаа Arduino Pro Micro
- 4x 10k эргэдэг (бариул) потенциометр (эргэдэг хянагч биш, тогоо ашиглана уу)
- 1x Arduino KY-023 Joystick
- 5 футын хаягдал cat5 сүлжээний кабель
- 1x USB A -аас USB B микро кабель (USB A бол том дөрвөлжин холбогч, USB B микро бол Arduino Pro Micro дээрх зүйл юм)
- 1х 5 мм улаан LED
- 1х 220 Ом эсэргүүцэл
Надад нэмэлт хэсгүүд байсан тул би үүнийг туршиж үзэхийн тулд хөгжлийн нэгж байгуулна гэж бодлоо. Зүгээр л нэг зүйлийг талхны самбартай холбосноор эцсийн зүйлийг төсөөлөхөд хялбар болсон.
- 1 удаа Arduino Pro Micro
- 4х 10к эргэдэг (бариул) потенциометр (эргэдэг хянагч биш, тогоо ашиглана уу)
- 1х түр зуурын товчлуурын унтраалга (хатуу дахин тохируулах унтраалга)
- 1x USB A -аас USB B микро кабель (USB A бол том дөрвөлжин холбогч, USB B микро бол Arduino Pro Micro дээрх зүйл юм)
- төрөл бүрийн холбогч утас
- талх
- 1х 5 мм улаан LED
-
1х 220 Ом эсэргүүцэл
Алхам 2: Хашаа
Загвар
Deej олон нийтийн галлерейд байрлуулсан бусад загварууд надад таалагдсан тул надад таалагдсан онцлог шинж чанарууд дээр үндэслэсэн болно.
- Загвар хийх, хэвлэхэд хялбар
- Миний бусад ширээний нэмэлт төхөөрөмжүүдэд саад болохгүй
- Хаалтыг бэхлэхийн тулд эрэг эсвэл бэхэлгээ бүү ашигла
- Гарын ижил төстэй гоо зүйн дизайн
Энэхүү эцсийн загварыг шийдэхээс өмнө би хоёр загварыг гаргаж, хэвлэсэн. Би үүнийг ашиглаж буй орон зайд тоглох физик хувилбартай байх дуртай бөгөөд энэ нь эцсийн объект хэрхэн ажиллах талаар илүү сайн ойлголттой болдог.
Би Fusion360 дээр загвар зохион бүтээж эхэлсэн боловч Тинкеркадын хувьд сайн мэдэхгүй байна.
Шураггүй загварыг хүсч байсан болохоор үүрлэх хайрцаг хийлээ. Эхний загвар нь нимгэн таг, бүх зүйлд зориулагдсан гүн хайрцагтай байв. Хоёр дахь загвар нь гүн таг, гүехэн ёроолтой хайрцгаар солигдсон. Энэ нь зөвхөн Arduino Pro Mini -ийг барих ёстой байсан тул том хэмжээтэй байх шаардлагагүй байв. Мөн товойлгон дүрсүүдийг оруулсан болно.
Гурав дахь дизайны хэмжээг миний гарын хажуугийн орон зайд тохируулан өөрчилсөн.
Хэвлэл
Би хайрцгийг ХАЧА -д хэвлэж, дүрс нь дөнгөж харагдахаар байгаа тагны хувьд хараас улаан хүртэл утас, давхаргыг сольж, үлдсэн хэсгийг нь хар руу буцааж оруулав.
Асуудал
Энэ бүхний туршид джойстик холбох нь асуудалтай байсан. Гурав дахь дизайны хувьд ч гэсэн саваа нь нэг газар бэхэлгээний эсрэг мөргөлддөг. Дараагийн давталт нь илүү сайн зайтай байх болно. Би дизайны талаар илүү их ажиллах боломжтой байсан ч дараагийн үе шат болох суулгац руу орохыг хүсч байсан.
Алхам 3: Хэлхээ
Хамгийн муу утастай ажил
За, энэ бол миний анхны бүрэн хэмжээний Arduino төсөл юм. Тийм ээ, би өмнө нь талхны тавцан дээр ямар нэгэн зүйл хийж байсан бөгөөд үүнийг Хөгжүүлэлтийн хувилбарыг бий болгохын тулд ашиглаж байсан боловч үнэн хэрэгтээ үйлдвэрлэх, угсрах тухайд энэ бол миний анхных юм. Тиймээс миний утас нь хог шиг харагдаж байна. Тэнд, энэ бол замаас хол байна:)
Шинэчлэлт: Би үүнээс хойш өөр нэгийг барьсан бөгөөд утас нь тэнд илүү сайхан болсон. Зургуудыг үзээрэй:)
Үйлдвэрлэлийн нэгж - Хаана юу болж байна
Arduino Pro Micro бол жижигхэн самбар бөгөөд суурийн цутгамал хэсэгт багтах болно. Товчлуур ба джойстик нь тагны тус бүрийн нүхэнд таардаг. Гэхдээ гагнуурын өрсөлдөөнд орох хүртэл юу ч бүү холбоорой.
Цахилгаан утас
Надад зохих хэлхээний утас байгаагүй, гэхдээ үлдсэн цөмт cat5 сүлжээний кабелийн үлдэгдэл байсан тул би үүнийг ашиглаж байсан. Энэ нь тасарсан хэлхээний утаснаас арай хатуу, магадгүй илүү хэврэг боловч ажиллана.
Бүрэлдэхүүн хэсгүүдийг эцсийн бэхэлгээний байрлалын ойролцоо байдлаар байрлуулж, утас бүрийн хувьд зайг тооцоолж, сулрах гэх мэт арай илүү нэмж, утсыг хайчилж, хайчилж авав. Би маш их сул зогслоо.
Утасны диаграмыг дурдахад би нийтлэг ойлголт (Хар) ба VCC (Улаан) -ийг товчлуурууд болон джойстик руу зааж өгсөн. Сүлжээний кабель эдгээр өнгөнүүдээр ирдэггүй тул би зүгээр л өнгө сонгож, утсаа функцэд нийцүүлэн хадгалсан.
Хувь хүний сав. аналог шугам (Шар) A0 - A3 тээглүүр рүү гүйдэг. Joystick шугамууд (Улбар шар), мөн аналог нь I/O зүү 8 ба 9 рүү гүйдэг. Эдгээрийг Arduino кодонд A8 ба A9 гэж аналог гэж зааж өгөх ёстой.
Joystick шилжүүлэгч зүү (Цэнхэр) 7 -р зүү рүү гүйсэн. Энэ нь кодын дижитал зүү байх болно.
Тусгаарлагч
Энэ хатуу утсыг жижигхэн орон зайд хийх тул би гагнуурын холболтоо эрүүл хайлсан цавуугаар дулаалахаар шийдсэн. Дараа нь бүх зүйлийг байрлуулж, Arduino -ийн жишээ AnalogInput кодын хувилбарыг ашиглан самбар болон саванд энгийн туршилтыг явуулав.
Хоёр дахь хувилбар
Дээрх сүүлийн хоёр зураг миний барьж буй дараагийн хайрцгийг харуулж байна. Энэ нь 5 товчлууртай бөгөөд хэлгүй хүмүүст зориулсан түр зуурын товчлууртай болно. Жойстик байхгүй. Ижил хэмжээтэй хайрцаг.
Алхам 4: Тоног төхөөрөмжийг дуусгах
Joystick -ийг суулгаж байх үед би самбар болон Pro Micro дээр үлдсэн зүү толгойн хооронд тийм ч их зай байхгүй байгааг ойлгосон.
Зүү толгойг бага зэрэг болгоомжтой нугалж, халуун хайлмал цавуу дахин түрхсэний дараа (тусгаарлагчийн хувьд) хашаа хаагдсан байна.
Савыг суурилуулах нь ямар ч асуудалгүй болсон.
Дахин утсаар
Хатуу судалтай утаснууд нь жаахан хатуу бөгөөд хэт олон удаа нугалахад хэврэг болдог тул тэдгээрийг болгоомжтой нугалж (хурц өнцөггүй) боломжтой зайнд оруулна. Миний зарим хэсэг хэтэрхий урт байсан тул бага зэрэг нугалах шаардлагатай байв.
Бүгдийг байрлуулсны дараа суурийг дээд талд нь байрлуул, дараа нь тоног төхөөрөмжийг дуусгах хэрэгтэй.
Гэхдээ түр хүлээгээрэй, өөр зүйл байна
Мэдээжийн хэрэг, хэдэн долоо хоног ашигласны дараа зөөлөн кодчилсон MUTE функцийн төлөв байдал ямар байдгийг надад мэдэгдэхийн тулд надад индикатор хэрэгтэй гэж шийдсэн.
LED функцийг нэмэхийн тулд кодыг засварласны дараа (дараагийн хэсгийг үзнэ үү) би LED / утас / резисторыг хурдан гагнаж самбар дээр холбосон.
Дээд талбайн өнгөлгөөг хийхийг хүсээгүй тул би хэргийн дээд хэсэгт нүх өрөмдөхөд илүү их цаг зарцуулсан. Би төв цэгийг тэмдэглээд, нүхийг нь цоолж, дараа нь гараараа өрөмдөж, нүх гаргав.
Нэмэлт нягт нямбай бүрдүүлэлт нь нүхийг цэвэрлэж, LED нь дээд гадаргуугаас хэт хол цухуйхгүй байхын тулд сайн нягт дарагдсан байв.
Алхам 5: Програм хангамж
Тойм
Тиймээс энэ бол хоёр үе шаттай үйл явц юм.
- Deej хэрхэн ажилладагийг олж мэдээд Config.yaml файлыг засаарай
- Arduino кодыг хүссэн тоног төхөөрөмж, онцлогтой нийцүүлэн засна уу
- Arduino Joystick номын санг аваарай
Миний хувьд би эдгээр онцлог шинж чанаруудыг хүсч байсан.
- Түвшинг хянах товчлуурууд (микрофон ба гаралт)
- Дууг хаах
- 2 тэнхлэгтэй джойстикийг Windows хэрэглээний зориулалтаар хүлээн зөвшөөрсөн
Түвшин
Эхний цэгийг Дээж бараг л анхаарч үздэг. Би энэ функцийг өөрчилсөнгүй
Дууг хаах
Би Joystick дээрх товчлуур/унтраалгыг дуугүй болгох товчлуур болгон ашиглах гэж байгаагаа эртхэн шийдсэн.
Та кодыг шалгаж үзэхэд "зөөлөн" дуугүй болгох аргыг сонгосон болохыг олж харах болно - товчлуур дээр дарахад MIC -ийн дуу чимээ тэг болж буурдаг (мөн LED асдаг). Дахин дарахад MIC -ийн эзлэхүүнийг өмнөх тохиргоонд нь буцааж өгч, LED унтрах болно.
Эцэст нь би Arduino гар номын санг өргөтгөсөн медиа гарны кодын багцаар хаах горимыг өөрчлөхийн тулд ашиглах болно.
Joystick -ийн хэрэгжилт
Үүнийг хийхийн тулд джойстикийг Windows HID төхөөрөмж гэж хүлээн зөвшөөрөхийн тулд Arduino Joystick номын санг ашиглах шаардлагатай бөгөөд үүний үр дүнд аливаа тоглоом/аппликешн хүлээн авах шаардлагатай болно.
Би кодчилох тухайд Жойстикийн номын сангийн баримт бичгийг хэрэгжүүлэх тал дээр жаахан сийрэг байгааг олж мэдсэн боловч жаахан анхаарлаа төвлөрүүлж байсан нь надад юу болж байгааг ойлгоход тусалсан юм. Дэлгэрэнгүй мэдээллийг төгсгөлд байгаа нөөцийн хэсгийг шалгана уу.
Миний хийх ёстой зүйл бол X/Y зүүг таньж, төлөвийг нь уншиж, үүнийг Жойстикийн номын санд илгээх явдал байв. Arduino нь Windows дээр Леонардо хэлбэрээр гарч ирсэн бөгөөд үүнийг Joystick төхөөрөмж болгон зөв тохируулсан байв.
Би үүнийг одоо байгаа HOTAS тохиргооныхоо хамт Elite Dangerous -д тохируулж, Joystick -ийг бүх зүйлийг зөв хянаж, HOTAS -тай зөрчилдөхгүй байх боломжтой болсон. Энэ нь Star Wars: Squadrons дээр сайн ажилладаг - тулалдаанд байхдаа бамбайгаа тохируулахын тулд үүнийг хурдан сольж өгдөг.
Миний Joystick тохиргоотой ажилладаг файлууд
Би одоогийн (2020 оны 10 -р сарын) файлуудаа Codepile руу байршуулсан.
- Arduino код (.ino файл)
- Deej config.yaml
Алхам 6: дуусгах
За, энэ ажил дууслаа. Энэ нь ажилладаг бөгөөд энэ нь хэрхэн нийлж байгаад сэтгэл хангалуун байна. Мөн би техник хангамжийн дизайн, интеграцчлал, Arduino програмчлалын талаар бага зэрэг сурсан.
Алхам 7: Нэмэлт..dum..dum
VLC - гайхалтай аудио, видео тоглуулагч нь бага зэрэг хачин шинж чанартай бөгөөд гаднаас нь удирдахад дууны түвшин 0% -иас 27% хүртэл өсдөг. Энэ нь зөвхөн Deej гэх мэт гадаад хяналтуудын тусламжтайгаар програмын интерфейсийн дууны хяналтыг ашиглан түвшинг тохируулах үед тохиолддоггүй.
Deej хөгжүүлэгч нь энэ ажлыг гүйцэтгэдэг VLC доторх шийдлийг хурдан олсон бөгөөд дээрх зургийг үзнэ үү.
"… хэрэв та энэхүү" Tracking "зан үйлийг идэвхгүй болгохыг хүсвэл VLC -ийн аудио гаралтын модулийг өөрчилж болно. Би энд оролдлого хийхдээ DirectX -ийг ашигласан. Өөрчлөлт хүчин төгөлдөр болохын тулд та VLC -ийг дахин эхлүүлэх шаардлагатай болно. Windows аудио сесстэй бөгөөд үүнийг deej -ээр хянах боломжтой бол энэ нь VLC дууны хэмжээг түүнтэй хамт хөдлөхөөс сэргийлнэ)"
Алхам 8: Нэмэлт нөөц
Тодорхой дарааллаар жагсаагдаагүй хүчирхэг Goog -ээр дамжуулан олдсон …
- Arduino Joystick Library (v2) - джойстикийг нэгтгэхэд шаардлагатай
- Sparkfun Pro Micro холболтын гарын авлага - энэ Arduino -ийн талаархи сайн эх сурвалж
- deej - товчлуурыг жолооддог програм хангамж
- USB холбогчийн төрөл - маш олон хувилбар байдгийг хэн мэдэх вэ?
- Arduino Pro Micro аналог Pinouts
- Arduino Leonardo Gaming Joystick - Леонардо нь Pro Micro -той төстэй, зөвхөн том хэмжээтэй
- Arduino Pro Micro (Clone) порт илрээгүй (Шийдэл) - та Pro Micro -гоо тоосго хийх үед (би хийсэн)
- Ардуино Леонардо/Микро тоглоомын хянагчаар/Жойстик
- HID төслийн номын санг ашиглан дууг хаах мультимедиа түлхүүр ашиглах жишээ
- Хэвлэл мэдээллийн хэрэгслийг түр зогсоох / тоглуулах HID төслийн номын сангийн жишээ код
- Gamepad хянагчийг харуулсан өөр нэг кодын жишээ.
- ArduinoGamingController_updated - Joystick номын сангийн ашиглалтын сайн кодын тайлбар
- LED резистор тооцоолуур нь таны төсөлд хэр том резистор хэрэгтэй болохыг олж мэдэх болно
- Icon library - flaticon.com - товчлууруудын дээр ашигласан зургийн эх сурвалж
- Өөр нэг резистор өнгө декодер - өнгө, виола дээр дарна уу!
Зөвлөмж болгож буй:
DigiSpark болон Rotary Encoder ашиглан USB дууны товчлуур: 3 алхам
DigiSpark болон Rotary Encoder ашиглан USB дууны товчлуур: Энэ бол маш хямд USB дууны хяналтын товчлуур юм. Заримдаа уламжлалт товчлуурууд нь хулганыг хаа сайгүй дарахаас илүү аливаа зүйлийг удирдахад илүү тохиромжтой байдаг. Энэхүү төсөл нь DigiSpark, Rotary Encoder болон Adafruit Trinket USB номын санг ашигладаг (https: //github.c
Arduino дээр суурилсан DIY тоглоомын хянагч - Arduino PS2 тоглоомын хянагч - DIY Arduino Gamepad ашиглан Tekken тоглох: 7 алхам
Arduino дээр суурилсан DIY тоглоомын хянагч | Arduino PS2 тоглоомын хянагч | DIY Arduino Gamepad ашиглан Tekken тоглох: Сайн байна уу залуусаа, тоглоом тоглох нь үргэлж хөгжилтэй байдаг, гэхдээ өөрийн гараар хийсэн DIY тоглоомын хянагчтай тоглох нь илүү хөгжилтэй байдаг тул бид энэ зааварт arduino pro micro ашиглан тоглоом хянагч хийх болно
HW30A моторын хурд хянагч болон Arduino UNO ашиглан дронгүй квадрокоптерийн сойзгүй DC моторыг (3 утастай) хэрхэн удирдах вэ: 5 алхам
HW30A моторын хурд хянагч болон Arduino UNO ашиглан дронгүй квадрокоптерийн сойзгүй DC моторыг (3 утастай төрөл) хэрхэн удирдах вэ: Тодорхойлолт: HW30A моторын хурд хянагчийг 4-10 NiMH/NiCd эсвэл 2-3 эсийн LiPo батерейгаар ашиглах боломжтой. BEC нь 3 хүртэлх LiPo эсүүдтэй ажилладаг. Үүнийг Brushless DC моторын (3 утастай) хамгийн ихдээ 12 Вт хүртэл хурдыг хянахад ашиглаж болно
Аудио дууны файлуудыг (Wav) Arduino болон DAC ашиглан тоглуулах: 9 алхам
Аудио дууны файлуудыг (Wav) Arduino болон DAC ашиглан тоглуулах: Audino SD картаас wav файлын аудиог тоглуулах. Энэхүү зааварчилгаа нь таны SdCard дээрх wav файлыг чанга яригч руу энгийн хэлхээгээр хэрхэн тоглуулахыг харуулах болно. Wav файл нь 8 бит моно байх ёстой. Надад 44 кГц хэмжээтэй файл тоглуулахад ямар ч асуудал гараагүй
Arduino болон ухаалаг гар утсыг ашиглан агаар түдгэлзүүлэх дижитал хянагч: 7 алхам (зурагтай)
Arduino болон ухаалаг гар утасны алсын удирдлага ашиглан агаарын түдгэлзүүлэлт хийх дижитал хянагч: Сайн байцгаана уу. Энэхүү зааварчилгаанд би танд нэг машины агаарын түдгэлзүүлэлт, нэг arduino + bluetooth модуль ашиглан алсын удирдлагатай андройд +4.4 бүхий ухаалаг гар утсыг хэрхэн тохируулахыг танд үзүүлэхийг хичээх болно. Энэ бол миний хамгийн анхны зааварчилгаа тул баавгай