Мазмұны:

Ротациялық телефонмен қоңырау шалатын компьютердің дыбыс деңгейін басқару: 7 қадам (суреттермен)
Ротациялық телефонмен қоңырау шалатын компьютердің дыбыс деңгейін басқару: 7 қадам (суреттермен)

Бейне: Ротациялық телефонмен қоңырау шалатын компьютердің дыбыс деңгейін басқару: 7 қадам (суреттермен)

Бейне: Ротациялық телефонмен қоңырау шалатын компьютердің дыбыс деңгейін басқару: 7 қадам (суреттермен)
Бейне: YouTube сайтында бірдеңе туралы сөйлесу үшін YouTube San Ten Chan Live түнінде бізбен бірге өсіңіз 2024, Желтоқсан
Anonim
Image
Image
Теруді алып тастаңыз
Теруді алып тастаңыз

Егер сіз маған ұқсайтын болсаңыз, компьютердің дыбыс деңгейін жиі өзгертіп отырасыз. Кейбір бейнелер басқаларға қарағанда қаттырақ, кейде сіз подкасттарды немесе музыканы тыңдай отырып, компьютерде дыбысты өшіруді қалайтын боласыз, және телефон қоңырауын алсаңыз, дыбыс деңгейін тез өшіру қажет болуы мүмкін. Егер сіздің компьютеріңізде медиа басқару құралдары болмаса, онда винтажды телефонды компьютердің Windows дыбыс деңгейін басқаруға айналдыруға болады.

Бұл дыбыс деңгейін реттейтін құрылғы компьютерге USB арқылы қосылады және кез келген ашық нөмірдің дыбыс деңгейін автоматты түрде орнатады. Егер сіз «2» терсеңіз, дыбыс деңгейі 20%болады. «8» теріңіз, ол 80%болады. «0» теру оны 0% -ға орнатады және дыбысты өшіреді. Бұл тапсырмалар тақтасындағы дыбыс деңгейін басқару түймесін басудан гөрі тез, қанағаттанарлық және қызықты.

Жабдықтар

  • Vintage Bell Systems Trimline айналмалы телефон
  • Ардуино Нано
  • М3 бұрандалы жылу қондырмалары
  • M3 машиналық бұрандалар
  • Резисторлар (470 Ом және 10к Ом)
  • Сым
  • 3D принтеріне қол жеткізу

1 -қадам: Операция теориясы

Роторлы телефондар, оның ішінде Bell Systems Trimline осы жобада қолданылады, тек аналогты электромеханикалық құрылғылар. Диалогты айналдырғанда, серіппе циферблатты бастапқы орнына қайтарады. Ол әр нөмірді бергенде, импульсті тудыратын коммутатор қысқа уақытқа ажыратылады (немесе қосылады). Бізге қандай нөмір терілгенін анықтау үшін сол импульстарды санау ғана қалады.

Гидомакстың нұсқаулықтар туралы керемет оқулығы бар, ол оның қалай жұмыс істейтіні туралы егжей -тегжейлі айтылады және сіз толығырақ біле аласыз.

Бұл жоба үшін біз импульстарды санау үшін Arduino Nano қолданамыз. Содан кейін Arduino нөмірді компьютерге сериялық байланыс арқылы жібереді. Мен фонда жұмыс істейтін және сол сериялық байланысты бақылайтын негізгі Python сценарийін жаздым. Ол биттерді алған кезде нөмірді алады және тиісті дыбыс деңгейін орнату үшін Python Core Audio Windows кітапханасын пайдаланады.

Windows пен сол кітапхананың шектеулеріне байланысты, сценарий жүйенің жалпы көлемін орнатпайды (тапсырмалар тақтасындағы негізгі жүгірткі). Оның орнына, ол қазір жұмыс істеп тұрған әрбір бағдарлама үшін жеке дыбыс деңгейін орнатады. Эффект бірдей, тек бағдарламалар арасындағы әр түрлі салыстырмалы дыбыс деңгейін сақтай алмайсыз.

2 -қадам: Нөмірді алып тастаңыз

Теруді алып тастаңыз
Теруді алып тастаңыз

Бұл қадам қарапайым: теру механизмін алып тастау үшін Trimline телефон тұтқасын бөлшектеңіз. Бұл негізінен дербес модуль, сондықтан оны телефон тұтқасынан бұрап алу керек.

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

Егер сіз оған бірнеше сынақ айналдыруды берсеңіз, бастапқы күйге оралған кезде қосқыштың сыртқа шыққанын естуіңіз керек.

3 -қадам: корпусты басып шығарыңыз

Корпусты басып шығарыңыз
Корпусты басып шығарыңыз

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

4 -қадам: Arduino бағдарламасын жасаңыз

Arduino бағдарламасын жасаңыз
Arduino бағдарламасын жасаңыз

Сіз Arduino Nano -ға жүктейтін код тікелей guidomax оқулығынан алынады, себебі ол бұл жоба үшін өте жақсы жұмыс істейді:

int needToPrint = 0; int санау; int in = 2;

int lastState = LOW;

int trueState = LOW;

long lastStateChangeTime = 0;

int cleared = 0;

// тұрақтылар

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

жарамсыз орнату () {

Serial.begin (9600);

pinMode (кіру, INPUT); }

void loop () {

int read = digitalRead (in);

if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// терілмейді немесе теру енді аяқталды.

if (needToPrint) {// егер ол енді теріліп біткен болса, нөмірді сериялық // жолына жіберіп, санауды қалпына келтіру керек. Біз санауды 10 -ға өзгертеміз, себебі '0' 10 импульсті жібереді.

Serial.print (санау % 10, DEC);

needToPrint = 0;

санау = 0;

тазартылды = 0; }}

егер (оқу! = lastState) {lastStateChangeTime = millis ();

}

if ((millis () - lastStateChangeTime)> debounceDelay) {// дебунс - бұл тұрақтандырылғаннан кейін болады

if (read! = trueState) {// бұл қосқыштың жабық- ашық күйден жаңа шыққанын немесе керісінше екенін білдіреді. trueState = оқу; if (trueState == HIGH) {// егер ол жоғары болса, импульс санын көбейтіңіз.

санау ++;

needToPrint = 1; // бізге бұл нөмірді басып шығару қажет болады (теру бұрылып болған соң)

}

}

}

lastState = оқу; }

5 -қадам: Барлығын қосыңыз

Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз
Бәрін сыммен байланыстырыңыз

Бұл жобаның сымдары өте қарапайым. Нөмір теру модулінің артында бұрандалары бар екі бұрышты тірегі болуы керек. Бұл қосқыштар. Полярлық маңызды емес.

Ескерту: Фотосуреттердегі сымдардың түстеріне назар аудармаңыз. Мен жер мен 5В -ды араластырдым, сондықтан олар керісінше.

A сымынан (GND) бір сымды жалғап, оны Arduino Nano құрылғысындағы жерге тұйықтауышқа қосыңыз. Екінші сымды алып, оны және үшінші сымды 470 Ом резистордың бір жағына дәнекерлеңіз. Екінші сым дискідегі В постына (+) түседі. Үшінші сым 10к Ом резистордың бір жағына дәнекерленеді. Төртінші сымды алыңыз және оны 470 Ом резистордың екінші жағынан Arduino Nano -дегі 2 -ші түйінге жалғаңыз. Соңында, бесінші сым 10k Ом резистордың екінші жағын Arduino Nano -дағы 5В істікшеге қосуы керек.

Біз резисторлар мен 5В түйреуішті қосқыш ашық кезде істікті жоғары көтеру үшін қолданамыз (әр «импульс» кезінде).

6 -қадам: құрастыру

Ассамблея
Ассамблея
Ассамблея
Ассамблея

Қоршаудың Rotary_Top бөлігінде алты ұсақ тесік бар екенін байқау керек. Бұл сіздің бұрандалы жылу қондырмаларына арналған. Үстіңгі үшеуі (үстіңгі беттің төменгі жағында) айналмалы дискіні орнатуға арналған. Төменгі үшеуі Rotary_Base -ті Rotary_Top -қа бұрау керек.

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

Алты қыздырылған кірістіруді салыңыз. Содан кейін дискіні орнату үшін бірнеше қысқа (10 мм немесе одан да көп) M3 машиналық бұрандаларды қолданыңыз. Металл саусақпен тоқталатын жердегі ойыққа назар аударыңыз. Содан кейін Arduino Nano USB кабелімен қораптың ішіне абайлап салыңыз (ол бос, бекітілмеген) және негізді бұрап бекітіңіз.

Сіз корпусты үстелге бекіту үшін екі жақты таспаны немесе 3M командалық жолақтарын қолданғыңыз келуі мүмкін, сондықтан сіз дискін айналдырған кезде ол қозғалмайды.

7 -қадам: Python сценарийін орнатыңыз

Python сценарийін орнатыңыз
Python сценарийін орнатыңыз

Алдымен Python орнатылғанына көз жеткізіңіз (Python 2 қолданыңыз, себебі Python 2 біртіндеп жойылады).

Содан кейін сізге қажет екі кітапхананы орнату қажет: PyCAW және PySerial.

Қолдану:

«pip install pycaw» және «pip install pyserial» (Python терезесінен немесе Windows Powershell)

Содан кейін Arduino Nano қай портқа қосылғанын тексеріңіз. Сіз мұны Arduino IDE ішінен тексере аласыз. Таңдалған порт бар екеніне көз жеткізіңіз, содан кейін сериялық мониторды ашыңыз. Сіздің жіберу жылдамдығыңыз 9600 -ге орнатылғанын тексеріңіз, содан кейін олардың сериялық мониторда пайда болуын тексеру үшін бірнеше нөмірді теріңіз.

Егер олар жасаса, «rotary.py» кодын порт нөміріңізбен өңдеңіз. Егер сіз сценарийді іске қоссаңыз, онда енді нөмірді теру арқылы дыбыс деңгейін өзгертуге болады.

Соңғы қадам - компьютерді жүктеу кезінде сценарийді фондық режимде автоматты түрде іске қосу.

Мұны істеу үшін «rotary.py» файлын «rotary.pyw» етіп өзгертіңіз, бұл оның фондық режимде жұмыс істеуіне мүмкіндік береді. Содан кейін бұл сценарийді келесі қалтаға салыңыз: C: / Users / current_user / AppData / роуминг / Microsoft / Windows / Бастау мәзірі / Бағдарламалар / Іске қосу

Әлбетте, сіз «current_user» дегенді нақты пайдаланушы қалтасының атауына өзгертуіңіз керек.

Міне бітті! Сіз компьютерді қосқан кезде Python сценарийі жұмыс істей бастайды. Ол Arduino -дан сериялық қосылымды бақылайды және барлық бағдарлама көлемін сіз тергеннің бәріне орнатады!

Ардуино сайысы 2020
Ардуино сайысы 2020
Ардуино сайысы 2020
Ардуино сайысы 2020

Arduino 2020 байқауында екінші орын

Ұсынылған: