Obsah:
- Krok 1: Spotrebný materiál
- Krok 2: Príloha
- Krok 3: Okruh
- Krok 4: Dokončenie hardvéru
- Krok 5: Softvér
- Krok 6: Koniec
- Krok 7: Dodatok..dum..dum
- Krok 8: Ďalšie zdroje
Video: Klávesnica Arduino Joystick Extender Box a ovládač zvuku vec používajúca Deej: 8 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
Projekty Tinkercad »
Prečo
Nejaký čas som chcel na svoju klávesnicu pridať malý joystick na ovládanie prvkov rozhrania alebo iné menšie úlohy v hrách a simulátoroch (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons atď.).
Tiež pre Elite: Dangerous som bojoval s miešaním úrovní hlasitosti z externého zvuku (vstavaná hudba, aj keď je dobrá, opakuje sa po mnohých hodinách v čiernych farbách), zvuku v hre a podpory externého hlasového balíka.
Vstavaný mixér zdrojov v systéme Windows je „v poriadku“, ale je náročné prepínať obrazovky a posuvníky ovládania myšou uprostred hry. Rozšírený ovládací panel klávesnice sa zdal byť správnou cestou. Deej je riešenie, ktoré som našiel.
Ako
Nedávno som sa učil o Arduine a na reddit som narazil na projekt deej. Vyzeralo to, že týmto sa oba tieto problémy vyriešia v jednom šikovnom balíku. A umožnilo by mi to navrhnúť a vytlačiť šikovné 3D puzdro.
Čo je deej?
(z webu) deej je ** open-source hardvérový mixér ** pre počítače so systémom Windows a Linux. Umožňuje vám používať posuvníky v reálnom živote (ako DJ!) Na ** bezproblémové ovládanie hlasitosti rôznych aplikácií ** (napríklad hudobného prehrávača, hry, ktorú hráte a relácie hlasového rozhovoru) bez toho, aby ste museli zastaviť robíš.
Moja verzia
Aby bola škatuľa malá, rozhodol som sa skôr pre gombíky (rotačný lineárny potenciometer (hrnce = odpory)) ako posuvníky. Funkčne fungujú rovnako. Aktuálne a obľúbené prevedenia deej neobsahujú joystick, takže toto bude trochu dizajnový hybrid. V opačnom prípade je to celkom priama konštrukcia.
Deej bude pracovať s Arduino Nano, Pro Micro alebo Uno, ale Nano a Pro Micro sú „oficiálne odporúčané“vývojárom. Vybral som si Arduino Pro Micro, pretože som chcel joystick, a knižnica Arduino Joystick Library to podporuje. Knižnicu klávesnice Arduino môžem použiť aj vtedy, keď chcem pomocou tlačidla na joysticku používať funkciu stlmenia mediálnej klávesnice (nie „tiché stlmenie“), ale to je ešte nižšie.
Krok 1: Spotrebný materiál
Box
Stiahnite si súbory STL (navrhnuté v Tinkercad):
- Súbory príloh na adrese Prusa (https://www.prusaprinters.org/)
- Thingiverse (už čoskoro)
Hardvér (výrobná jednotka)
- 1x Arduino Pro Micro
- 4x 10k otočný (gombík) potenciometre (nie otočné ovládače, použite hrnce)
- 1x Joystick Arduino KY-023
- Sieťový kábel catft s dĺžkou 5 stôp
- 1x mikro kábel USB A na USB B (USB A je veľký štvorcový konektor, USB B micro je to, čo je na Arduino Pro Micro)
- 1x 5 mm červená LED
- 1x odpor 220 ohmov
Mal som okolo seba niekoľko ďalších dielov, a tak som si povedal, že postavím vývojovú jednotku, na ktorej by som veci vyskúšal. Práve prepojenie vecí s doskou uľahčilo vizualizáciu konečnej veci.
- 1x Arduino Pro Micro
- 4x 10k otočný (gombík) potenciometre (nie otočné ovládače, použite hrnce)
- 1x okamžitý spínač s tlačidlom (spínač s tvrdým resetom)
- 1x mikro kábel USB A na USB B (USB A je veľký štvorcový konektor, USB B micro je to, čo je na Arduino Pro Micro)
- rôzne prepojovacie vodiče
- breadboard
- 1x 5 mm červená LED
-
1x odpor 220 ohmov
Krok 2: Príloha
Dizajn
Páčili sa mi niektoré ďalšie návrhy profilované v komunitnej galérii deej, takže som vychádzal z funkcií, ktoré sa mi páčili:
- Jednoduché navrhnutie a tlač
- Nezavadzajte v ceste mojim ďalším stolným perifériám
- Na zaistenie krytu nepoužívajte skrutky ani upevňovacie prvky
- Estetický dizajn podobný klávesnici
Predtým, ako som pristúpil k tomuto konečnému návrhu, navrhol som a vytlačil dva prototypy. Mám rád fyzickú verziu, s ktorou sa môžem hrať v priestore, v ktorom ju používam, pretože mi dáva lepší pocit, ako bude konečný objekt fungovať.
Krátko som začal navrhovať vo Fusion360, ale neviem to tak dobre, ako Tinkercad, takže som prešiel a pracoval tam.
Keďže som chcel bezskrutkový dizajn, vytvoril som hniezdo. Prvý prototyp mal tenké veko a hlbokú skrinku na všetko. Druhý dizajn to vymenil za hlboké veko a plytký spodný box. Musel držať iba Arduino Pro Mini, takže naozaj nemusel byť veľký. Zahrnuté sú aj reliéfne ikony.
Tretiemu dizajnu bola zmenená veľkosť, aby sa zmestil do priestoru vedľa mojej klávesnice.
Tlač
Vytlačil som škatuľu v PLA a naprogramoval som výmenu vlákna / vrstvy z čiernej na červenú za veko, kde by ikony začali byť viditeľné, a potom späť do čiernej za zvyšok veka.
Problém
To všetko spôsobil, že upevnenie joysticku bolo problémom. Aj v treťom prevedení palica naráža na držiaky na jednom mieste. Nasledujúca iterácia bude mať lepšie vôle. Mohol som na návrhu viac zapracovať, ale chcel som prejsť do ďalšej fázy, inštalácie.
Krok 3: Okruh
Najhoršia práca s elektroinštaláciou
Ok, toto je môj prvý kompletný projekt Arduino. Áno, už som niečo robil na doštičkách a jednu používam na vytvorenie tejto vývojovej verzie, ale pokiaľ ide o skutočnú výrobu a montáž, toto je moja prvá. Takže moje zapojenie vyzerá ako svinstvo. Tam to nie je v ceste:)
Aktualizácia: Odvtedy som postavil ďalší a zapojenie je tam oveľa krajšie. Pozrite si obrázky:)
Výrobná jednotka - Čo sa kde deje
Arduino Pro Micro je malá malá doska, ktorá sa zmestí do tvarovanej časti v základni. Gombíky a joystick sa hodia do príslušných otvorov vo veku. Ale nič nenamontujte, kým sa nedostanete k súťaži o spájkovanie.
Elektrické vedenie
Nemal som žiadny vhodný obvodový vodič, ale zostal mi zvitok sieťového kábla cat5 s pevným jadrom, takže som to použil. Je to o niečo tuhšie a možno krehkejšie ako drôt s obvodovým lankom, ale funguje to.
Rozložením komponentov na približnú hodnotu ich konečnej montážnej polohy som odhadol vzdialenosť pre každý drôt, pridal som trochu viac pre vôľu atď., Potom som kábel odstrihol a orezal. Nechal som veľa vôle.
S odkazom na schému zapojenia som viedol spoločným uzemnením (čierny) a VCC (červený) na gombíky a joystick tam, kde je to naznačené. Pretože sieťový kábel nie je v týchto farbách, vybral som len farbu a udržal som svoje zapojenie v súlade s funkciou.
Jednotlivé Pot. analógové linky (žlté) smerovali na piny A0 - A3. Riadky joysticku (oranžové), tiež analógové, smerovali na I/O piny 8 a 9. Tieto budú musieť byť v kóde Arduino označené ako analógové ako A8 a A9.
Pin prepínača joysticku (modrý) smeroval na pin 7. Toto bude digitálny pin v kóde.
Izolácia
Pretože tento tuhý drôt bude napchatý do malého priestoru, rozhodol som sa izolovať svoje spájkovacie spojenia zdravým kopčekom tavného lepidla. Potom zastrčil všetko na svoje miesto a spustil jednoduchý test na doske a bankách pomocou verzie kódu Arduino Example AnalogInput - upraveného tak, aby prečítal všetky hrnce.
Druhá verzia
Posledné dva obrázky vyššie ukazujú ďalší box, ktorý staviam. Tento bude mať 5 gombíkov a jedno dočasné tlačidlo na stlmenie zvuku. Žiadny joystick. Krabica rovnakej veľkosti.
Krok 4: Dokončenie hardvéru
V čase, keď som nainštaloval joystick, som si uvedomil, že medzi jeho doskou a kolíkovými konektormi v Pro Micro nie je veľa voľného miesta.
Po troche opatrného ohnutia kolíkových hlavičiek a opätovnom použití tavného lepidla (na izoláciu) sa kryt správne zatvoril.
Inštalácia hrncov prebehla bez problémov.
Opäť s drôtmi
Pevné jadrá sú trochu tuhé a môžu byť krehké, ak sú príliš často ohnuté, preto ich opatrne zložte (bez ostrých rohov) do dostupného priestoru. Niektoré z nich boli príliš dlhé a vyžadovali ďalšie skladanie.
Akonáhle je všetko zasunuté na svoje miesto, nasaďte základňu na vrch a mali by ste skončiť s hardvérom …
Ale počkajte, je toho viac
Samozrejme, po niekoľkých týždňoch používania som sa rozhodol, že potrebujem indikátor, ktorý mi dá vedieť, v akom stave je funkcia mäkko kódovaného MUTE.
Po úprave kódu na pridanie funkcie LED (pozri nasledujúcu časť) som rýchlo spájkoval LED / vodiče / odpor a pripojil ich k doske.
Strávil som viac času vŕtaním otvoru cez hornú časť puzdra, pretože som nechcel mariť horný povrch. Označil som stredové miesto, prehĺbil ho a potom ručne roztočil vrták, aby sa vytvorila diera.
Ďalšie starostlivé pilníky vyčistili otvor a zaistili pekné tesné pritlačenie, aby LED dióda nevyčnievala príliš vysoko nad horný povrch.
Krok 5: Softvér
Prehľad
Ide teda o dvojdielny proces.
- Zoznámte sa s tým, ako Deej funguje, a upravte súbor Config.yaml
- Upravte kód Arduino tak, aby zodpovedal požadovanému hardvéru a funkciám
- Získajte knižnicu Arduino Joystick
V mojom prípade som chcel tieto funkcie:
- Gombíky, ktoré ovládajú úrovne (mikrofón a výstup)
- Vypínač stlmenia
- Dvojosový joystick rozpoznaný systémom Windows na použitie v aplikáciách
Úrovne
Deej sa do značnej miery stará o prvý bod, ktorý príde. Túto funkciu som neupravoval
Vypínač stlmenia
Už na začiatku som sa rozhodol, že použijem tlačidlo/spínač na joysticku ako funkčné tlačidlo stlmenia.
Keď preskúmate kód, uvidíte, že som sa (pôvodne) rozhodol použiť „jemné“stlmenie - po stlačení tlačidla sa hlasitosť MIC zníži na nulu (a dióda LED svieti). Po opätovnom stlačení sa hlasitosť MIC vráti na pôvodné nastavenie a kontrolka LED zhasne.
Nakoniec sa pozriem na implementáciu knižnice klávesnice Arduino na prepínanie stavu Stlmiť pomocou sady kódov klávesnice rozšírených médií.
Implementácia joysticku
To vyžaduje použitie knižnice Arduino Joystick, aby sa zaistilo, že je joystick v systéme Windows a následne v akejkoľvek hre/aplikácii rozpoznaný ako zariadenie HID.
Som trochu nóbl, pokiaľ ide o kódovanie, a dokumentácia knižnice Joystick sa mi zdala trochu riedka po stránke skutočnej implementácie - ale trochu sústredeného googlenia ma priviedlo k ďalším príkladom, ktoré mi pomohli pochopiť, čo sa deje. Podrobnosti nájdete v sekcii zdrojov na konci.
Jediné, čo som musel urobiť, bolo identifikovať kolíky X/Y, prečítať si ich stav a odoslať to do knižnice Joystick. Arduino sa v systéme Windows javil ako Leonardo a bol správne nakonfigurovaný ako zariadenie Joystick.
Dokázal som to nastaviť v Elite Dangerous, popri svojom existujúcom nastavení HOTAS, a nechať joystick správne ovládať veci a nie je v rozpore s HOTAS. Funguje to tiež dobre v Star Wars: Squadrons - mám to nastavené ako rýchly prepínač na nastavenie štítov počas boja.
Súbory, ktoré fungujú s mojím nastavením joysticku
Do Codepile som nahral svoje aktuálne (október 2020) súbory.
- Kód Arduino (súbor.ino)
- Deej config.yaml
Krok 6: Koniec
Tak tento je hotový. Funguje to a som celkom spokojný s tým, ako sa to spojilo. A dozvedel som sa niečo viac o návrhu hardvéru, integrácii a programovaní Arduino.
Krok 7: Dodatok..dum..dum
VLC - tento úžasný prehrávač zvuku a videa má malú zvláštnosť, keď úroveň hlasitosti pri externom ovládaní vyskočí z 0% na 27%. To sa nestane, keď nastavujete úroveň pomocou ovládača hlasitosti rozhrania v aplikácii, iba pomocou externých ovládačov, ako je Deej.
Vývojár Deej rýchlo našiel riešenie vo VLC, ktoré robí túto úlohu, pozri obrázok vyššie:
. máte zvukovú reláciu systému Windows a budete ju môcť ovládať prostredníctvom deej, zabráni to pohybu panela hlasitosti VLC s ním) “
Krok 8: Ďalšie zdroje
Nájdený prostredníctvom mocného Googlu, uvedený v žiadnom konkrétnom poradí …
- Knižnica joysticku Arduino (v2) - potrebná na integráciu joysticku
- Sprievodca pripojením Sparkfun Pro Micro - dobrý zdroj o tomto Arduine
- deej - softvér, ktorý poháňa gombíky
- Typy konektorov USB - kto vedel, že existuje toľko variantov?
- Micro analógové vývody Arduino Pro
- Herný joystick Arduino Leonardo - Leonardo je podobný Pro Micro, len je väčší
- Port Arduino Pro Micro (klon) nebol zistený (Riešenie) - keď murujete svoj Pro Micro (urobil som)
- Arduino Leonardo/Micro ako herný ovládač/joystick
- Príklad použitia multimediálneho kľúča na stlmenie - pomocou knižnice HID Project
- Príklad kódu knižnice projektu HID na pozastavenie / prehrávanie médií
- Ďalší príklad kódu zobrazujúci ovládač gamepadu.
- ArduinoGamingController_updated - dobrý popis kódu používania knižnice Joystick
- Kalkulátor odporu LED - zistíte, aký veľký odpor by ste vo svojom projekte potrebovali
- Knižnica ikon - flaticon.com - zdroj obrázkov použitých nad gombíkmi
- Ďalší rezistorový farebný dekodér - kliknite na farbu a violu!
Odporúča:
Meteorologická stanica používajúca Arduino UNO: 7 krokov
Meteorologická stanica využívajúca Arduino UNO: Autor: Hazel Yang Tento projekt je meteorologická stanica využívajúca dosku Arduino UNO na riadenie toku údajov, snímač DHT22 na zber údajov a obrazovku OLED na zobrazenie údajov
DIY herný ovládač založený na Arduine - Herný ovládač Arduino PS2 - Hra Tekken s gamepadom DIY Arduino: 7 krokov
DIY herný ovládač založený na Arduine | Herný ovládač Arduino PS2 | Hranie Tekkenu s gamepadom pre domácich majstrov Arduino: Dobrý deň, chlapci, hranie hier je vždy zábavné, ale hranie s vlastným ovládačom pre vlastnú potrebu je zábavnejšie. Preto v tomto návode vytvoríme herný ovládač pomocou arduino pro micro
Indikátor úrovne zvuku/zvuku: 10 krokov
Indikátor úrovne zvuku/zvuku: V tomto projekte vám ukážem, ako vytvoriť jednoduchý indikátor hladiny zvuku pomocou operačných zosilňovačov. Poznámka: Ak chcete položiť otázky, navštívte moju stránku Opýtajte sa odborníka. Užitočné doplnkové videá: Simulovaný obvod nastavený na doske s chlebom (proto
Ovládač Nintendo mapovaný ako klávesnica na PC: 5 krokov
Nintendo Controller mapovaný ako klávesnica na PC: Ako namapovať ovládacie prvky na hernom ovládači Nintendo tak, aby fungovali ako klávesnica pre počítač
Klávesnica Quick and Dirty Das (prázdna klávesnica): 3 kroky
Rýchla a špinavá klávesnica Das (prázdna klávesnica): Das Keyboard je názov najobľúbenejšej klávesnice bez nápisov na klávesoch (prázdna klávesnica). Klávesnica Das sa predáva za 89,95 dolárov. Tento návod vás prevedie tým, že si ho vyrobíte sami pomocou akejkoľvek starej klávesnice, okolo ktorej ležíte