Spisu treści:

Vintage Rotary Phone Dial Regulacja głośności PC: 7 kroków (ze zdjęciami)
Vintage Rotary Phone Dial Regulacja głośności PC: 7 kroków (ze zdjęciami)

Wideo: Vintage Rotary Phone Dial Regulacja głośności PC: 7 kroków (ze zdjęciami)

Wideo: Vintage Rotary Phone Dial Regulacja głośności PC: 7 kroków (ze zdjęciami)
Wideo: 30 Ultimate Windows 10 wskazówek i trików na rok 2020 2024, Listopad
Anonim
Image
Image
Usuń tarczę
Usuń tarczę

Jeśli jesteś podobny do mnie, często zmieniasz głośność na swoim komputerze. Niektóre filmy są głośniejsze niż inne, czasami chcesz wyciszyć dźwięk na komputerze podczas słuchania podcastów lub muzyki, a po odebraniu połączenia telefonicznego może być konieczne szybkie zmniejszenie głośności. Jeśli nie masz wbudowanego sterowania multimediami w komputerze, możesz zmienić zabytkowe obrotowe pokrętło telefonu w regulator głośności na komputerze z systemem Windows.

To urządzenie do regulacji głośności podłącza się do komputera przez USB i automatycznie ustawia głośność każdego otwartego programu na wybrany numer. Jeśli wybierzesz „2”, głośność zostanie ustawiona na 20%. Wybierz „8”, a zostanie ustawiony na 80%. Wybranie „0” ustawia go na 0% i działa jak wyciszenie. To szybkie, satysfakcjonujące i przyjemniejsze niż klikanie na regulatorze głośności na pasku zadań.

Kieszonkowe dzieci

  • Vintage Bell Systems Trimline telefon obrotowy
  • Arduino Nano
  • Gwintowane wkładki termoutwardzalne M3
  • Śruby maszynowe M3
  • Rezystory (470 omów i 10 kiloomów)
  • Drut
  • Dostęp do drukarki 3D

Krok 1: Teoria działania

Telefony obrotowe, w tym Bell Systems Trimline użyte w tym projekcie, to czysto analogowe urządzenia elektromechaniczne. Po obróceniu tarczy sprężyna cofa tarczę do pierwotnej pozycji. Gdy przechodzi przez każdą liczbę, przełącznik jest na krótką chwilę odłączony (lub podłączony), tworząc impuls. Wystarczy policzyć te impulsy, aby określić, jaki numer został wybrany.

guidomax ma fantastyczny samouczek Instructables, który szczegółowo wyjaśnia, jak dokładnie to działa, i można tam znaleźć więcej szczegółów.

W tym projekcie używamy Arduino Nano do liczenia impulsów. Arduino następnie wysyła numer do komputera PC za pośrednictwem połączenia szeregowego. Napisałem podstawowy skrypt Pythona, który działa w tle i monitoruje połączenie szeregowe. Kiedy otrzymuje bity, pobiera liczbę i używa biblioteki Python Core Audio Windows, aby ustawić odpowiednią głośność.

Ze względu na ograniczenia systemu Windows i tej biblioteki, skrypt nie ustawia całkowitej głośności systemu (główny suwak na pasku zadań). Zamiast tego ustawia indywidualną głośność dla każdego aktualnie uruchomionego programu. Efekt jest taki sam, z wyjątkiem tego, że nie można utrzymywać różnych względnych poziomów głośności między programami.

Krok 2: Usuń tarczę

Usuń tarczę
Usuń tarczę

Ten krok jest prosty: wystarczy zdemontować słuchawkę telefonu Trimline, aby usunąć mechanizm wybierania. Jest to w zasadzie samodzielny moduł, więc wystarczy odkręcić go od słuchawki.

Do tego projektu wybrałem model Trimline, ponieważ ten moduł wybierania jest bardziej kompaktowy niż te, które można znaleźć w większości innych telefonów obrotowych.

Jeśli wykonasz kilka próbnych obrotów, powinieneś usłyszeć kliknięcie przełącznika, gdy wraca on do pozycji wyjściowej.

Krok 3: Wydrukuj załącznik

Wydrukuj załącznik
Wydrukuj załącznik

Użyj dwóch dostarczonych plików STL, aby wydrukować części obudowy. Możesz użyć dowolnego materiału filamentowego (ja użyłem PLA). Konkretne ustawienia, których używasz, nie są tak ważne, ale zaleciłem użycie podpór dla części „Rotary_Top”. Możesz wydrukować te dwie części podczas pracy nad resztą projektu.

Krok 4: Zaprogramuj Arduino

Zaprogramuj swoje Arduino
Zaprogramuj swoje Arduino

Kod, który prześlesz do Arduino Nano, pochodzi bezpośrednio z samouczka guidomaxa, ponieważ działa idealnie w tym projekcie:

int needToPrint = 0;int liczba; int w = 2;

int ostatni stan = NISKI;

int trueState = NISKI;

long lastStateChangeTime = 0;

int wyczyszczone = 0;

// stałe

int dialZakończonoObracaniePoMs = 100;

int opóźnienie opóźnienia = 10;

pusta konfiguracja () {

Serial.początek(9600);

pinMode(we, INPUT); }

pusta pętla () {

odczyt int = digitalRead(in);

if ((millis() - lastStateChangeTime) > dialHasFinishedRotatingAfterMs) { // pokrętło nie jest wybierane lub właśnie zostało wybrane.

if (needToPrint) { // jeśli dopiero co zostało wybrane, musimy wysłać numer w dół // linii szeregowej i zresetować licznik. Modyfikujemy licznik o 10, ponieważ '0' wyśle 10 impulsów.

Serial.print(liczba % 10, DEC);

potrzebaDrukuj = 0;

liczba = 0;

wyczyszczone = 0; } }

if (odczyt != lastState) { lastStateChangeTime = millis();

}

if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - dzieje się to po ustabilizowaniu

if (reading != trueState) { // oznacza to, że przełącznik właśnie przeszedł z pozycji zamknięte->otwarte lub odwrotnie. trueState = czytanie; if (trueState == HIGH) { // zwiększa liczbę impulsów, jeśli jest wysoka.

liczyć++;

potrzebaDrukuj = 1; // będziemy musieli wydrukować ten numer (gdy tarcza skończy się obracać)

}

}

}

lastState = czytanie; }

Krok 5: Podłącz wszystko do góry

Podłącz wszystko do góry
Podłącz wszystko do góry
Podłącz wszystko do góry
Podłącz wszystko do góry
Podłącz wszystko do góry
Podłącz wszystko do góry

Okablowanie do tego projektu jest naprawdę proste. Moduł zegarowy powinien mieć z tyłu dwa sześciokątne słupki ze śrubami. To są połączenia przełączników. Polaryzacja nie ma znaczenia.

Uwaga: Zignoruj kolory moich przewodów na zdjęciach. Pomieszałem masę i 5V, więc faktycznie są odwrócone.

Podłącz jeden przewód z Post A (GND) i podłącz go do styku uziemienia w Arduino Nano. Weź drugi przewód i przylutuj go, a trzeci przewód z jednej strony rezystora 470 omów. Drugi przewód przejdzie do słupka B (+) na tarczy. Trzeci przewód zostanie przylutowany z jednej strony rezystora 10 kΩ. Weź czwarty przewód i przylutuj go z drugiej strony rezystora 470 omów do pinu 2 w Arduino Nano. Wreszcie piąty przewód powinien łączyć drugą stronę rezystora 10 kΩ z pinem 5 V w Arduino Nano.

Używamy rezystorów i pinu 5V, aby podciągnąć pin do stanu wysokiego, gdy przełącznik jest otwarty (jak to jest podczas każdego "impulsu").

Krok 6: Montaż

montaż
montaż
montaż
montaż

Powinieneś zauważyć, że część obudowy Rotary_Top ma sześć małych otworów. Są one przeznaczone do wkładek gwintowanych na gorąco. Trzy górne (od spodu górnej powierzchni) służą do zamontowania pokrętła. Trzy dolne służą do przykręcenia Rotary_Base do Rotary_Top.

Wkładki heatsetowe można podgrzać lutownicą (lub dedykowanym narzędziem), a następnie wcisnąć w otwory. Ciepło stopi plastik, który stwardnieje po usunięciu ciepła, aby utrzymać wkładki bezpiecznie na miejscu. Używanie wkładek termoutwardzalnych jest o wiele przyjemniejsze niż wkręcanie śrub bezpośrednio w plastik.

Włóż sześć wkładek heatsetowych. Następnie użyj kilku krótkich (10mm) śrub maszynowych M3, aby zamontować tarczę. Zwróć uwagę na wycięcie w wycięciu, w którym znajdzie się metalowy ogranicznik palca. Następnie ostrożnie umieść Arduino Nano z podłączonym kablem USB wewnątrz obudowy (jest luźny, nie zamontowany) i przykręć podstawę.

Prawdopodobnie będziesz chciał użyć taśmy dwustronnej lub pasków poleceń 3M, aby przymocować obudowę do biurka, aby nie przesuwała się podczas obracania pokrętła.

Krok 7: Skonfiguruj skrypt Pythona

Skonfiguruj skrypt Pythona
Skonfiguruj skrypt Pythona

Najpierw upewnij się, że masz zainstalowany Python (użyj Pythona 3, ponieważ Python 2 jest wycofywany).

Następnie musisz zainstalować dwie wymagane biblioteki: PyCAW i PySerial.

Posługiwać się:

"pip install pycaw" i "pip install pyserial" (z okna Pythona lub Windows Powershell)

Następnie sprawdź, do którego portu jest podłączone twoje Arduino Nano. Możesz to sprawdzić z poziomu środowiska Arduino IDE. Upewnij się, że wybrałeś ten port, a następnie otwórz monitor szeregowy. Upewnij się, że szybkość transmisji jest ustawiona na 9600, a następnie wybierz kilka numerów, aby upewnić się, że pojawią się na monitorze szeregowym.

Jeśli tak, edytuj kod „rotary.py” za pomocą numeru portu. Jeśli uruchomisz skrypt, powinieneś być teraz w stanie zmienić głośność, wybierając numer.

Ostatnim krokiem jest skonfigurowanie skryptu do automatycznego uruchamiania w tle po uruchomieniu komputera.

Aby to zrobić, zmień "rotary.py" na "rotary.pyw", co pozwoli mu działać w tle. Następnie umieść ten skrypt w następującym folderze: C:\Users\bieżący_użytkownik\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Oczywiście będziesz musiał zmienić „current_user” na rzeczywistą nazwę folderu użytkownika.

Otóż to! Za każdym razem, gdy uruchamiasz komputer, skrypt Pythona zacznie działać. Będzie monitorował połączenie szeregowe z Arduino i ustawi wszystkie woluminy programu na to, co wybierzesz!

Konkurs Arduino 2020
Konkurs Arduino 2020
Konkurs Arduino 2020
Konkurs Arduino 2020

Drugie miejsce w konkursie Arduino 2020

Zalecana: