Tartalomjegyzék:
- 1. lépés: Kellékek
- 2. lépés: A ház
- 3. lépés: Az áramkör
- 4. lépés: A hardver befejezése
- 5. lépés: A szoftver
- 6. lépés: Vége
- 7. lépés: Kiegészítés..dum..dum
- 8. lépés: További források
Videó: Arduino billentyűzet joystick bővítő doboz és hangvezérlő dolog a Deej használatával: 8 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:39
Tinkercad projektek »
Miért
Egy ideje szeretnék egy kis joystickot hozzáadni a billentyűzetemhez az interfész elemek vezérléséhez, vagy más kisebb feladatokat a játékokban és szimulátorokban (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons stb.).
Továbbá az Elite: Dangerous esetében küszködtem a hangerőszint keverésével a külső audióból (a beépített zene, bár jó, de ismétlődő lesz sok óra után a fekete színben), a játékon belüli hanggal és a külső hangcsomag-támogatással.
A Windows beépített forráskeverője „rendben” van, de a képernyő közepén és az egérvezérlő csúszkák váltása a játék közepén fájdalmas. Úgy tűnt, hogy a kibővített billentyűzetvezérlő doboz az út. Deej a megoldás, amit találtam.
Hogyan
Nemrég tanultam az Arduino -ról, és találkoztam a deej projekttel a reddit -en. Úgy tűnt, ez megoldja mind a két problémát egy praktikus csomagban. És lehetővé tenné, hogy megtervezzek és kinyomtassak egy remek 3D -s tokot.
Mi az a deej?
(a webhelyről) A deej egy ** nyílt forráskódú hardver-keverő ** Windows és Linux számítógépekhez. Lehetővé teszi, hogy valós csúszkákkal (például DJ!) ** zökkenőmentesen vezérelje a különböző alkalmazások hangerejét ** (például a zenelejátszót, a játékot és a hangcsevegést) anélkül, hogy le kellene állítania csinálod.
Az én verzióm
Annak érdekében, hogy a doboz kicsi legyen, a gombok (forgó lineáris potenciométer (edények = ellenállások)) mellett döntöttem a csúszkák helyett. Funkcionálisan ugyanúgy működnek. A jelenlegi és népszerű deej tervek nem tartalmaznak joystickot, így ez egy kicsit dizájn hibrid lesz. Ellenkező esetben ez egy meglehetősen egyszerű konstrukció.
Deej egy Arduino Nano, Pro Micro vagy Uno készülékkel fog dolgozni, de a Nano és a Pro Micro „hivatalosan ajánlott” a fejlesztő számára. Az Arduino Pro Micro -t választottam, mert a joystickot akartam, és az Arduino Joystick Library támogatja. Használhatom az Arduino billentyűzet -könyvtárat is, amikor a média billentyűzet némítási funkcióját (a „lágy némítás” helyett) szeretném használni a joystick gombbal, de ez az úton van.
1. lépés: Kellékek
A doboz
Töltse le az STL fájlokat (Tinkercad -ban tervezve):
- Mellékletek a Prusa -n (https://www.prusaprinters.org/)
- Thingiverse (hamarosan)
A hardver (termelési egység)
- 1x Arduino Pro Micro
- 4x 10k forgó (gombos) potenciométer (nem forgóvezérlők, használjon edényeket)
- 1x Arduino KY-023 joystick
- 5 lábas cat5 hálózati kábel
- 1x USB A - USB B mikrokábel (az USB A a nagy négyzet alakú csatlakozó, az USB B micro az Arduino Pro Micro része)
- 1x 5 mm -es piros LED
- 1x 220 ohmos ellenállás
Volt néhány extra alkatrészem a környéken, ezért úgy gondoltam, hogy felépítek egy fejlesztési egységet, hogy kipróbáljam a dolgokat. Ha csak összekapcsolja a dolgokat egy kenyérsütő táblával, könnyebb volt elképzelni a végső dolgot.
- 1x Arduino Pro Micro
- 4x 10k forgó (gombos) potenciométer (nem forgóvezérlők, használjon edényeket)
- 1x pillanatnyi nyomógombos kapcsoló (hard reset kapcsoló)
- 1x USB A - USB B mikrokábel (az USB A a nagy négyzet alakú csatlakozó, az USB B micro az Arduino Pro Micro része)
- válogatott jumper vezetékek
- kenyeretábla
- 1x 5 mm -es piros LED
-
1x 220 ohmos ellenállás
2. lépés: A ház
A dizájn
Tetszett néhány más, a deej közösségi galériában profilozott dizájn, tehát az általam kedvelt funkciók alapján:
- Könnyen tervezhető és nyomtatható
- Ne akadályozza más asztali perifériáimat
- Ne használjon csavarokat vagy rögzítőelemeket a ház rögzítéséhez
- A billentyűzethez hasonló esztétikai kialakítás
Két prototípust megterveztem és kinyomtattam, mielőtt ennek a végleges tervnek a megoldása mellett döntöttem. Szeretem, ha van egy fizikai verzióm, amellyel játszhatok abban a térben, ahol használom, mert így jobban érzékelhetem a végső objektum működését.
Röviden elkezdtem tervezni a Fusion360 -ban, de nem ismerem olyan jól, mint a Tinkercad, így átváltottam és ott dolgoztam.
Mivel csavarmentes kivitelre vágytam, létrehoztam egy fészkelődobozt. Az első prototípusnak vékony fedele és mély doboza volt mindenhez. A második kivitel ezt mély fedéllel és sekély alsó dobozzal cserélte ki. Csak az Arduino Pro Mini -t kellett tartania, így valóban nem kellett nagynak lennie. Szintén beépítették a dombornyomott ikonokat.
A harmadik kialakítást átméretezték, hogy illeszkedjen a billentyűzetem melletti helyhez.
A nyomtatás
A dobozt PLA -ban kinyomtattam, programozva egy izzószál / réteg cserét Fekete -ről Vörösre a fedél számára, ahol az ikonok csak akkor kezdenek láthatóvá válni, és ismét vissza a Fekete -re a fedél többi részében.
Probléma
Mindezek során a joystick rögzítése jelentett problémát. Még a harmadik kivitelben is a bot egy helyben ütközik a tartókhoz. A következő iterációnál jobb lesz a szabadság. Dolgozhattam volna többet a tervezésen, de szerettem volna a következő fázisra, a telepítésre lépni.
3. lépés: Az áramkör
A legrosszabb vezetékes munka valaha
Ok, ez az első teljes Arduino projektem. Igen, korábban már dolgoztam kenyérpadlón, és ezt használom a fejlesztői verzió elkészítéséhez, de ami a tényleges gyártást és összeszerelést illeti, ez az első. Szóval a huzalozásom baromságnak tűnik. Ott ez nem áll útban:)
Frissítés: Azóta építettem egy másikat, és a vezetékek sokkal szebbek. Nézd meg a képeket:)
Gyártó egység - Mi történik hova
Az Arduino Pro Micro egy apró kis tábla, és illeszkedik az alap formázott részéhez. A gombok és a joystick illeszkednek a fedél lyukaiba. De ne szereljen fel semmit, amíg meg nem kapja a forrasztási versenyt.
Vezeték
Nem volt megfelelő áramköri vezetékem, de volt egy maradék tekercs tömör magú cat5 hálózati kábel, tehát ezt használtam. Kicsit merevebb és talán törékenyebb, mint a sodrott áramkör, de működik.
Az alkatrészeket a végleges szerelési helyzetükhöz közelítve fektettem le, becsültem a távolságot minden egyes huzalhoz, hozzáadtam még egy kicsit a lazasághoz stb., Majd elvágtam és levágtam a vezetéket. Nagy lazaságot hagytam.
A bekötési rajzra hivatkozva a közös földet (fekete) és a VCC -t (piros) a gombokhoz és a joystickhoz futtattam, ahol feltüntették. Mivel a hálózati kábel nem ilyen színű, csak kiválasztottam egy színt, és a vezetékeim összhangban maradtak a funkcióval.
Az egyéni edény. analóg vonalak (sárga) az A0 - A3 érintkezőkig vezettek. A Joystick vonalak (narancssárga), szintén analógok, a 8 -as és 9 -es I/O érintkezőkhöz vezettek. Ezeket az Arduino kódban Analógként kell jelölni, mint A8 és A9.
A joystick kapcsoló csapja (kék) a 7 -es tűre futott. Ez egy digitális tű lesz a kódban.
Szigetelés
Mivel ezt a merev huzalt kis helyre fogják tömni, úgy döntöttem, hogy a forrasztási kapcsolataimat egészséges, meleg olvadékragasztóval szigetelöm. Ezután mindent a helyére rakott, és lefuttatott egy egyszerű tesztet a táblán és az edényeken az Arduino Példa AnalogInput kódjának verziójával - az összes edény olvasásához módosítva.
Második verzió
A fenti két utolsó kép mutatja a következő dobozt, amit építek. Ennek 5 gombja és egy pillanatnyi nyomógombja lesz a némításhoz. Nincs joystick. Ugyanazon méretű doboz.
4. lépés: A hardver befejezése
Mire feltelepítettem a joystickot, rájöttem, hogy nincs nagy távolság a tábla és a Pro Micro -n maradt tűfej között.
A tűcsapok kis óvatos hajlítása és a felolvasztott ragasztó (szigeteléshez) újbóli felhordása után a ház megfelelően záródott.
Az edények felszerelése gond nélkül ment.
Ismét a vezetékekkel
A tömör magvezetékek kissé merevek, és törékenyek lehetnek, ha túl sokszor hajlítják őket, ezért óvatosan hajtsa be őket (éles sarkok nélkül) a rendelkezésre álló helyre. Néhány enyém túl hosszú volt, és egy kis extra összecsukást igényeltek.
Miután minden a helyére került, csak illessze az alapot a tetejére, és készen kell állnia a hardverrel….
De várj, van még több
Természetesen néhány hét használat után úgy döntöttem, hogy szükségem van egy mutatóra, amely tájékoztatja a lágy kódú MUTE funkció állapotáról.
A LED funkciók hozzáadásához szükséges kód szerkesztése után (lásd a következő részt) gyorsan felforrasztottam a LED / vezetékeket / ellenállást, és csatlakoztattam őket a panelhez.
Több időt töltöttem a lyuk fúrásával a tok tetején, mivel nem akartam elcsavarni a felső felületet. Kijelöltem egy középső foltot, behorpadtam, majd kézzel megforgattam egy fúrót a lyuk elkészítéséhez.
További óvatos reszelés megtisztította a lyukat, és biztosította a szoros préselést, hogy a LED ne nyúljon túl messze a felső felület felett.
5. lépés: A szoftver
Áttekintés
Tehát ez egy két részből álló folyamat.
- Ismerje meg és értse meg a Deej működését, és szerkessze a Config.yaml fájlt
- Szerkessze az Arduino kódot, hogy megfeleljen a kívánt hardvernek és funkcióknak
- Szerezze be az Arduino joystick könyvtárat
Esetemben ezeket a funkciókat akartam:
- Gombok, amelyek szabályozzák a szinteket (mikrofon és kimenet)
- Némítás kapcsoló
- 2 tengelyes joystick, amelyet a Windows felismer az alkalmazás használatához
Szintek
Deej nagyjából gondoskodik az első pontról, ahogy jön. Ezt a funkciót nem módosítottam
Némítás kapcsoló
Korán elhatároztam, hogy a Joystick sajtóját/kapcsolóját funkcionális némítógombként fogom használni.
Amikor megvizsgálja a kódot, látni fogja, hogy (kezdetben) a "lágy" némítást választottam - a gomb megnyomásakor a MIC hangereje nullára csökken (és a LED világít). Ha ismét megnyomja, a MIC hangerő visszaáll az előző beállításra, és a LED kialszik.
Végül az Arduino billentyűzetkönyvtár megvalósítását fogom vizsgálni, hogy a némítás állapotát a kiterjesztett média billentyűzet kódkészleten keresztül kapcsoljam.
Joystick megvalósítás
Ez megköveteli az Arduino Joystick könyvtár használatát annak biztosítására, hogy a joystickot HID eszközként ismerje fel a Windows, következésképpen minden játék/alkalmazás.
Kicsit bunkó vagyok a kódolás terén, és a Joystick könyvtár dokumentációját kissé szűkösnek találtam a tényleges megvalósítási oldalon - de egy kis koncentrált googleolás más példákhoz vezetett, amelyek segítettek megérteni, mi történik. Részletekért nézze meg a végén található erőforrások részt.
Csak annyit kellett tennem, hogy beazonosítom az X/Y csapokat, elolvasom az állapotukat és elküldöm a Joystick könyvtárba. Az Arduino Leonardo -ként jelent meg a Windows számára, és megfelelően volt beállítva Joystick -eszközként.
Sikerült beállítani az Elite Dangerous -ban, a meglévő HOTAS beállításaim mellett, és a Joystick -ot megfelelően irányítani, és nem ütközni a HOTAS -szal. A Star Wars: Squadronsban is jól működik - gyors kapcsolóként állítottam be a pajzsok felállítását harc közben.
A Joystick beállítással működő fájlok
Feltöltöttem aktuális (2020. okt.) Fájljaimat a Codepile -be.
- Arduino kód (.ino fájl)
- Deej config.yaml
6. lépés: Vége
Nos, ez elkészült. Működik, és elégedett vagyok azzal, ahogy összejött. És kicsit többet tanultam a hardvertervezésről, az integrációról és az Arduino programozásról.
7. lépés: Kiegészítés..dum..dum
VLC - ennek a fantasztikus audio- és videolejátszónak van egy kis furcsasága, ahol a hangerő külső vezérlés esetén 0% -ról 27% -ra ugrik. Ez nem történik meg, amikor a szintet az alkalmazáson belüli felület hangerőszabályzójával állítja be, csak külső vezérlőkkel, például a Deej-vel.
A Deej fejlesztője gyorsan megtalálta a VLC-n belüli megoldást, amely elvégzi a feladatot, lásd a fenti képet:
"… ha le szeretné tiltani ezt a" követési "viselkedést, akkor ezt a VLC hangkimeneti moduljának megváltoztatásával teheti meg. Itt a DirectX -et használtam. A módosítás életbe léptetéséhez újra kell indítania a VLC -t. (Akkor is rendelkezzen egy Windows audio munkamenettel, és vezérelje azt a deej -en keresztül, ez csak megakadályozza, hogy a VLC hangerőszabályzó együtt mozogjon vele)"
8. lépés: További források
A hatalmas Goog -on keresztül találtuk meg, külön sorrendben felsorolva…
- Arduino Joystick Library (v2) - a joystick integrálásához szükséges
- Sparkfun Pro Micro csatlakoztatási útmutató - jó forrás erről az Arduino -ról
- deej - a gombokat vezérlő szoftver
- USB csatlakozó típusok - ki tudta, hogy ennyi változat létezik?
- Arduino Pro mikro analóg érintkezők
- Arduino Leonardo Gaming Joystick - A Leonardo hasonló a Pro Micro -hoz, csak nagyobb
- Az Arduino Pro Micro (klón) port nem észlelhető (Megoldás) - amikor a Pro Micro -t összekötötte (én)
- Arduino Leonardo/Micro játékvezérlőként/Joystick
- Példa multimédiás kulcs elnémítására - a HID Project könyvtár használatával
- HID Projekt könyvtár példakód média szüneteltetéséhez / lejátszásához
- Egy másik kód példa a gamepad vezérlőjét mutatja.
- ArduinoGamingController_updated - a Joystick Library használatának jó kódleírása
- LED ellenállás számológép - hogy megtudja, mekkora ellenállásra van szüksége a projektben
- Ikonkönyvtár - flaticon.com - a gombok felett használt képek forrása
- Egy másik ellenállásos szín dekódoló - kattintson egy színre és brácsára!
Ajánlott:
Hangvezérlő robotkez: 4 lépés
Hangvezérlő robotkez: Létrehoztam egy robotkart, amely az Ön hangutasításával működik. A robotkar természetes csatlakoztatott beszédbemenettel vezérelhető. A nyelvbevitel lehetővé teszi a felhasználó számára, hogy a legtöbb ember számára ismerős módon kommunikáljon a robottal. Az előny
Hangvezérlő fények Elektronika RGB LED szalagok és még sok más a Cortana és az Arduino otthoni automatizálásával: 3 lépés
Hangvezérlő lámpák Elektronika RGB LED szalagok és még sok más a Cortana és az Arduino otthoni automatizálásával: tetszik az ötlet, hogy hangjával vezérelje a dolgokat? Vagy nem szeret felkelni az ágyból, hogy lekapcsolja a villanyt? De az összes létező megoldás, például a google home túl drága? Most 10 dollár alatt elkészítheti saját maga. És ami még jobb, nagyon könnyű
Gyors és piszkos billentyűzet (üres billentyűzet): 3 lépés
Gyors és piszkos Das billentyűzet (üres billentyűzet): A Das billentyűzet a legnépszerűbb billentyűzet neve, amelyen nincs felirat a billentyűkön (üres billentyűzet). A Das billentyűzet ára 89,95 dollár. Ez az útmutató segít eligazítani, bár saját kezűleg készíthet bármilyen régi billentyűzetet, amellyel hever
Az Apple alumínium billentyűzet tisztítása . vagy bármely más puha tapintású billentyűzet: 5 lépés
Az Apple alumínium billentyűzet tisztítása …. vagy bármely más lágy érintésű billentyűzet: Bármilyen tiszta vagy, vagy megpróbáljuk megtartani alumínium alma billentyűzetünket, körülbelül egy év múlva mocskosak lesznek. Ez az utasítás segít tisztítani. Legyen óvatos, mert nem vagyok felelős azért, ha a billentyűzet eltörik közben
Cédrus (szivar?) Doboz hangszóró doboz: 8 lépés (képekkel)
Cedar (szivar?) Doboz hangszóró doboz: A Munny hangszórók ihlette, de nem hajlandó többet költeni, mint 10 dollár, itt az én útmutatásom a régi számítógépes hangszórók, a fából készült doboz a takarékboltból és sok forró ragasztó segítségével