Obsah:
- Zásoby
- Krok 1: Teória prevádzky
- Krok 2: Odstráňte volič
- Krok 3: Vytlačte si prílohu
- Krok 4: Naprogramujte si Arduino
- Krok 5: Zapojte všetko
- Krok 6: Zostavenie
- Krok 7: Nastavte skript Python
Video: Vintage otočný telefónny volič Ovládanie hlasitosti PC: 7 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
Ak ste niečo ako ja, pristihnete sa pri tom, že pomerne často meníte hlasitosť vo svojom počítači. Niektoré videá sú hlasnejšie než ostatné, niekedy chcete pri počúvaní podcastov alebo hudby na počítači stlmiť hlasitosť a v prípade telefonického hovoru bude možno potrebné rýchlo znížiť hlasitosť. Ak v počítači nemáte zabudované ovládanie médií, môžete z klasického otočného telefónneho ovládača urobiť ovládanie hlasitosti počítača so systémom Windows.
Toto zariadenie na ovládanie hlasitosti sa pripája k počítaču cez USB a automaticky nastaví hlasitosť každého otvoreného programu na akékoľvek číslo, ktoré vytočíte. Ak vytočíte „2“, hlasitosť bude nastavená na 20%. Vytočte „8“a nastaví sa na 80%. Vytočením „0“sa nastaví na 0% a funguje ako stlmenie. Je to rýchle, uspokojujúce a zábavnejšie, než klikať na ovládanie hlasitosti na paneli úloh.
Zásoby
- Rotačný telefón Vintage Bell Systems Trimline
- Arduino Nano
- Tepelne nastaviteľné vložky so závitom M3
- Skrutky do stroja M3
- Rezistory (470 ohm a 10 k ohm)
- Drôt
- Prístup k 3D tlačiarni
Krok 1: Teória prevádzky
Rotačné telefóny, vrátane Bell Systems Trimline použitého v tomto projekte, sú čisto analógové elektromechanické zariadenia. Keď otáčate číselníkom, pružina otočí číselník späť do pôvodnej polohy. Pri prechode každým číslom je spínač na krátky okamih odpojený (alebo pripojený), čím sa vytvorí impulz. Jediné, čo musíme urobiť, je spočítať tieto impulzy, aby sme zistili, aké číslo bolo vytočené.
guidomax má fantastický tutoriál Instructables, ktorý sa podrobne zaoberá tým, ako to presne funguje, a nájdete tam ďalšie podrobnosti.
V tomto projekte používame Arduino Nano na počítanie impulzov. Arduino potom pošle číslo do počítača prostredníctvom sériového pripojenia. Napísal som základný skript Python, ktorý beží na pozadí a monitoruje toto sériové pripojenie. Keď prijme bity, vezme číslo a pomocou knižnice Python Core Audio Windows nastaví príslušný zväzok.
Z dôvodu obmedzení systému Windows a tejto knižnice skript nenastavuje celkový objem systému (hlavný posúvač na paneli úloh). Namiesto toho nastavuje individuálnu hlasitosť pre každý program, ktorý je aktuálne spustený. Efekt je rovnaký, ibaže nemôžete udržiavať rôzne relatívne úrovne hlasitosti medzi programami.
Krok 2: Odstráňte volič
Tento krok je jednoduchý: stačí rozobrať telefónny prístroj Trimline a odstrániť mechanizmus vytáčania. Je to v podstate samostatný modul, takže ho stačí odskrutkovať zo slúchadla.
Pre tento projekt som vybral model Trimline, pretože tento modul vytáčania je kompaktnejší než tie, ktoré nájdete na väčšine ostatných rotačných telefónov.
Ak ho vyskúšate niekoľko zatočení, mali by ste počuť cvaknutie spínača, ako sa vráti do základnej polohy.
Krok 3: Vytlačte si prílohu
Na vytlačenie častí krytu použite dva dodané súbory STL. Môžete použiť akýkoľvek materiál vlákna, ktorý uprednostňujete (ja som použil PLA). Konkrétne nastavenia, ktoré používate, nie sú také dôležité, ale odporučil som použiť podpory pre časť „Rotary_Top“. Tieto dve časti môžete vytlačiť počas práce na zvyšku projektu.
Krok 4: Naprogramujte si Arduino
Kód, ktorý nahráte do svojho Arduino Nano, je prevzatý priamo z tutoriálu guidomax, pretože pre tento projekt funguje perfektne:
int needToPrint = 0; int count; int in = 2;
int lastState = LOW;
int trueState = LOW;
long lastStateChangeTime = 0;
int vymazané = 0;
// konštanty
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
neplatné nastavenie () {
Serial.begin (9600);
pinMode (in, INPUT); }
prázdna slučka () {
int reading = digitalRead (in);
if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// číselník nie je vytočený alebo sa práve dokončil vytáčanie.
if (needToPrint) {// ak je práve dokončené vytáčanie, musíme číslo poslať na sériovú // linku a resetovať počet. Počet upravíme o 10, pretože „0“vyšle 10 impulzov.
Serial.print (počet % 10, DEC);
needToPrint = 0;
počet = 0;
vymazané = 0; }}
if (reading! = lastState) {lastStateChangeTime = millis ();
}
if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - to sa stane, keď je to stabilizované
if (reading! = trueState) {// to znamená, že prepínač buď práve prešiel zo zatvoreného-> otvoreného, alebo naopak. trueState = čítanie; if (trueState == HIGH) {// zvýši počet impulzov, ak sa zvýši.
počítať ++;
needToPrint = 1; // toto číslo budeme musieť vytlačiť (akonáhle sa volič otočí)
}
}
}
lastState = čítanie; }
Krok 5: Zapojte všetko
Zapojenie pre tento projekt je skutočne jednoduché. Modul vytáčania by mal mať na zadnej strane dva šesťhranné stĺpiky so skrutkami. Toto sú pripojenia prepínačov. Na polarite nezáleží.
Poznámka: Farby svojich vodičov na fotografiách ignorujte. Zmiešal som zem a 5V, takže tieto sú v skutočnosti obrátené.
Pripojte jeden vodič z konektora Post A (GND) a zapojte ho do uzemňovacieho kolíka na zariadení Arduino Nano. Vezmite druhý vodič a spájajte ho a tretí vodič na jednu stranu odporu 470 ohmov. Druhý vodič pôjde na stĺpik B (+) na číselníku. Tretí vodič bude spájkovaný na jednu stranu 10k ohmového odporu. Vezmite štvrtý vodič a spájkujte ho z druhej strany rezistora 470 ohmov na pin 2 na Arduino Nano. Nakoniec by piaty vodič mal pripojiť druhú stranu odporu 10 kOhm k 5V kolíku na Arduino Nano.
Používame odpory a 5V kolík na vytiahnutie kolíka na maximum, keď je spínač otvorený (ako je to počas každého „impulzu“).
Krok 6: Zostavenie
Mali by ste si všimnúť, že časť krytu Rotary_Top má šesť malých otvorov. Tieto sú určené pre vaše závitové tepelne vložené vložky. Tri prvé (na spodnej strane horného povrchu) majú namontovať otočný volič. Spodné tri majú priskrutkovať Rotary_Base k Rotary_Top.
Tepelne vytvrditeľné vložky je možné zahriať spájkovačkou (alebo špeciálnym nástrojom) a potom ich zasunúť do otvorov. Teplo roztaví plast, ktorý po odstránení tepla stvrdne, aby vložky bezpečne držali na svojom mieste. Používanie vložiek vytvrdených teplom je oveľa príjemnejšie ako navliekanie skrutiek priamo do plastu.
Vložte šesť vložiek vytvrdzovaných teplom. Potom pripevnite číselník niekoľkými krátkymi (asi 10 mm) skrutkami M3. Všimnite si zárezu vo výreze, kam pôjde kovová zarážka prsta. Potom opatrne umiestnite kábel Arduino Nano s káblom USB zapojeným do krytu (je voľný, nie je namontovaný) a zaskrutkujte základňu na miesto.
Na pripevnenie krytu k stolu budete pravdepodobne chcieť použiť obojstrannú pásku alebo príkazové pásy 3M, aby sa pri otáčaní číselníka nepohyboval.
Krok 7: Nastavte skript Python
Najprv sa uistite, že máte nainštalovaný Python (použite Python 3, pretože Python 2 sa postupne vyraďuje).
Potom budete musieť nainštalovať dve požadované knižnice: PyCAW a PySerial.
Použitie:
„pip install pycaw“a „pip install pyserial“(z okna Pythonu alebo Windows Powershell)
Potom skontrolujte, k akému portu je pripojené vaše Arduino Nano. Môžete to skontrolovať z Arduino IDE. Uistite sa, že máte vybratý tento port, potom otvorte sériový monitor. Uistite sa, že je prenosová rýchlosť nastavená na 9600, a potom vytočte niektoré čísla, aby ste sa presvedčili, že sa zobrazujú na sériovom monitore.
Ak áno, upravte kód „rotary.py“číslom portu. Ak spustíte skript, mali by ste teraz mať možnosť zmeniť hlasitosť vytočením čísla.
Posledným krokom je nastavenie skriptu, ktorý sa bude automaticky spúšťať na pozadí pri spustení počítača.
Ak to chcete urobiť, zmeňte súbor „rotary.py“na „rotary.pyw“, ktorý mu umožní bežať na pozadí. Potom vložte tento skript do nasledujúceho priečinka: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup
Očividne budete musieť zmeniť „current_user“na názov skutočného používateľského priečinka.
To je všetko! Pri každom spustení počítača sa spustí tento skript Python. Bude monitorovať sériové pripojenie z Arduina a nastaví všetky objemy programu na čokoľvek, čo vytočíte!
Druhé miesto v súťaži Arduino 2020
Odporúča:
ESP8266 RGB LED STRIP WIFI ovládanie - NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi - Ovládanie smartfónu RGB LED STRIP: 4 kroky
ESP8266 RGB LED STRIP WIFI ovládanie | NODEMCU Ako IR diaľkové ovládanie pre LED pás ovládané cez Wifi | Ovládanie smartfónu RGB LED STRIP: Ahoj, v tomto návode sa naučíme, ako používať nodemcu alebo esp8266 ako IR diaľkové ovládanie na ovládanie RGB LED pásu a Nodemcu budete ovládať smartfónom cez wifi. V zásade teda môžete RGB LED STRIP ovládať pomocou svojho smartfónu
USB ovládanie hlasitosti: 9 krokov (s obrázkami)
Ovládanie hlasitosti USB: V tomto projekte vytvoríme ovládanie hlasitosti USB pomocou Trinketu kompatibilného s Arduino od Adafruit a rotačného enkodéra. Nakoniec vytlačíme puzdro 3D, naplníme základňu olovenou strelou, aby sme zvýšili hmotnosť a stabilitu, a laserom vyrezáme akrylové dno
Jednoduchý gombík na ovládanie hlasitosti DIY!: 5 krokov (s obrázkami)
Jednoduchý gombík na ovládanie hlasitosti DIY !: Máte pracovnú plochu so zvukovým systémom ďaleko od miesta, kde sedíte?-Mám. Po troche kopania som zistil, že je celkom jednoduché vyrobiť si lacno vlastný mäkký gombík ovládania hlasitosti. V tomto návode vám ukážem, ako vytvoriť ovládací gombík ovládania hlasitosti USB
Ovládacie koliesko a ovládanie hlasitosti na ploche! 8 krokov (s obrázkami)
Rolovacie koliesko na ploche a ovládanie hlasitosti !: Vytvorte víkendový projekt časopisu, 3/4/09. Niektoré pozadia V poslednej dobe som čítal veľa rôznych blogov. Každý deň si prečítam najnovšie príspevky o engadget, lifehacker, hackaday, BBG a blogu MAKE: Problém pre mňa nastal, keď som si uvedomil, že o
Univerzálne ovládanie hlasitosti v slúchadlách/slúchadlách: 8 krokov (s obrázkami)
Univerzálne ovládanie hlasitosti slúchadiel/slúchadiel: Kúpil som si preto z Hongkongu PMP (prenosný prehrávač médií), aby som si mohol hrať svoje hry NES s integrovaným emulátorom, kdekoľvek to bolo vhodné. Dlhé výlety, lety, čakárne atď. Sú miesta, kde rád zabíjam čas pomocou prenosných médií, ale