Sisukord:
- Samm: tarvikud
- 2. samm: ümbris
- 3. samm: vooluring
- Samm: riistvara viimistlemine
- Samm 5: Tarkvara
- 6. samm: lõpp
- 7. samm: lisa..dum..dum
- 8. samm: täiendavad ressursid
Video: Arduino klaviatuuri juhtkangi pikenduskast ja helikontrolleri asi Deej abil: 8 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:45
Tinkercadi projektid »
Miks
Olen juba mõnda aega tahtnud klaviatuurile lisada väikese juhtkangi liideseelementide juhtimiseks või muid väiksemaid ülesandeid mängudes ja simulaatorites (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons jne).
Samuti olen ma Elite: Dangerous jaoks hädas olnud helitugevuse segamisega välisest helist (sisseehitatud muusika, kuigi hea, kordub pärast mitmeid tunde mustas olekus), mängusisese heli ja välise kõnepaketi toega.
Windowsi sisseehitatud allikamikser on „ok”, kuid ekraani ja hiire juhtimise liugurite vahetamine mängu keskel on valus. Laiendatud klaviatuuri juhtimiskasti olemasolu tundus õige tee. Deej on lahendus, mille ma leidsin.
Kuidas
Olen hiljuti Arduino kohta õppinud ja sattusin redditi deej -projekti juurde. Näis, et see lahendab mõlemad probleemid ühes käepärases pakendis. Ja see laseks mul kujundada ja printida suurepärase 3D -korpuse.
Mis on deej?
(saidilt) deej on ** avatud lähtekoodiga riistvara helitugevuse segisti ** Windowsi ja Linuxi arvutitele. See võimaldab teil kasutada reaalse elu liugureid (nagu DJ!), Et ** sujuvalt juhtida erinevate rakenduste helitugevust ** (nt teie muusikapleier, mäng, mida mängite ja häälvestluse seanss) ilma, et peaksite sa teed.
Minu versioon
Karbi väikese hoidmiseks valisin nuppude (pöörlev lineaarne potentsiomeeter (potid = takistid)) asemel liugurid. Funktsionaalselt töötavad nad samamoodi. Praegused ja populaarsed deej -kujundused ei sisalda juhtkangi, seega on see natuke disaini hübriid. Vastasel juhul on see üsna lihtne ülesehitus.
Deej töötab koos Arduino Nano, Pro Micro või Unoga, kuid arendaja Nano ja Pro Micro on ametlikult soovitatud. Valisin Arduino Pro Micro, kuna tahtsin juhtkangi, ja Arduino juhtkangi raamatukogu toetab seda. Võin kasutada ka Arduino klaviatuuriteeki, kui soovin juhtkangi nupuga kasutada meediumiklaviatuuri vaigistamise funktsiooni (mitte „pehmet vaigistust”), kuid see on kaugemal.
Samm: tarvikud
Kast
Laadige alla STL -failid (loodud Tinkercadis):
- Kaasas olevad failid saidil Prusa (https://www.prusaprinters.org/)
- Thingiverse (peagi saadaval)
Riistvara (tootmisüksus)
- 1x Arduino Pro Micro
- 4x 10k pöörlev (nupp) potentsiomeetrid (mitte pöörlevad kontrollerid, kasutage potte)
- 1x Arduino KY-023 juhtkang
- 5 -jala pikkune Cat5 võrgukaabel
- 1x USB A - USB B mikrokaabel (USB A on suur ruudukujuline pistik, USB B micro on Arduino Pro Micro sisu)
- 1x 5mm punane LED
- 1x 220 oomi takisti
Mul oli ümberringi mõned lisadetailid, nii et mõtlesin ehitada arendusüksuse, et asju testida. Lihtsalt asjade ühendamine leivaplaadiga hõlbustas lõpliku asja visualiseerimist.
- 1x Arduino Pro Micro
- 4x 10k pöörlev (nupp) potentsiomeetrid (mitte pöörlevad kontrollerid, kasutage potte)
- 1x hetkeline vajutusnupp (kõva lähtestamise lüliti)
- 1x USB A - USB B mikrokaabel (USB A on suur ruudukujuline pistik, USB B micro on Arduino Pro Micro sisu)
- assortii džemprijuhtmed
- leivalaud
- 1x 5mm punane LED
-
1x 220 oomi takisti
2. samm: ümbris
Kujundus
Mulle meeldisid mõned muud deej kogukonna galeriis profileeritud kujundused, nii et mulle meeldivad funktsioonid põhinevad:
- Lihtne kujundada ja printida
- Ärge segage minu teisi töölaua välisseadmeid
- Ärge kasutage korpuse kinnitamiseks kruvisid ega kinnitusvahendeid
- Klaviatuuriga sarnane esteetiline disain
Kujundasin ja printisin kaks prototüüpi enne selle lõpliku kujunduse juurde asumist. Mulle meeldib, kui mul on füüsiline versioon, millega mängida selles ruumis, kus ma seda kasutan, kuna see annab mulle parema ettekujutuse lõpliku objekti toimimisest.
Hakkasin lühidalt projekteerima Fusion360 -s, kuid ei tea seda nii hästi kui Tinkercad, nii et vahetasin ümber ja töötasin seal.
Kuna tahtsin kruvivaba disaini, lõin pesakasti. Esimesel prototüübil oli õhuke kaas ja sügav kast kõige jaoks. Teine disain vahetas selle sügava kaane ja madala põhjaga kastiga. See pidi hoidma ainult Arduino Pro Mini, nii et see ei pidanud olema suur. Lisatud on ka reljeefsed ikoonid.
Kolmas kujundus muudeti nii, et see sobiks minu klaviatuuri kõrvale.
Trükk
Trükkisin kasti PLA -vormingus, programmeerides hõõgniidi / kihi vahetamise mustalt punasele kaane jaoks, kus ikoonid hakkavad lihtsalt nähtavaks muutuma, ja ülejäänud kaane puhul uuesti mustale.
Probleem
Kogu selle aja jooksul oli juhtkangi kinnitus probleemiks. Isegi kolmandas konstruktsioonis lööb kepp ühes kohas vastu aluseid. Järgmisel iteratsioonil on paremad kliirensid. Ma oleksin võinud rohkem disaini kallal töötada, kuid tahtsin jätkata järgmise etapiga, paigaldamisega.
3. samm: vooluring
Halvim juhtmestik üldse
Ok, see on minu esimene täis Arduino projekt. Jah, ma olen varem teinud asju leivaplaatidel ja kasutan seda selle arendusversiooni koostamiseks, kuid tegelikult valmistamise ja kokkupaneku puhul on see minu esimene. Nii et minu juhtmestik näeb välja nagu jama. Seal on see teelt väljas:)
Värskendus: olen sellest ajast ehitanud teise ja juhtmestik on seal palju kenam. Vaata pilte:)
Tootmisüksus - mis kuhu läheb
Arduino Pro Micro on väike väike plaat ja sobib aluse vormitud sektsiooni. Nupud ja juhtkang sobivad kaane aukudesse. Kuid ärge paigaldage midagi enne, kui olete jootmisvõistluse saanud.
Juhtmestik
Mul ei olnud ühtegi korralikku vooluahelat, kuid mul oli üle jäänud tahkete südamike cat5 võrgukaabli rull, nii et ma kasutasin seda. See on natuke jäigem ja võib -olla rabedam kui ahelaga traat, kuid see töötab.
Komponentide paigutamisel nende lõpliku paigaldusasendi ligikaudsele tasemele hindasin iga traadi kaugust, lisasin natuke rohkem lõtvuse jaoks jne, seejärel lõikasin ja trimmisin traadi. Jätsin palju lõtku.
Ühendusskeemile viidates juhtisin ühisosa (must) ja VCC (punane) nuppudele ja juhtkangile, kui see on näidatud. Kuna võrgukaabel pole nendes värvides, valisin just värvi ja hoidsin oma juhtmestiku funktsiooniga kooskõlas.
Individuaalne pott. analoogliinid (kollane) jooksid tihvtideni A0 - A3. Ka juhtkangi jooned (oranžid), samuti analoogid, jooksid I/O kontaktidele 8 ja 9. Need tuleb Arduino koodis tähistada kui Analoog kui A8 ja A9.
Juhtkangi lüliti tihvt (sinine) jooksis tihvti 7. See on koodis digitaalne tihvt.
Isolatsioon
Kuna see jäik traat topitakse väiksesse ruumi, otsustasin jootmisühendused isoleerida terve kuumsulamliimiga. Seejärel pani kõik paika ja käivitas tahvlil ja pottidel lihtsa testi, kasutades Arduino näite AnalogInput koodi versiooni - muudetud kõigi pottide lugemiseks.
Teine versioon
Kahel viimasel pildil on järgmine kast, mille ma ehitan. Sellel on viis nuppu ja üks hetkeline nupp vaigistamiseks. Ei mingit juhtkangi. Sama suur kast.
Samm: riistvara viimistlemine
Joysticki paigaldamise ajaks mõistsin, et selle plaadi ja Pro Micro külge jäetud tihvtide päiste vahel pole palju vaba ruumi.
Pärast tihvtide päiste väikest ettevaatlikku painutamist ja kuumliimi (isolatsiooniks) uuesti pealekandmist suleti korpus korralikult.
Pottide paigaldamine läks ilma probleemideta.
Jälle juhtmetega
Tahke südamikuga juhtmed on natuke jäigad ja võivad liiga rabedaks muutudes olla rabedad, nii et keerake need ettevaatlikult (ilma teravate nurkadeta) vabale kohale. Mõned minu omad olid liiga pikad ja nõudsid natuke täiendavat voltimist.
Kui kõik on paika pandud, paigaldage alus ülaosale ja peaksite riistvaraga lõpetama….
Aga oodake, seal on veel midagi
Loomulikult otsustasin pärast paarinädalast kasutamist, et mul on vaja indikaatorit, mis annaks mulle teada, milline on pehme koodiga MUTE funktsiooni olek.
Pärast LED -funktsioonide lisamiseks vajaliku koodi muutmist (vt järgmist jaotist) jootsin LED -i / juhtmed / takisti kiiresti kokku ja ühendasin plaadiga.
Kulutasin rohkem aega korpuse ülaossa augu puurimiseks, kuna ei tahtnud ülemist viimistlust kahjustada. Märkisin keskpunkti, mõlkisin selle, seejärel keerutasin augu tegemiseks käsitsi puurit.
Täiendav hoolikas viilimine puhastas augu ja tagas ilusa tiheda pressimise, et LED ei ulatuks ülemisest pinnast liiga kaugele.
Samm 5: Tarkvara
Ülevaade
Niisiis, see on kaheosaline protsess.
- Hankige ja mõistke, kuidas Deej töötab, ja muutke faili Config.yaml
- Muutke Arduino koodi, et see vastaks soovitud riistvarale ja funktsioonidele
- Hankige Arduino juhtkangi kogu
Minu puhul tahtsin neid funktsioone:
- Nupud, mis reguleerivad taset (mikrofon ja väljund)
- Vaigistuslüliti
- Windowsi poolt rakenduste kasutamiseks tuvastatud kaheteljeline juhtkang
Tasemed
Deej hoolitseb esimese punkti eest päris palju. Ma ei kohandanud seda funktsionaalsust
Vaigistuslüliti
Olin juba varakult otsustanud, et kasutan juhtkangi vajutust/lülitit funktsionaalse vaigistusnupuna.
Koodi uurides näete, et olen valinud (esialgu) „pehme” vaigistuse - nupule vajutamisel vähendatakse MIC helitugevus nulli (ja LED süttib). Kui seda uuesti vajutada, naaseb MIC helitugevus eelmisele sättele ja LED kustub.
Lõpuks vaatan Arduino klaviatuuriteegi rakendamist, et lülitada välja vaigistamise olek laiendatud meediumiklaviatuuri koodikomplekti kaudu.
Juhtkangi rakendamine
Selleks on vaja kasutada Arduino juhtkangi kogu, et Windows ja seega kõik mängud/rakendused tunneksid juhtkangi HID -seadmena.
Ma olen kodeerimisel natuke noob ja leidsin Joysticki raamatukogu dokumentatsiooni tegeliku rakendamise poolelt pisut hõredalt - kuid natuke keskendunud guugeldamine viis mind teiste näideteni, mis aitasid mul toimuvast aru saada. Lisateabe saamiseks vaadake lõpus olevat ressursside jaotist.
Kõik, mida ma pidin tegema, oli tuvastada X/Y tihvtid, lugeda nende olekut ja saata see juhtkangi raamatukokku. Arduino ilmus Windowsile Leonardona ja oli õigesti konfigureeritud juhtkangi seadmena.
Suutsin selle oma olemasoleva HOTAS -seadistuse kõrval seadistada ka Elite Dangerousis ja lasta juhtkangil asju korralikult juhtida ja mitte HOTAS -iga vastuollu minna. See töötab hästi ka Star Wars: Squadronsis - mul on see seatud kiireks lülitiks kilpide seadistamiseks lahingu ajal.
Failid, mis töötavad minu juhtkangi seadistusega
Laadisin oma praegused (oktoober 2020) failid Codepile'i üles.
- Arduino kood (.ino -fail)
- Deej config.yaml
6. samm: lõpp
See on tehtud. See töötab ja ma olen pigem rahul sellega, kuidas see kokku sai. Ja õppisin natuke rohkem riistvara projekteerimise, integreerimise ja Arduino programmeerimise kohta.
7. samm: lisa..dum..dum
VLC - sellel vingel heli- ja videopleieril on väike veidrus, kus helitugevus hüppab väliselt reguleerituna 0% -lt 27% -le. Seda ei juhtu, kui reguleerida taset rakendusesisese liidese helitugevuse reguleerimise abil, vaid ainult selliste väliste juhtnuppudega nagu Deej.
Deej arendaja leidis kiiresti VLC-sisese lahenduse, mis teeb selle töö, vt ülaltoodud pilti:
"… kui soovite selle" jälgimise "käitumise keelata, saate seda teha, muutes VLC heliväljundi moodulit. Kasutasin siin oma katsetes DirectX -i. Muudatuse jõustumiseks peate VLC -i taaskäivitama. (Siiski teil on Windowsi heliseanss ja saate seda deej kaudu juhtida, see takistab lihtsalt VLC helitugevuse riba liikumist)"
8. samm: täiendavad ressursid
Leitud võimsa Googi kaudu, mis pole loetletud mingis kindlas järjekorras…
- Arduino juhtkangi raamatukogu (v2) - vajalik juhtkangi integreerimiseks
- Sparkfun Pro Micro ühendamisjuhend - hea ressurss selle Arduino kohta
- deej - tarkvara, mis juhib nuppe
- USB -pistikute tüübid - kes teadis, et variante on nii palju?
- Arduino Pro Micro analoogpistikud
- Arduino Leonardo Gaming Joystick - Leonardo sarnaneb Pro Microga, ainult suurem
- Arduino Pro Micro (kloon) porti ei tuvastatud (lahendus) - kui te oma Pro Micro tellis (ma tegin)
- Arduino Leonardo/Micro mängukontrollerina/juhtnupp
- Näide multimeediavõtme kasutamisest vaigistamiseks - HID Projecti teegi kasutamine
- HID -projekti raamatukogu näidiskood meedia peatamiseks / esitamiseks
- Teine koodinäide, mis näitab mängupuldi kontrollerit.
- ArduinoGamingController_updated - hea koodikirjeldus juhtkangi kogu kasutamise kohta
- LED -takisti kalkulaatori asi - saate teada, kui suurt takisti teie projektis vaja läheb
- Ikooniteek - flaticon.com - nuppude kohal kasutatud piltide allikas
- Teine takisti värvide dekooder - klõpsake värvi ja vioola!
Soovitan:
Robotikäe juhtimine TLV493D, juhtkangi ja Arduino abil: 3 sammu
Robotikäe juhtimine TLV493D, juhtkangi ja Arduino abil: alternatiivne kontroller teie robotile TLV493D anduriga, 3 vabadusastmega (x, y, z) magnetandur, millega saate oma uusi projekte juhtida oma I2C -side abil mikrokontrollerid ja elektrooniline plaat, mis Bast P
Kuidas juhtida BLDC mootorit Arduino ja juhtkangi abil: 6 sammu
Kuidas juhtida BLDC mootorit Arduino ja juhtkangi abil: Tere sõbrad selles õpetuses, ma näitan teile, kuidas juhtida harjadeta alalisvoolumootorit ehk BLDC mootorit Arduino ja juhtkangi abil
2 servo juhtimine analoog juhtkangi abil: 5 sammu (piltidega)
2 servo juhtimine analoogjuhtkangi abil: Tere poisid, see on minu esimene juhendatav ja selles postituses jagan, kuidas kasutada analoogjuhtkangi servode juhtimiseks Arduino UNO abil. Püüan seda võimalikult lihtsasti selgitada, loodan, et teile meeldib seda
Mikro: bitiroboti ja juhtkangi programmeerimine: bitikontroller MicroPythoni abil: 11 sammu
Micro: Bit Robot & Joystick programmeerimine: Bit Controller MicroPythoniga: Robocamp 2019, meie suvise robootikalaagri jaoks, 10-13-aastased noored jootavad, programmeerivad ja ehitavad BBC mikro: bitipõhist "antweight robotit", aga ka programmeerivad mikro: bit, mida saab kasutada kaugjuhtimispuldina. Kui olete praegu Robocampis, suusake
Muudetud metsik asi - juhtkangi juhtimine - uus ja täiustatud: 7 sammu (koos piltidega)
Muudetud metsik asi - juhtkangi juhtimine - uus ja täiustatud: värskendus 01.08.2019: Kaks aastat pärast selle projekti lõpetamist olen projekteerinud ja tootnud mitmeid trükkplaate, et hõlbustada nende ratastoolide teisendamist. Esimene trükkplaat on peaaegu sama, mis siin joodetud kohandatud protoplaat, kuid sisekülg