Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Teoria działania
- Krok 2: Usuń tarczę
- Krok 3: Wydrukuj załącznik
- Krok 4: Zaprogramuj Arduino
- Krok 5: Podłącz wszystko do góry
- Krok 6: Montaż
- Krok 7: Skonfiguruj skrypt Pythona
Wideo: Vintage Rotary Phone Dial Regulacja głośności PC: 7 kroków (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
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ę
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
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
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
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ż
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
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!
Drugie miejsce w konkursie Arduino 2020
Zalecana:
24-watowe oświetlenie LED do uprawy z regulacją jasności: 8 kroków (ze zdjęciami)
24 Watt LED Grow Light z kontrolą jasności: Uprawa żywności jest jednym z moich ulubionych hobby, ponieważ jestem wielkim fanem żywności ekologicznej i zdrowego odżywiania. Ten instruktaż pokaże Ci, jak zbudować oświetlenie LED do uprawy z czerwonymi/niebieskimi regulatorami jasności, aby dopasować je do rosnących potrzeb i pozwolić
Regulacja głośności USB: 9 kroków (ze zdjęciami)
Regulacja głośności USB: W tym projekcie zbudujemy regulację głośności USB za pomocą Trinket kompatybilnego z Arduino firmy Adafruit oraz enkodera obrotowego. Na koniec wydrukujemy obudowę w 3D, wypełnimy podstawę śrutem ołowianym, aby zwiększyć wagę i stabilność, a także wytniemy laserowo akrylowe dno
Lepsza regulacja głośności dla telewizora: 3 kroki
Lepsza regulacja głośności w telewizji: Problem: moja nowa telewizja ma cyfrową regulację głośności, która jest dość chwiejna, jest albo GŁOŚNO, albo WYŁĄCZONA Rozwiązanie: dodanie dodatkowej analogowej regulacji głośności Materiały: 1. drut 2. lut 3. rurka termokurczliwa 4. potencjometr (użyłem 1 Mohm dobry dla mojego
Kółko przewijania pulpitu i regulacja głośności!: 8 kroków (ze zdjęciami)
Pulpit przewijania i regulacja głośności!: Stwórz weekendowy projekt magazynu, 3/4/09 Niektóre tłaNiedawno czytałem wiele różnych blogów. Codziennie będę czytać najnowsze posty na engadget, lifehacker, hackaday, BBG i blogu MAKE:. Problem dla mnie pojawił się, gdy zdałem sobie sprawę, że
Uniwersalna regulacja głośności słuchawek/słuchawek: 8 kroków (ze zdjęciami)
Uniwersalna regulacja głośności słuchawek/słuchawek: Kupiłem więc PMP (przenośny odtwarzacz multimedialny) z Hongkongu, aby móc grać w moje gry NES za pomocą wbudowanego emulatora, gdziekolwiek było to wygodne. Długie podróże, loty, poczekalnie itp. to miejsca, w których lubię zabijać czas przenośnymi mediami, ale