Мазмұны:
- Жабдықтар
- 1 -қадам: Операция теориясы
- 2 -қадам: Нөмірді алып тастаңыз
- 3 -қадам: корпусты басып шығарыңыз
- 4 -қадам: Arduino бағдарламасын жасаңыз
- 5 -қадам: Барлығын қосыңыз
- 6 -қадам: құрастыру
- 7 -қадам: Python сценарийін орнатыңыз
Бейне: Ротациялық телефонмен қоңырау шалатын компьютердің дыбыс деңгейін басқару: 7 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Егер сіз маған ұқсайтын болсаңыз, компьютердің дыбыс деңгейін жиі өзгертіп отырасыз. Кейбір бейнелер басқаларға қарағанда қаттырақ, кейде сіз подкасттарды немесе музыканы тыңдай отырып, компьютерде дыбысты өшіруді қалайтын боласыз, және телефон қоңырауын алсаңыз, дыбыс деңгейін тез өшіру қажет болуы мүмкін. Егер сіздің компьютеріңізде медиа басқару құралдары болмаса, онда винтажды телефонды компьютердің 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 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 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 -дан сериялық қосылымды бақылайды және барлық бағдарлама көлемін сіз тергеннің бәріне орнатады!
Arduino 2020 байқауында екінші орын
Ұсынылған:
USB дыбыс деңгейін басқару: 9 қадам (суреттермен)
USB дыбыс деңгейін басқару: Бұл жобада біз Adafruit компаниясының Arduino үйлесімді Trinket және айналмалы кодер көмегімен USB дыбыс деңгейін басқаратын құрылғы жасаймыз. Ақырында, біз корпусты 3D басып шығарамыз, салмақ пен тұрақтылықты қамтамасыз ету үшін негізді қорғасынмен толтырамыз және акрил түбін лазермен кесеміз
Компьютердің дыбыс деңгейін басқару тұтқасы: 6 қадам (суреттермен)
Компьютердің дыбыс деңгейін басқару тұтқасы: Егер сіз компьютерде музыка тыңдағанды ұнататын болсаңыз, бірақ медианы көргенде оны жиі өшіріп, қайта қосу қажет болса, Fn+k+F12+g пернелер тіркесімі оны үзбейді. Дыбыс деңгейін түймелермен реттеу керек пе? Ешкімнің бұған уақыты жоқ! Мен С -ты ұсынсам болады
Жұмыс үстелінің айналдыру дөңгелегі мен дыбыс деңгейін басқару!: 8 қадам (суреттермен)
Жұмыс үстелінің айналдыру дөңгелегі мен дыбыс деңгейін басқару!: Журналдың демалыс күнінің жобасын жасаңыз, 3/4/09 Кейбір мәліметтер Соңғы уақытта мен көптеген блогтарды оқимын. Мен күн сайын engadget, lifehacker, hackaday, BBG және MAKE: блогындағы соңғы жазбаларды оқимын. Мен үшін проблема мен оны түсінген кезде келді
Әмбебап құлаққап/құлаққаптың дыбыс деңгейін басқару: 8 қадам (суреттермен)
Әмбебап құлаққап/құлаққаптың дыбыс деңгейін басқару: Сондықтан мен Гонконгтан PMP (портативті медиа ойнатқыш) сатып алдым, сондықтан мен NES ойындарын борттық эмулятормен ыңғайлы жерде ойнай аламын. Ұзақ сапарлар, рейстер, күту залдары және т
ДК СПИКЕРЛЕРІ: Парфюмерлік қақпақпен сымды дыбыс деңгейін қашықтан басқару пульті: 19 қадам
ДК СПИКЕРЛЕРІ: Парфюмерлік қақпақпен сымды дыбыс деңгейін қашықтан басқару пульті: (бәрінен бұрын: кешіріңіз, менің ағылшын тілім Бразилиядан …) Сәлеметсіз бе, менің анам сымсыз қашықтан басқару пульті бар 2.1 компьютерлік колонканы шығарды. (Фото 1) Бұл өте жақсы және қолдануға оңай … бірақ қымбат, ал тұтқаның дыбысы шамалы … Маған үлкен дыбыс түймелері ұнайды, мысалы