Obsah:
- Zásoby
- Krok 1: Teorie provozu
- Krok 2: Odstraňte volič
- Krok 3: Vytiskněte přílohu
- Krok 4: Naprogramujte si Arduino
- Krok 5: Zapojte vše
- Krok 6: Sestavení
- Krok 7: Nastavení skriptu Python
Video: Vintage Rotary Phone Dial Ovládání hlasitosti PC: 7 kroků (s obrázky)
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:20
Pokud jste něco jako já, zjistíte, že měníte hlasitost ve svém počítači poměrně často. Některá videa jsou hlasitější než jiná, někdy chcete při poslechu podcastů nebo hudby ztlumit hlasitost na počítači a v případě telefonního hovoru možná budete muset hlasitost rychle snížit. Pokud nemáte v počítači vestavěné ovládací prvky médií, můžete z klasického otočného telefonního číselníku udělat ovladač hlasitosti pro počítač se systémem Windows.
Toto zařízení pro ovládání hlasitosti se připojuje k vašemu počítači přes USB a automaticky nastaví hlasitost každého otevřeného programu na jakékoli číslo, které vytočíte. Pokud vytočíte „2“, hlasitost bude nastavena na 20%. Vytočte „8“a bude nastaveno na 80%. Volbou „0“se nastaví na 0% a funguje jako ztlumení. Je to rychlé, uspokojivé a zábavnější než klikat na ovládání hlasitosti na hlavním panelu.
Zásoby
- Rotační telefon Vintage Bell Systems Trimline
- Arduino Nano
- Tepelně nastavitelné vložky se závitem M3
- Šrouby M3
- Rezistory (470 ohmů a 10 k ohmů)
- Drát
- Přístup k 3D tiskárně
Krok 1: Teorie provozu
Rotační telefony, včetně Bell Systems Trimline použité v tomto projektu, jsou čistě analogová elektromechanická zařízení. Když otočíte číselníkem, pružina otočí číselník zpět do původní polohy. Když projde každým číslem, spínač se na krátký okamžik odpojí (nebo připojí) a vytvoří puls. Jediné, co musíme udělat, je spočítat tyto impulzy, abychom zjistili, jaké číslo bylo vytočeno.
guidomax má fantastický návod Instructables, který jde do hloubky, jak přesně to funguje, a najdete tam více podrobností.
Pro tento projekt používáme Arduino Nano k počítání impulsů. Arduino poté odešle číslo do PC přes sériové připojení. Napsal jsem základní skript Pythonu, který běží na pozadí a monitoruje toto sériové připojení. Když přijme bity, vezme číslo a pomocí knihovny Python Core Audio Windows nastaví příslušný svazek.
Kvůli omezením systému Windows a této knihovny skript nenastavuje celkový objem systému (hlavní posuvník na hlavním panelu). Místo toho nastavuje individuální hlasitost pro každý aktuálně spuštěný program. Efekt je stejný, kromě toho, že nemůžete udržovat různé relativní úrovně hlasitosti mezi programy.
Krok 2: Odstraňte volič
Tento krok je přímočarý: stačí rozebrat telefon Trimline a vyjmout mechanismus vytáčení. Je to v podstatě samostatný modul, takže ho stačí odšroubovat ze sluchátka.
Pro tento projekt jsem zvolil model Trimline, protože tento vytáčecí modul je kompaktnější než ty, které najdete na většině ostatních rotačních telefonů.
Pokud mu dáte několik testovacích otočení, měli byste slyšet cvaknutí spínače, když se vrátí do výchozí polohy.
Krok 3: Vytiskněte přílohu
Pomocí dvou dodaných souborů STL vytiskněte části skříně. Můžete použít jakýkoli materiál, který upřednostňujete (já jsem použil PLA). Konkrétní nastavení, která používáte, nejsou tak důležitá, ale doporučil jsem použít podporu pro část „Rotary_Top“. Tyto dvě části můžete vytisknout, zatímco pracujete na zbytku projektu.
Krok 4: Naprogramujte si Arduino
Kód, který nahrajete do svého Arduino Nano, je převzat přímo z tutoriálu guidomax, protože pro tento projekt funguje perfektně:
int needToPrint = 0; int count; int in = 2;
int lastState = LOW;
int trueState = LOW;
long lastStateChangeTime = 0;
int vymazáno = 0;
// konstanty
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
neplatné nastavení () {
Serial.begin (9600);
pinMode (in, INPUT); }
prázdná smyčka () {
int reading = digitalRead (in);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// číselník se nevytočí nebo se právě vytáčel.
if (needToPrint) {// pokud je právě dokončeno vytáčení, musíme poslat číslo na sériovou // linku a resetovat počet. Změníme počet o 10, protože '0' vyšle 10 impulsů.
Serial.print (počet % 10, DEC);
needToPrint = 0;
počet = 0;
vymazáno = 0; }}
if (reading! = lastState) {lastStateChangeTime = millis ();
}
if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - to se stane, jakmile je to stabilizováno
if (reading! = trueState) {// to znamená, že přepínač buď právě odešel z closed-> open, nebo naopak. trueState = čtení; if (trueState == HIGH) {// zvýší počet impulsů, pokud se zvýší.
počet ++;
needToPrint = 1; // toto číslo budeme muset vytisknout (jakmile se číselník otočí)
}
}
}
lastState = čtení; }
Krok 5: Zapojte vše
Zapojení tohoto projektu je opravdu jednoduché. Modul volby by měl mít na zadní straně dva šestihranné sloupky se šrouby. To jsou připojení spínačů. Na polaritě nezáleží.
Poznámka: Ignorujte barvy mých vodičů na fotografiích. Smíchal jsem zem a 5V, takže ty jsou vlastně obrácené.
Připojte jeden vodič z Post A (GND) a připojte jej k uzemňovacímu kolíku na vašem Arduino Nano. Vezměte druhý vodič a připájejte jej a třetí vodič k jedné straně odporu 470 ohmů. Druhý vodič přejde na sloupek B (+) na číselníku. Třetí vodič se připájí na jednu stranu 10k ohmového rezistoru. Vezměte čtvrtý vodič a připájejte jej z druhé strany odporu 470 ohmů ke kolíku 2 na Arduino Nano. Nakonec by měl pátý vodič připojit druhou stranu 10k ohmového rezistoru k 5V pinu na Arduino Nano.
Používáme odpory a kolík 5V k vytažení kolíku vysoko, když je spínač otevřený (jako je to během každého „impulzu“).
Krok 6: Sestavení
Měli byste si všimnout, že část skříně Rotary_Top má šest malých otvorů. Ty jsou pro vaše závitové vložky tepelně nastavitelné. První tři (na spodní straně horního povrchu) mají namontovat otočný volič. Tři spodní mají přišroubovat Rotary_Base k Rotary_Top.
Tepelně vytvrzované vložky lze zahřát páječkou (nebo vyhrazeným nástrojem) a poté je zasunout do otvorů. Teplo roztaví plast, který po odstranění tepla ztvrdne, aby vložky bezpečně držely na svém místě. Použití tepelně nastavitelných vložek je mnohem příjemnější než navlékání šroubů přímo do plastu.
Vložte šest tepelně nastavitelných vložek. Poté použijte několik krátkých (asi 10 mm) šroubů M3 k upevnění číselníku. Všimněte si zářezu ve výřezu, kde se bude pohybovat kovová zarážka prstu. Poté opatrně umístěte Arduino Nano-pomocí kabelu USB připojeného uvnitř skříně (je uvolněný, není namontován) a přišroubujte základnu na místo.
Pravděpodobně budete chtít použít oboustrannou pásku nebo 3M Command Strips k připevnění skříně ke svému stolu, aby se při otáčení číselníku nepohybovalo.
Krok 7: Nastavení skriptu Python
Nejprve se ujistěte, že máte nainstalovaný Python (použijte Python 3, protože Python 2 se postupně vyřazuje).
Poté budete muset nainstalovat dvě požadované knihovny: PyCAW a PySerial.
Použití:
„pip install pycaw“a „pip install pyserial“(z okna Pythonu nebo Windows Powershell)
Poté zkontrolujte, ke kterému portu je připojeno vaše Arduino Nano. Můžete to zkontrolovat z Arduino IDE. Ujistěte se, že jste vybrali tento port, a poté otevřete sériový monitor. Zkontrolujte, zda je přenosová rychlost nastavena na 9600, a poté vytočte některá čísla, abyste se ujistili, že se zobrazují na sériovém monitoru.
Pokud ano, upravte kód „rotary.py“číslem portu. Pokud spustíte skript, měli byste nyní mít možnost změnit hlasitost vytočením čísla.
Posledním krokem je nastavení skriptu tak, aby se automaticky spouštěl na pozadí při spuštění počítače.
Chcete -li to provést, změňte „rotary.py“na „rotary.pyw“, což mu umožní běžet na pozadí. Poté umístěte tento skript do následující složky: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup
Očividně budete muset změnit „current_user“na název vaší skutečné uživatelské složky.
A je to! Kdykoli se počítač spustí, spustí se tento skript Pythonu. Bude monitorovat sériové připojení z Arduina a nastaví všechny objemy programu na to, co vytočíte!
Druhé místo v soutěži Arduino Contest 2020
Doporučuje:
USB ovládání hlasitosti: 9 kroků (s obrázky)
Ovládání hlasitosti USB: V tomto projektu postavíme ovládání hlasitosti USB pomocí trinketu kompatibilního s Arduino od Adafruit a rotačního kodéru. Nakonec vytiskneme pouzdro 3D, naplníme základnu olověným výstřelem, abychom zvýšili hmotnost a stabilitu, a laserem vyřezali akrylové dno
Jednoduchý knoflík ovládání hlasitosti DIY!: 5 kroků (s obrázky)
Jednoduchý knoflík ovládání hlasitosti DIY !: Máte pracovní plochu se zvukovým systémem daleko od místa, kde sedíte?-Ano. Po troše kopání jsem zjistil, že je docela snadné vyrobit si levný vlastní měkký knoflík ovládání hlasitosti. V tomto tutoriálu vám ukážu, jak vytvořit ovladač hlasitosti USB pro
Knoflík ovládání hlasitosti počítače: 6 kroků (s obrázky)
Knoflík ovládání hlasitosti počítače: Pokud rádi posloucháte hudbu na počítači, ale při sledování médií ji často potřebujete umlčet a restartovat, pokaždé stisknete Fn+k+F12+g, prostě to nepřerušíte. Plus nastavení hlasitosti pomocí tlačítek? Na to nikdo nemá čas! Dovolte mi představit svůj C
Rolovací kolečko a ovládání hlasitosti na ploše !: 8 kroků (s obrázky)
Rolovací kolečko na ploše a ovládání hlasitosti !: Vytvořte víkendový projekt časopisu, 3/4/09 Některé pozadí V poslední době jsem četl spoustu různých blogů. Každý den budu číst nejnovější příspěvky na engadget, lifehacker, hackaday, BBG a blogu MAKE: Problém pro mě nastal, když jsem si uvědomil, že o
Univerzální ovládání hlasitosti sluchátek/sluchátek: 8 kroků (s obrázky)
Univerzální ovládání hlasitosti sluchátek/sluchátek: Tak jsem si koupil PMP (Portable Media Player) z Hongkongu, abych mohl hrát své NES hry s integrovaným emulátorem, kdekoli to bylo vhodné. Dlouhé výlety, lety, čekárny atd. Jsou místa, kde rád zabíjím čas přenosnými médii, ale