Mundarija:
- 1 -qadam: materiallar
- 2 -qadam: korpus
- 3 -qadam: O'chirish davri
- 4 -qadam: Uskunani tugatish
- 5 -qadam: Dasturiy ta'minot
- 6 -qadam: tugatish
- 7 -qadam: ilova..dum..dum
- 8 -qadam: Qo'shimcha manbalar
Video: Arduino klaviaturasi Joystick kengaytirgich qutisi va Deej yordamida ovozni boshqaruvchi narsa: 8 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
Tinkercad loyihalari »
Nima uchun?
Bir muncha vaqt men klaviaturaga interfeys elementlarini yoki o'yinlar va simulyatorlardagi boshqa kichik vazifalarni (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons va boshqalar) boshqarish uchun kichik joystikni qo'shishni xohlardim.
Bundan tashqari, Elita uchun: Xavfli, men tashqi ovozdan ovoz balandligini aralashtirish bilan qiynalganman (musiqa yaxshi o'rnatilgan bo'lsa-da, bir necha soatdan keyin qora rangda takrorlanadi), o'yin ichidagi audio va tashqi ovozli paketlarni qo'llab-quvvatlash.
Windows o'rnatilgan manba mikser "yaxshi", lekin o'yin paytida ekranlar va sichqonchani boshqarish slayderlarini almashtirish og'riq. Kengaytirilgan klaviatura boshqaruv qutisiga ega bo'lish - bu yo'l. Deej - men topgan yechim.
Qanaqasiga
Men yaqinda Arduino haqida bilib oldim va reddit -da deej loyihasini uchratdim. Ko'rinib turibdiki, bu ikkala muammoni ham bitta qulay paketda hal qiladi. Va bu menga chiroyli 3D qutini loyihalash va chop etishga imkon beradi.
Dej nima?
(saytdan) deej-bu Windows va Linux kompyuterlari uchun ** ochiq manbali apparat mikser **. Bu sizga har xil ilovalar hajmini (masalan, sizning musiqiy pleeringiz, o'ynayotgan o'yiningiz va ovozli suhbat seansingiz) ** hech narsani to'xtatmasdan, real hayot slayderlaridan (DJ kabi!) Foydalanish imkonini beradi. sen qilyapsan.
Mening versiyam
Qutini kichkina ushlab turish uchun men slayderlarni emas, balki tugmachalarni (aylanadigan chiziqli potentsiometr (qozon = qarshilik)) tanladim. Funktsional jihatdan ular bir xil ishlaydi. Hozirgi va mashhur dej dizaynlari joystikni o'z ichiga olmaydi, shuning uchun bu dizayn gibridiga o'xshaydi. Aks holda, bu juda to'g'ridan-to'g'ri qurilish.
Deej Arduino Nano, Pro Micro yoki Uno bilan ishlaydi, lekin ishlab chiqaruvchi tomonidan Nano va Pro Micro rasman tavsiya qilingan. Men Arduino Pro Micro -ni tanladim, chunki men joystikni xohlardim va Arduino Joystik kutubxonasi uni qo'llab -quvvatlaydi. Men, shuningdek, joystick tugmasi bilan media klaviatura ovozini o'chirish funktsiyasidan ("yumshoq ovoz o'chirish" o'rniga) foydalanmoqchi bo'lganimda, Arduino klaviatura kutubxonasidan foydalanishim mumkin, lekin bu yo'lda.
1 -qadam: materiallar
Quti
STL fayllarini yuklab oling (Tinkercad -da yaratilgan):
- Prusa -da fayllarni yopish (https://www.prusaprinters.org/)
- Hamma narsa (tez orada)
Uskunalar (ishlab chiqarish birligi)
- 1 x Arduino Pro Micro
- 4x 10k aylanadigan (tugmachali) potensiometrlar (aylanadigan boshqaruv moslamalari emas, idishlardan foydalaning)
- 1x Arduino KY-023 Joystik
- 5 futli cat5 tarmoq kabeli
- 1 x USB A - USB B mikro kabeli (USB A - bu katta kvadrat ulagich, USB B mikro - Arduino Pro Micro -dagi narsa)
- 1x 5 mm qizil LED
- 1x 220 ohmli qarshilik
Menda qo'shimcha qismlar bor edi, shuning uchun men hamma narsani sinab ko'rish uchun ishlab chiqish birligini quraman deb o'yladim. Faqat narsalarni taxtaga ulash, oxirgi narsani tasavvur qilishni osonlashtirdi.
- 1 x Arduino Pro Micro
- 4x 10k aylanadigan (tugmachali) potensiometrlar (aylanadigan boshqaruv moslamalari emas, idishlardan foydalaning)
- 1x lahzali tugmachali tugma (qattiq reset tugmasi)
- 1 x USB A - USB B mikro kabeli (USB A - bu katta kvadrat ulagich, USB B mikro - Arduino Pro Micro -dagi narsa)
- har xil o'tish simlari
- non taxtasi
- 1x5 mm qizil LED
- 1x 220 ohmli qarshilik
2 -qadam: korpus
Dizayn
Menga Deej jamoatchilik galereyasida joylashtirilgan boshqa dizaynlar yoqdi, shuning uchun men yoqtirgan xususiyatlar meniki:
- Dizayn va chop etish oson
- Boshqa ish stoli tashqi qurilmalarimga to'sqinlik qilmang
- Qoplamani mahkamlash uchun vintlardek yoki mahkamlagichlardan foydalanmang
- Klaviaturaga o'xshash estetik dizayn
Men yakuniy dizaynga kirishdan oldin ikkita prototipni ishlab chiqdim va chop etdim. Men foydalanadigan maydonda o'ynash uchun jismoniy versiyaga ega bo'lishni yoqtiraman, chunki bu menga yakuniy ob'ekt qanday ishlashini yaxshiroq tushunishga imkon beradi.
Men qisqa vaqt ichida Fusion360 -da loyihalashtirishni boshladim, lekin men bilmayman, shuning uchun Tinkerkad almashib, u erda ishlagan.
Men vintlarsiz dizaynni xohlaganim uchun, uyalar uchun quti yaratdim. Birinchi prototipda hamma narsa uchun nozik qopqoq va chuqur quti bor edi. Ikkinchi dizayn chuqur qopqog'i va pastki qutisi bilan almashtirildi. U faqat Arduino Pro Mini -ni ushlab turishi kerak edi, shuning uchun katta bo'lish shart emas edi. Kabartmalı piktogramma ham kiritilgan.
Uchinchi dizayn mening klaviatura yonidagi bo'shliqqa mos ravishda o'zgartirildi.
Bosma
Men qutini PLA -da chop etdim, ikonkalar paydo bo'ladigan qopqoq uchun filament / qatlam almashinuvini Qora -Qizildan qizil rangga, va qolgan qopqog'i uchun yana Qora rangga dasturlashtirdim.
Muammo
Bularning barchasida joystikni o'rnatish muammoga aylandi. Uchinchi dizaynda ham, tayoq bir joyga o'rnatiladi. Keyingi takrorlash yaxshiroq bo'shliqlarga ega bo'ladi. Men dizayn ustida ko'proq ishlashim mumkin edi, lekin keyingi bosqichga o'tishni xohlardim.
3 -qadam: O'chirish davri
Eng yomon simli ish
OK, bu mening birinchi to'liq Arduino loyiham. Ha, men ilgari non taxtasida ish qilganman va uni ishlab chiqish versiyasini yaratish uchun foydalanmoqdaman, lekin aslida ishlab chiqarish va yig'ish - bu mening birinchi. Shunday qilib, mening simlarim axlatga o'xshaydi. Mana, bu yo'lda emas:)
Yangilash: Men boshqasini qurdim va u erda simlar ancha yaxshi. Rasmlarni ko'ring:)
Ishlab chiqarish birligi - qaerda
Arduino Pro Micro - bu kichkina kichkina taxta bo'lib, u taglikning qoliplangan qismiga mos keladi. Qopqoqning tegishli teshiklariga tugmachalar va joystik mos keladi. Lekin siz lehim bilan raqobatlashmaguningizcha hech narsa o'rnatmang.
Ulanish
Menda to'g'ri sim yo'q edi, lekin menda qattiq yadroli cat5 tarmoq kabeli qolgan edi, shuning uchun men buni ishlatardim. Tarmoqli simga qaraganda biroz qattiqroq va mo'rtroq, lekin u ishlaydi.
Komponentlarni yakuniy o'rnatish holatiga yaqin joylashtirib, men har bir sim uchun masofani taxmin qildim, bo'shashish uchun biroz ko'proq qo'shdim, keyin simni kesib tashladim. Men juda ko'p bo'shashdim.
Ulanish sxemasiga tayanib, men umumiy nuqtani (Qora) va VCC (Qizil) ko'rsatgichlar va joystikka o'tkazdim. Tarmoq kabeli bu ranglarda bo'lmagani uchun, men faqat rangni tanladim va simimni funktsiyaga muvofiq ushlab turdim.
Shaxsiy qozon. analog chiziqlar (Sariq) A0 - A3 pinlariga yugurdi. Joystick liniyalari (apelsin), shuningdek analog, 8 va 9 -gachasi kirish -chiqish pimlariga o'tdi. Ular Arduino kodida A8 va A9 sifatida Analog sifatida belgilanishi kerak.
Joystik kalit pin (Moviy) pin 7 ga o'tdi. Bu kodda raqamli pin bo'ladi.
Izolyatsiya
Bu qattiq sim kichik joyga tiqilib qolishi uchun, men lehim ulanishlarimni sog'lom eriydigan elim qo'g'irchog'i bilan izolyatsiya qilishni tanladim. Keyin hamma narsani joyiga qo'ydi va Arduino misol AnalogInput kodining versiyasidan foydalanib, taxtada va qozonlarda oddiy sinov o'tkazdi - barcha idishlarni o'qish uchun o'zgartirildi.
Ikkinchi versiya
Yuqoridagi oxirgi ikkita rasmda men qurayotgan keyingi quti ko'rsatilgan. Unda 5 ta tugma va ovozni o'chirish uchun bir lahzali tugma bo'ladi. Joystik yo'q. Bir xil o'lchamdagi quti.
4 -qadam: Uskunani tugatish
Joystickni o'rnatganimda, men uning taxtasi va Pro Micro -dagi pin sarlavhalari o'rtasida katta farq yo'qligini angladim.
Pim sarlavhalarini biroz ehtiyotkorlik bilan egib, issiq eritilgan elimni qayta ishlatgandan so'ng (izolyatsiya uchun), korpus to'g'ri yopildi.
Idishlarni o'rnatish muammosiz o'tdi.
Yana simlar bilan
Qattiq yadroli simlar biroz qattiqroq va agar ular ko'p marta egilsa, mo'rt bo'lishi mumkin, shuning uchun ularni ehtiyotkorlik bilan (o'tkir burchaklarsiz) bo'sh joyga katlang. Ba'zilarim juda uzun edi va biroz kattalashtirish kerak edi.
Hamma narsa joyiga qo'yilgach, taglikni tepaga mahkamlang, shunda siz jihozni tugatishingiz kerak.
Lekin kuting, yana ko'p narsalar bor
Albatta, bir necha hafta ishlatilgandan so'ng, menga yumshoq kodli MUTE funktsiyasining holati to'g'risida ma'lumot berish uchun indikator kerak deb qaror qildim.
LED funksiyasini qo'shish uchun kodni tahrir qilgandan so'ng (keyingi bo'limga qarang), men tezda LEDni / simlarni / rezistorni lehimladim va ularni taxtaga uladim.
Men korpusning yuqori qismidan teshik ochish uchun ko'proq vaqt sarfladim, chunki men marraga chiqishni xohlamadim. Men markaziy joyni belgiladim, uni burdim, keyin teshik qilish uchun burg'ulash uchini qo'lda aylantirdim.
Qo'shimcha ehtiyotkorlik bilan to'ldirish teshikni tozaladi va LEDning yuqori yuzadan juda uzoqqa chiqmasligini ta'minlash uchun mahkam bosilishini ta'minladi.
5 -qadam: Dasturiy ta'minot
Sharh
Shunday qilib, bu ikki qismli jarayon.
- Deej qanday ishlashini bilib oling va Config.yaml faylini tahrir qiling
- Arduino kodini kerakli apparat va xususiyatlarga mos ravishda tahrirlang
- Arduino Joystick kutubxonasini oling
Mening holatimda men quyidagi xususiyatlarni xohlardim:
- Darajalarni boshqaradigan tugmalar (mikrofon va chiqish)
- Ovozni o'chirish tugmasi
- 2 eksa joystik Windows tomonidan ilovalardan foydalanish uchun tan olingan
Darajalar
Deej birinchi nuqtaga juda ko'p e'tibor beradi. Men bu funktsiyani o'zgartirmadim
Ovozni o'chirish tugmasi
Men Joystick -dagi tugmachani funktsional ovozni o'chirish tugmasi sifatida ishlatmoqchi ekanligimni erta aniqladim.
Kodni tekshirganingizda, men "yumshoq" ovozni o'chirishni tanlaganimni ko'rasiz - tugma bosilganda MIC ovozi nolga tushiriladi (va LED yonadi). Qayta bosilganda, MIC ovoz balandligi avvalgi holatiga qaytariladi va LED o'chadi.
Oxir -oqibat men Arduino klaviatura kutubxonasini kengaytirilgan media klaviatura kodlari to'plami orqali ovozni o'chirish holatini o'zgartirish uchun ko'rib chiqaman.
Joystikni amalga oshirish
Buning uchun joystik Windows tomonidan HID qurilmasi sifatida tan olinishi uchun Arduino Joystick kutubxonasidan foydalanishni talab qiladi, natijada har qanday o'yin/dastur.
Men kodlash haqida gapiradigan bo'lsam -da, Joystick kutubxonasi hujjatlari amalda bajarilish jihatidan biroz siyrak ekanini topdim, lekin biroz o'ylangan googling meni nima bo'layotganini tushunishga yordam bergan boshqa misollarga olib keldi. Tafsilotlar uchun oxiridagi manbalar bo'limini tekshiring.
Men faqat X/Y pinlarini aniqlash, ularning holatini o'qish va Joystik kutubxonasiga yuborishim kerak edi. Arduino Windows -da Leonardo sifatida paydo bo'ldi va Joystick qurilmasi sifatida to'g'ri sozlangan.
Men uni Elita Dangerous -da, HOTAS -ning mavjud sozlamalari bilan birga o'rnatishga muvaffaq bo'ldim va Joystick -ni narsalarni to'g'ri boshqarishga va HOTAS -ga zid kelmaslikka muvaffaq bo'ldim. Bu "Yulduzli urushlar: otryadlar" da ham yaxshi ishlaydi - menda jang paytida qalqonlarni o'rnatish uchun tez o'tishni o'rnatdim.
Mening Joystick sozlamam bilan ishlaydigan fayllar
Men joriy (2020 yil oktyabr) fayllarimni Codepile -ga yukladim.
- Arduino kodi (.ino fayli)
- Deej config.yaml
6 -qadam: tugatish
Xo'sh, bu bajarildi. Bu ishlaydi va men uning qanday birlashganidan mamnunman. Va men apparat dizayni, integratsiya va Arduino dasturlashi haqida bir oz ko'proq bilib oldim.
7 -qadam: ilova..dum..dum
VLC - bu ajoyib audio va video pleerda biroz g'alati narsa bor, agar ovoz balandligi tashqi tomondan boshqarilsa, u 0% dan 27% gacha ko'tariladi. Ilova ichidagi ovoz balandligini boshqarish yordamida darajani sozlashda bunday bo'lmaydi, faqat Deej kabi tashqi boshqaruv bilan.
Deej ishlab chiqaruvchisi tezda vazifani bajaradigan VLC ichidagi vaqtinchalik echimni topdi, yuqoridagi rasmga qarang:
"… Agar siz" Kuzatish "xatti -harakatini o'chirishni xohlasangiz, buni VLC audio chiqish modulini o'zgartirish orqali amalga oshirishingiz mumkin. Men bu erda urinishlarimda DirectXdan foydalanganman. O'zgarish kuchga kirishi uchun VLCni qayta ishga tushirishingiz kerak bo'ladi. Windows audio sessiyasiga ega bo'ling va uni deej orqali boshqaring, bu faqat VLC tovush paneli bilan harakatlanishiga to'sqinlik qiladi)"
8 -qadam: Qo'shimcha manbalar
Hech qanday tartibda ko'rsatilmagan kuchli Goog orqali topilgan …
- Arduino Joystik kutubxonasi (v2) - joystikni birlashtirish uchun kerak
- Sparkfun Pro Micro -ni ulash bo'yicha qo'llanma - bu Arduino haqida yaxshi manba
- deej - tugmachalarni boshqaradigan dastur
- USB ulagichining turlari - juda ko'p variantlar borligini kim bilardi?
- Arduino Pro Micro Analog Pinouts
- Arduino Leonardo Gaming Joystick - Leonardo Pro Micro -ga o'xshaydi, faqat kattaroq
- Arduino Pro Micro (Clone) porti aniqlanmadi (Qaror) - siz Pro Micro -ni g'ishtlaganingizda (men qildim)
- Arduino Leonardo/Micro o'yin boshqaruvchisi sifatida/joystik
- Ovozni o'chirish uchun multimediya kalitidan foydalanish misoli - HID loyihasi kutubxonasidan foydalanish
- HID loyihasi kutubxonasi misol kodi, ommaviy axborot vositalarini to'xtatib turish / ijro etish uchun
- O'yin paneli boshqaruvchisini ko'rsatadigan boshqa kod misoli.
- ArduinoGamingController_updated - Joystick kutubxonasidan foydalanishning yaxshi kod tavsifi
- LED rezistorli kalkulyator - bu sizning loyihangizga qanchalik katta rezistor kerakligini bilish uchun
- Belgilar kutubxonasi - flaticon.com - tugmalar tepasida ishlatilgan tasvirlar manbai
- Yana bir rezistorli rang dekoderi - rang va violani bosing!
Tavsiya:
Ovozni boshqaruvchi robot qo'l: 4 qadam
Ovozli boshqaruv qo'li: Men sizning ovozli buyrug'ingiz bilan ishlaydigan robot qo'lini yaratdim. Robot qo'li tabiiy ulangan nutq usuli bilan boshqariladi. Til kiritish foydalanuvchilarga robot bilan ko'pchilikka tanish bo'lgan ma'noda muloqot qilish imkonini beradi. Advan
Vokal GOBO - Ovozni pasaytiruvchi qalqon - Vokal kabinasi - Vokal qutisi - Refleksion filtr - Vokalshild: 11 qadam
Vokal GOBO - Ovozni pasaytiruvchi qalqon - Vokal kabinasi - Vokal qutisi - Refleksiya filtri - Vokalshild: Men o'z uy studiyamda ko'proq vokal yozishni boshladim va yaxshiroq ovoz olishni xohladim va ba'zi tadqiqotlardan so'ng men " GOBO " edi. Men bu ovozni pasaytiradigan narsalarni ko'rgandim, lekin nima qilganini tushunmadim. Endi qilaman. Men y topdim
Ovozni boshqaruvchi stereo audio kuchaytirgich: 5 qadam
Ovozni boshqaruvchi stereo ovoz kuchaytirgichi: ovozli signallarni nazorat qilish, ovoz balandligini nazorat qilish. Muvaffaqiyatli va muammosiz foydalanish juda yaxshi. Aloqa uchun elektr ta'minoti taqdim etilgan
Ovozni aniqlash funktsiyasi bilan boshqaruvchi robot: 7 qadam (rasmlar bilan)
Ovozni aniqlash funktsiyasi bilan boshqaruvchi robot: Gidotexnika roboti - bu biz tashrif buyuruvchilarni kollejimizdagi turli bo'limlarga yo'naltirish uchun qilgan mobil robot. Biz bir nechta oldindan belgilangan so'zlarni gapirishga va kirish ovoziga qarab oldinga va orqaga harakat qilishga majbur bo'ldik. Bizning kollejimizda bizda
Uyda bezovta qiladigan narsa (bezovta qiluvchi narsa): 4 qadam (rasmlar bilan)
Uyda bezovtalanadigan narsa (bezovta-a-tron): Thinkgeek.com achchiq-a-tron deb nomlangan narsani sotadi. Bu, asosan, faollashtirilganda, turli vaqt oralig'ida signal beruvchi qurilma. Garchi, bu ko'rsatma, o'ylaydigan odamning g'azablantiradigan-a-tronining aniq nusxasini yaratmasa-da, agar sizda materiallar va