Мазмұны:

Arduino пернетақтасы Joystick Extender Box және Deej қолданатын дыбыс контроллері: 8 қадам
Arduino пернетақтасы Joystick Extender Box және Deej қолданатын дыбыс контроллері: 8 қадам

Бейне: Arduino пернетақтасы Joystick Extender Box және Deej қолданатын дыбыс контроллері: 8 қадам

Бейне: Arduino пернетақтасы Joystick Extender Box және Deej қолданатын дыбыс контроллері: 8 қадам
Бейне: Starting a Sidecar MIDI Controller to expand the Ibanez IMG2010 MC1 Guitar to MIDI Converter system 2024, Шілде
Anonim
Deej көмегімен Arduino пернетақтасы джойстикті кеңейтетін қорап пен дыбыс реттегіші
Deej көмегімен Arduino пернетақтасы джойстикті кеңейтетін қорап пен дыбыс реттегіші

Tinkercad жобалары »

Неге

Біраз уақыттан бері мен интерфейс элементтерін немесе ойындар мен тренажерлердегі басқа да кішігірім тапсырмаларды (MS Flight Sim, Elite: Dangerous, Star Wars: Squadrons және т.

Сонымен қатар, Elite үшін: Қауіпті, мен сыртқы аудиодан дыбыс деңгейін (музыкада орнатылған, жақсы болса да, қара түсте бірнеше сағаттан кейін қайталанады), ойын ішіндегі дыбысты және дауыстық пакетті қолдауды араластырумен күресіп жүрмін.

Windows кіріктірілген бастапқы араластырғыш «жақсы», бірақ ойынның ортасында экрандар мен тінтуірді басқаратын сырғытпаларды ауыстыру ауырады. Ұзартылған пернетақтаның басқару қорапшасы болуы керек сияқты. Deej - мен тапқан шешім.

Қалай

Мен жақында Arduino туралы білдім және reddit -те dej жобасымен кездестім. Бұл екі мәселені де бір пакетте шешетін сияқты. Бұл маған керемет 3D корпусын жасауға және басып шығаруға мүмкіндік береді.

Диж деген не?

(сайттан) deej-бұл Windows және Linux дербес компьютерлерге арналған ** ашық бастапқы коды бар аппараттық дыбыс араластырғыш **. Бұл сізге әр түрлі қосымшалардың көлемін ** (мысалы, сіздің музыкалық ойнатқыш, сіз ойнап жатқан ойын және дауыстық чат сеансы) кедергі жасамай-ақ нақты өмірдегі сырғытпаларды (мысалы, диджей!) Пайдалануға мүмкіндік береді. Сіз істеп жатырсыз.

Менің нұсқам

Қорапты кішкентай ұстау үшін мен сырғытпаларды емес, тұтқаларды (айналмалы сызықты потенциометр (кастрөлдер = резисторлар)) таңдадым. Функционалды түрде олар бірдей жұмыс істейді. Деждің қазіргі және танымал дизайнында джойстик жоқ, сондықтан бұл дизайн гибридті болады. Әйтпесе, бұл өте қарапайым құрылым.

Deej Arduino Nano, Pro Micro немесе Uno -мен жұмыс істейді, бірақ әзірлеуші Nano мен Pro Micro -ды ресми түрде ұсынады. Мен Arduino Pro Micro -ны таңдадым, себебі мен джойстикті алғым келді, ал Arduino Джойстик кітапханасы оны қолдайды. Мен сонымен қатар джойстик түймесімен медиа пернетақтаны өшіру функциясын («жұмсақ дыбыссыз» емес) қолданғым келсе, Arduino пернетақта кітапханасын қолдана аламын, бірақ бұл жолда.

1 -қадам: Жабдықтар

Жабдықтар
Жабдықтар
Жабдықтар
Жабдықтар
Жабдықтар
Жабдықтар

Қорап

STL файлдарын жүктеңіз (Tinkercad -де жасалған):

  • Прусадағы қоршау файлдары (https://www.prusaprinters.org/)
  • Барлығы (жақында)

Аппараттық құрал (өндірістік блок)

  • 1x Arduino Pro Micro
  • 4х 10к айналмалы (тұтқалы) потенциометрлер (айналмалы контроллерлер емес, кастрюльдерді қолданыңыз)
  • 1x Arduino KY-023 джойстик
  • Cat5 желілік кабелінің 5 фут сынықтары
  • 1x USB A - USB B микро кабелі (USB A - үлкен төртбұрышты қосқыш, USB B микро - Arduino Pro Micro ішіндегі нәрсе)
  • 1х 5 мм қызыл жарық диоды
  • 1х 220 Ом резистор

Менде қосымша бөлшектер болды, сондықтан мен заттарды сынау үшін әзірлеу қондырғысын құрамын деп ойладым. Тек заттарды тақтаға қосу соңғы нәрсені елестетуді жеңілдетті.

  • 1x Arduino Pro Micro
  • 4х 10к айналмалы (тұтқалы) потенциометрлер (айналмалы контроллерлер емес, кастрюльдерді қолданыңыз)
  • 1x лездік батырмалы қосқыш (қатты қалпына келтіру қосқышы)
  • 1x USB A - USB B микро кабелі (USB A - үлкен төртбұрышты қосқыш, USB B микро - Arduino Pro Micro құрылғысында)
  • әр түрлі секіргіш сымдар
  • нан тақтасы
  • 1х 5 мм қызыл жарық диоды
  • 1х 220 Ом резистор

2 -қадам: қоршау

Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау
Қоршау

Дизайн

Маған deej қауымдастығының галереясында профильденген басқа да дизайндар ұнады, сондықтан маған ұнаған ерекшеліктерге негізделген:

  • Дизайн және басып шығару оңай
  • Менің басқа жұмыс үстелі перифериялық құрылғыларына кедергі жасамаңыз
  • Қоршауды бекіту үшін бұрандаларды немесе бекіткіштерді пайдаланбаңыз
  • Пернетақтаға ұқсас эстетикалық дизайн

Мен бұл соңғы дизайнды шешпес бұрын екі прототипті ойлап шығардым және басып шығардым. Мен оны қолданатын кеңістікте ойнайтын физикалық нұсқаны ұнатамын, себебі бұл маған соңғы объектінің қалай жұмыс істейтінін жақсы түсінуге мүмкіндік береді.

Мен қысқаша дизайнды Fusion360 -те бастадым, бірақ оны жақсы білмеймін, сондықтан Тинкеркад ауысып, сол жерде жұмыс істеді.

Мен бұрандасыз конструкцияны алғым келгендіктен, ұя салуға арналған қорап жасадым. Бірінші прототипте жұқа қақпақ пен бәріне арналған терең қорап болды. Екінші дизайн оны терең қақпақпен және таяз түбімен ауыстырды. Ол Arduino Pro Mini -ді ұстап тұруы керек еді, сондықтан үлкен болу қажет емес еді. Сондай -ақ, өрнектелген белгішелер енгізілген.

Үшінші дизайн менің пернетақтадағы бос орынға сәйкес келу үшін өзгертілді.

Баспа

Мен қорапшаны PLA -да басып шығардым, оның қақпағы үшін жіптің / қабатты ауыстыруды Қарадан Қызылға дейін программалай бастадым, онда белгішелер енді көрінетін болды, ал қақпақтың қалған бөлігінде қайтадан Қара түске оралды.

Мәселе

Осының арқасында джойстикті орнату проблема болды. Үшінші конструкцияда да таяқша бір жерге тіректерге соғылады. Келесі итерацияда жақсы рұқсат болады. Мен дизайнмен көбірек жұмыс істей алар едім, бірақ келесі кезеңге - орнатуға өтуді қаладым.

3 -қадам: Цикл

Цикл
Цикл
Цикл
Цикл
Цикл
Цикл

Ең нашар сымдық жұмыс

Жақсы, бұл менің толыққанды Arduino жобасы. Иә, мен бұрын тақтада бірдеңе жасадым және оны әзірлеу нұсқасын жасау үшін қолданамын, бірақ іс жүзінде дайындау мен жинауға келер болсақ, бұл менің бірінші. Сондықтан менің сымдарым сымға ұқсайды. Міне, бұл мүмкін емес:)

Жаңарту: Содан бері мен тағы біреуін салдым, сымдары сонда жақсы. Суреттерді қараңыз:)

Өндірістік қондырғы - Не болып жатыр

Arduino Pro Micro - бұл кішкене тақта және негіздегі қалыпталған бөлікке сәйкес келеді. Тұтқалар мен джойстик қақпақтың сәйкес тесіктеріне сәйкес келеді. Дәнекерлеу бәсекелесі болмайынша, ештеңені орнатпаңыз.

Сымдар

Менде тиісті сым жоқ, бірақ менде катушкалы cat5 желілік кабелінің қалған бөлігі болды, сондықтан мен солай қолдандым. Бұл тізбекті сымға қарағанда біршама қатал және сынғыш, бірақ ол жұмыс істейді.

Компоненттерді соңғы орнатылатын орынға жақындата отырып, мен әр сым үшін арақашықтықты есептедім. Мен көп босаңсып қалдым.

Сымдардың диаграммасына сілтеме жасай отырып, мен жалпыға ортақ жерді (Қара) және VCC (Қызыл) көрсеткен жерде тұтқалар мен джойстикке жүгірдім. Желілік кабель бұл түстермен келмейтіндіктен, мен жай ғана түсті таңдадым және сымды функцияға сәйкес ұстадым.

Жеке ыдыс. аналогтық сызықтар (Сары) A0 - A3 түйреуіштеріне жүгірді. Joystick желілері (қызғылт сары), сондай -ақ аналогтық, енгізу -шығару түйреуіштерінің 8 және 9 -ға дейін созылады. Бұлар Arduino коды бойынша A8 және A9 ретінде аналог ретінде белгіленуі керек.

Джойстиктің қосқыш түйреуіші (Көк) 7 -ші істікке дейін жүгірді. Бұл кодтағы сандық түйреуіш болады.

Оқшаулау

Бұл қатаң сым кішкене кеңістікке салынатындықтан, мен дәнекерленген қосылыстарымды сау балқытылған ыстық желіммен оқшаулауды жөн көрдім. Содан кейін бәрін орнына қойып, тақта мен кастрюльдерде Arduino Мысал AnalogInput кодының нұсқасын қолдана отырып қарапайым тест өткізді - барлық кастрөлдерді оқу үшін өзгертілді.

Екінші нұсқа

Жоғарыдағы соңғы екі суретте мен жасап жатқан келесі қорап көрсетілген. Бұл жерде 5 тұтқасы бар және дыбысты өшіру үшін бір сәттік түймесі болады. Джойстик жоқ. Бірдей өлшемдегі қорап.

4 -қадам: Жабдықты аяқтау

Жабдықты аяқтау
Жабдықты аяқтау

Мен джойстикті орнатқан кезде, оның тақтасы мен Pro Micro -дегі түйреуіштердің арасында үлкен айырмашылық жоқ екенін түсіндім.

Ілмектердің бастарын сәл мұқият иілгеннен кейін және ыстық ерітілген желімді қайта қолданғаннан кейін (оқшаулау үшін) қоршау дұрыс жабылды.

Кәстрөлдерді орнату қиындықсыз өтті.

Тағы да сымдармен

Қатты ядролық сымдар біршама қатал, және егер олар көп рет иілсе, сынғыш болады, сондықтан оларды (өткір бұрыштары жоқ) қол жетімді кеңістікке мұқият бүктеңіз. Менің кейбіреулерім тым ұзын болды және қосымша бүктеуді қажет етті.

Барлығы реттелгеннен кейін, негізді үстіңгі жағына орнатыңыз, сонда сіз жабдықты аяқтауыңыз керек.

Бірақ күте тұрыңыз, тағы бар

Әрине, бірнеше апталық қолданудан кейін маған жұмсақ кодталған MUTE функциясының күйі туралы хабарлау үшін индикатор қажет деп шештім.

Жарықдиодты функцияны қосу үшін кодты өңдегеннен кейін (келесі тарауды қараңыз), мен светодиодты / сымдарды / резисторды тез дәнекерлеп, оларды тақтаға қостым.

Мен корпустың жоғарғы жағындағы тесікті бұрғылауға көбірек уақыт бөлдім, өйткені мен жоғарғы финишке шығуды қаламадым. Мен орталық жерді белгіледім, оны тістедім, содан кейін тесікті жасау үшін бұрғылау ұшын қолмен айналдырдым.

Қосымша мұқият толтыру тесікті тазартты және жарықдиодты үстіңгі бетінен тым жоғары шығып кетпеуін қамтамасыз ету үшін тығыз тығыз басуды қамтамасыз етті.

5 -қадам: Бағдарламалық қамтамасыз ету

Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету
Бағдарламалық қамтамасыз ету

Шолу

Демек, бұл процесс екі бөліктен тұрады.

  1. Deej қалай жұмыс істейтінін біліңіз және түсініңіз және Config.yaml файлын өңдеңіз
  2. Arduino кодын қажетті жабдықтар мен мүмкіндіктерге сәйкес өңдеңіз
  3. Arduino Joystick кітапханасын алыңыз

Менің жағдайда, мен бұл мүмкіндіктерді алғым келді:

  • Деңгейді басқаратын түймелер (микрофон мен шығыс)
  • Дыбысты өшіру
  • Қолдану үшін Windows білетін 2 осьті джойстик

Деңгейлері

Дидж бірінші нүктеге келгенде өте маңызды. Мен бұл функционалдылықты өзгерткен жоқпын

Дыбысты өшіру

Мен джойстиктегі басуды/қосқышты функционалды дыбысты өшіру түймесі ретінде қолданатынымды ерте анықтадым.

Сіз кодты тексергенде, мен «жұмсақ» дыбысты өшіруді таңдағанымды көресіз - түйме басылғанда, MIC дыбыс деңгейі нөлге дейін төмендейді (және жарық диоды қосылады). Қайта басылғанда, MIC дыбыс деңгейі бұрынғы қалпына қайтарылады және жарық диоды сөнеді.

Ақырында мен кеңейтілген медиа пернетақта кодының жиынтығы арқылы дыбысты өшіру күйін ауыстыру үшін Arduino пернетақта кітапханасын енгізуді қарастырамын.

Джойстикті енгізу

Бұл джойстикті Windows жүйесінде HID құрылғысы ретінде тануды қамтамасыз ету үшін Arduino Joystick кітапханасын пайдалануды талап етеді, демек кез келген ойын/қосымша.

Мен кодтау туралы айтатын болсам, мен Joystick кітапханасының құжаттамасын нақты іске асыру жағынан сирек таптым, бірақ сәл гуглинг мені не болып жатқанын түсінуге көмектесетін басқа мысалдарға алып келді. Мәліметтер алу үшін соңында ресурстар бөлімін тексеріңіз.

Мен тек X/Y түйреуіштерін анықтап, олардың күйін оқып, Джойстик кітапханасына жіберуім керек еді. Arduino Windows -та Леонардо ретінде пайда болды және Joystick құрылғысы ретінде дұрыс конфигурацияланды.

Мен оны Elite Dangerous -те қолданыстағы HOTAS қондырғысымен бірге орната алдым және джойстикті заттарды дұрыс басқаруға және HOTAS -қа қайшы келмеуге мүмкіндік алдым. Ол сонымен қатар Star Wars: Squadrons -те жақсы жұмыс істейді - мен оны ұрыс кезінде қалқандарды орнатуға арналған жылдам қосқыш ретінде орнатқанмын.

Менің джойстик қондырғысымен жұмыс істейтін файлдар

Мен ағымдағы (2020 ж. Қазан) файлдарымды Codepile -ге жүктедім.

  • Arduino коды (.ino файлы)
  • Deej config.yaml

6 -қадам: Аяқтау

Соңы
Соңы

Жақсы, бұл аяқталды. Бұл жұмыс істейді, мен оның қалай біріктірілгеніне қуаныштымын. Мен аппараттық құралдардың дизайны, интеграция және Arduino бағдарламалауы туралы біраз білдім.

7 -қадам: Қосымша..dum..dum

Қосымша..дум..дум
Қосымша..дум..дум

VLC - бұл керемет аудио және бейне ойнатқыштың біршама ерекшелігі бар, онда дыбыс деңгейі сырттан басқарылатын кезде 0% -дан 27% -ға дейін секіреді. Бұл деңгейдегі қолданба интерфейсінің дыбыс деңгейін басқару көмегімен, тек Deej сияқты сыртқы басқару элементтерімен реттелгенде болмайды.

Deej әзірлеушісі тапсырманы орындайтын VLC ішіндегі шешімді тез тапты, жоғарыдағы суретті қараңыз:

«… егер сіз бұл» бақылау «әрекетін өшіргіңіз келсе, мұны VLC дыбыс шығару модулін өзгерту арқылы жасауға болады. Мен бұл жерде DirectX -ті қолдандым. Өзгеріс күшіне енуі үшін сізге VLC қайта іске қосу қажет болады. Windows аудио сеансы бар және оны deej арқылы басқара аласыз, бұл VLC дыбыс жолағының онымен қозғалуына жол бермейді) »

8 -қадам: Қосымша ресурстар

Қосымша ресурстар
Қосымша ресурстар

Белгілі бір тәртіппен тізімделмеген қуатты Goog арқылы табылған …

  • Arduino Joystick Library (v2) - джойстикті біріктіру үшін қажет
  • Sparkfun Pro Micro қосылуға арналған нұсқаулық - бұл Arduino туралы жақсы ресурс
  • deej - түймелерді басқаратын бағдарлама
  • USB қосқыштарының түрлері - көптеген нұсқалар бар екенін кім білді?
  • Arduino Pro Micro аналогтық түйреуіштер
  • Arduino Leonardo Gaming Joystick - Леонардо Pro Micro -ға ұқсас, тек үлкенірек
  • Arduino Pro Micro (Clone) порты анықталмады (Шешім) - сіз Pro Micro кірпішін кірпішке салғанда (мен жасадым)
  • Ардуино Леонардо/Micro ойын контроллері ретінде/джойстик
  • Дыбысты өшіру үшін мультимедиялық кілтті қолдану мысалы - HID Project кітапханасын пайдалану
  • Медианы кідірту / ойнату үшін HID Project кітапханасының мысал коды
  • Геймпад контроллерін көрсететін тағы бір код үлгісі.
  • ArduinoGamingController_updated - Джойстик кітапханасын пайдаланудың жақсы код сипаттамасы
  • Жарықдиодты резистордың калькуляторы - сіздің жобаңызға қаншалықты үлкен резистор қажет болатынын білу үшін
  • Белгіше кітапханасы - flaticon.com - түймелердің үстінде қолданылатын суреттер көзі
  • Басқа резисторлық түсті декодер - түс пен виоланы басыңыз!

Ұсынылған: