Съдържание:
- Консумативи
- Стъпка 1: Теория на операцията
- Стъпка 2: Премахнете циферблата
- Стъпка 3: Отпечатайте кутията
- Стъпка 4: Програмирайте вашия Arduino
- Стъпка 5: Свържете всичко
- Стъпка 6: Монтаж
- Стъпка 7: Настройте скрипта на Python
Видео: Винтидж ротационен телефон за набиране на контрол на силата на звука на компютъра: 7 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Ако сте нещо като мен, често се променяте силата на звука на компютъра си. Някои видеоклипове са по -силни от други, понякога искате да заглушите звука на компютъра си, докато слушате подкасти или музика, и може да се наложи бързо да намалите силата на звука, ако получите телефонно обаждане. Ако нямате вградени контроли за мултимедия в компютъра си, тогава можете да превърнете старинен въртящ се циферблат на телефона в контрол на силата на звука за вашия компютър с Windows.
Това устройство за контрол на силата на звука се включва в компютъра ви чрез USB и автоматично ще настрои силата на звука на всяка отворена програма на който и да е номер, който набирате. Ако наберете „2“, силата на звука ще бъде зададена на 20%. Наберете "8" и тя ще бъде настроена на 80%. Набирането на "0" го задава на 0% и действа като заглушен. Това е бързо, удовлетворяващо и по -забавно, отколкото да щракнете върху контрола за силата на звука в лентата на задачите.
Консумативи
- Ротационен телефон Vintage Bell Systems Trimline
- Arduino Nano
- M3 резбовани терморегулиращи вложки
- Винтове за машина M3
- Резистори (470 ома и 10 к ома)
- Тел
- Достъп до 3D принтер
Стъпка 1: Теория на операцията
Ротационните телефони, включително Bell Systems Trimline, използвани в този проект, са чисто аналогови електромеханични устройства. Когато завъртите циферблата, пружина завърта циферблата обратно в първоначалното му положение. Когато преминава всеки номер, превключвателят се изключва (или свързва) за кратък момент, създавайки импулс. Всичко, което трябва да направим, е да преброим тези импулси, за да определим кой номер е набран.
Guidomax има фантастичен урок за Instructables, който задълбочава как точно работи това и можете да намерите повече подробности там.
За този проект използваме Arduino Nano за преброяване на импулсите. След това Arduino изпраща номера до компютъра чрез серийна връзка. Написах основен скрипт на Python, който работи във фонов режим и следи тази серийна връзка. Когато получава битове, той взема номера и използва библиотеката Python Core Audio Windows, за да зададе подходящия обем.
Поради ограничения с Windows и тази библиотека, скриптът не задава общия обем на системата (основният плъзгач в лентата на задачите). Вместо това той задава индивидуалния обем за всяка програма, която се изпълнява в момента. Ефектът е същият, с изключение на това, че не можете да поддържате различни нива на относителна сила на звука между програмите.
Стъпка 2: Премахнете циферблата
Тази стъпка е ясна: просто разглобете телефона си Trimline, за да премахнете механизма за набиране. По същество това е самостоятелен модул, така че просто трябва да го развиете от слушалката.
Избрах модела Trimline за този проект, защото този модул за набиране е по -компактен от тези, които ще намерите на повечето други ротационни телефони.
Ако му дадете няколко тестови завъртания, трябва да чуете превключвателя да щракне, докато се връща в изходна позиция.
Стъпка 3: Отпечатайте кутията
Използвайте двата предоставени STL файла, за да отпечатате частите на кутията. Можете да използвате какъвто и да е материал с нажежаема жичка (аз използвах PLA). Конкретните настройки, които използвате, не са толкова важни, но аз препоръчах да използвате поддръжка за частта „Rotary_Top“. Можете да отпечатате тези две части, докато работите върху останалата част от проекта.
Стъпка 4: Програмирайте вашия Arduino
Кодът, който ще качите във вашия Arduino Nano, е взет направо от урока на guideomax, тъй като работи перфектно за този проект:
int needToPrint = 0; int брой; int in = 2;
int lastState = НИСКО;
int trueState = НИСКО;
long lastStateChangeTime = 0;
int изчистен = 0;
// константи
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
void setup () {
Serial.begin (9600);
pinMode (in, INPUT); }
void loop () {
int четене = digitalRead (в);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// циферблатът не се набира или току -що приключи.
if (needToPrint) {// ако току -що приключи набирането, трябва да изпратим номера по серийния // ред и да нулираме броя. Ние модифицираме броя с 10, защото „0“ще изпрати 10 импулса.
Serial.print (брой % 10, DEC);
needToPrint = 0;
брой = 0;
изчистен = 0; }}
if (четене! = lastState) {lastStateChangeTime = millis ();
}
if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - това се случва, след като се стабилизира
if (четене! = trueState) {// това означава, че превключвателят или току-що е преминал от затворен-> отворен или обратно. trueState = четене; if (trueState == HIGH) {// увеличава броя на импулсите, ако той е висок.
брой ++;
needToPrint = 1; // ще трябва да отпечатаме този номер (след като циферблатът завърши завъртането)
}
}
}
lastState = четене; }
Стъпка 5: Свържете всичко
Окабеляването за този проект е наистина просто. Циферблатният модул трябва да има две шестоъгълни стойки на гърба с винтове в тях. Това са превключващите връзки. Полярността няма значение.
Забележка: Игнорирайте цветовете на кабелите си на снимките. Смесих земята и 5V, така че те всъщност са обърнати.
Свържете един проводник от Post A (GND) и го свържете към заземителен щифт на вашия Arduino Nano. Вземете втори проводник и го запоявайте и трети проводник от едната страна на резистора от 470 ома. Вторият проводник ще отиде до Post B (+) на циферблата. Третият проводник ще бъде запоен към едната страна на 10k омовия резистор. Вземете четвърти проводник и го запоявайте от другата страна на резистора от 470 ома към щифт 2 на Arduino Nano. И накрая, пети проводник трябва да свърже другата страна на 10k омовия резистор към 5V щифта на Arduino Nano.
Използваме резисторите и 5V щифта, за да издърпаме щифта до високо, когато превключвателят е отворен (както е по време на всеки "импулс").
Стъпка 6: Монтаж
Трябва да забележите, че Rotary_Top частта на корпуса има шест малки дупки. Те са за вашите резбовани вградени вложки. Горните три (от долната страна на горната повърхност) трябва да монтират въртящия се циферблат. Долните три трябва да завиете Rotary_Base към Rotary_Top.
Топлинните вложки могат да се нагреят с поялник (или специален инструмент) и след това да се натиснат в отворите. Топлината ще разтопи пластмасата, която ще се втвърди след отстраняване на топлината, за да държи вложките здраво на място. Използването на вградени вложки е много по-приятно от вкарването на винтове директно в пластмасата.
Поставете шестте вложки за нагряване. След това използвайте няколко къси (10 мм или повече) машинни винта M3, за да монтирате циферблата. Обърнете внимание на прореза в изреза, където ще отиде металната упорна пръст. След това внимателно поставете Arduino Nano-със свързан USB кабел-вътре в кутията (той е хлабав, не е монтиран) и завийте основата на място.
Вероятно ще искате да използвате двустранна лента или 3M командни ленти, за да прикрепите корпуса към бюрото си, така че да не се движи, когато завъртите циферблата.
Стъпка 7: Настройте скрипта на Python
Първо се уверете, че имате инсталиран Python (използвайте Python 3, тъй като Python 2 се прекратява).
След това ще трябва да инсталирате двете необходими библиотеки: PyCAW и PySerial.
Използвайте:
"pip install pycaw" и "pip install pyserial" (от прозореца Python или Windows Powershell)
След това проверете, за да видите към кой порт е свързан вашият Arduino Nano. Можете да проверите това от IDE на Arduino. Уверете се, че сте избрали този порт, след което отворете серийния монитор. Уверете се, че скоростта на предаване е зададена на 9600, след което наберете някои номера, за да се уверите, че те се показват в серийния монитор.
Ако това стане, редактирайте кода "rotary.py" с номера на вашия порт. Ако стартирате скрипта, сега трябва да можете да промените силата на звука, като наберете номер.
Последната стъпка е да настроите скрипта да работи във фонов режим автоматично, когато стартирате компютъра си.
За да направите това, променете „rotary.py“на „rotary.pyw“, което ще му позволи да работи във фонов режим. След това поставете този скрипт в следната папка: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup
Очевидно ще трябва да промените „current_user“на действителното име на потребителската папка.
Това е! Всеки път, когато компютърът ви се стартира, този скрипт на Python ще започне да работи. Той ще следи серийната връзка от Arduino и ще настрои всички програмни обеми на каквото и да наберете!
Вицешампион в Arduino Contest 2020
Препоръчано:
USB контрол на силата на звука: 9 стъпки (със снимки)
Контрол на силата на звука чрез USB: В този проект ще изградим USB контрол на силата на звука, използвайки съвместима с Arduino Trinket от Adafruit и ротационен енкодер. И накрая, ние ще отпечатаме 3D корпус, напълним основата с оловен изстрел, за да добавим тегло и стабилност, и лазерно изрязваме акрилно дъно
Прост DIY бутон за контрол на силата на звука!: 5 стъпки (със снимки)
Просто копче за регулиране на силата на звука „направи си сам!“: Имате работен плот със звукова система далеч от мястото, където седите?-Имам. След малко копаене открих, че е доста лесно да си направя собствено меко копче за контрол на силата на звука на евтини. В този урок ще ви покажа как да създадете USB копче за контрол на силата на звука
Копче за контрол на силата на звука на компютъра: 6 стъпки (със снимки)
Копче за контрол на силата на звука на компютъра: Ако обичате да слушате музика на компютъра си, но често трябва да заглушите и да го рестартирате, когато гледате медия, натискането на Fn+k+F12+g всеки път просто няма да го отреже. Плюс регулиране на силата на звука с бутони? Никой няма време за това! Мога ли да представя моя C
USB контролер за бас, високите и силата на звука със светодиоди за клавиатурата: 6 стъпки (със снимки)
USB контролер за баси, високи и силни звуци със светодиоди за клавиатурата: Имам Creative SoundBlaster Audigy в основния си настолен компютър и имах нужда от начин за бързо регулиране на настройките на басите и високите честоти (както и силата на звука) при слушане на аудио или видео носител . Адаптирах кода от два източника, дадени в
Колело за превъртане на работния плот и контрол на силата на звука!: 8 стъпки (със снимки)
Колело за превъртане на работния плот и контрол на силата на звука!: Направете уикенд проект на списание, 3/4/09Някаква информация Наскоро четох много различни блогове. Всеки ден ще чета най -новите публикации в engadget, lifehacker, hackaday, BBG и MAKE: blog. Проблемът за мен дойде, когато разбрах, че о