Vintage Rotary Phone Dial PC hangerőszabályzó: 7 lépés (képekkel)
Vintage Rotary Phone Dial PC hangerőszabályzó: 7 lépés (képekkel)
Anonim
Image
Image
Távolítsa el a tárcsát
Távolítsa el a tárcsát

Ha olyan vagy, mint én, akkor azon kapod magad, hogy elég gyakran változtatod a számítógép hangerejét. Egyes videók hangosabbak, mint mások, néha azt szeretné, ha a számítógépen elnémítaná a hangerőt, miközben podcastokat vagy zenét hallgat, és előfordulhat, hogy gyorsan le kell állítania a hangerőt, ha telefonhívást kap. Ha nem rendelkezik médiavezérlőkkel a számítógépben, akkor a vintage forgó telefon tárcsát hangerőszabályzóvá alakíthatja a Windows PC számára.

Ez a hangerőszabályozó eszköz USB -n keresztül csatlakozik a számítógéphez, és minden nyitott program hangerejét automatikusan a tárcsázott számra állítja. Ha "2" -t tárcsáz, a hangerő 20%-ra van állítva. Tárcsázza a "8" -ot, és 80%-ra lesz állítva. A "0" tárcsázás 0% -ra állítja, és némításként működik. Gyors, kielégítő és szórakoztatóbb, mint a tálcán lévő hangerőszabályzóra kattintani.

Kellékek

  • Vintage Bell Systems Trimline forgó telefon
  • Arduino Nano
  • M3 menetes fűtőbetétek
  • M3 gépcsavarok
  • Ellenállások (470 ohm és 10 k ohm)
  • Huzal
  • Hozzáférés egy 3D nyomtatóhoz

1. lépés: A működés elmélete

A forgó telefonok, beleértve a projektben használt Bell Systems Trimline -t, tisztán analóg elektromechanikus eszközök. Amikor elforgatja a tárcsát, egy rugó visszaforgatja a tárcsát az eredeti helyzetébe. A számok áthaladásakor egy kapcsoló rövid időre lekapcsolódik (vagy csatlakoztatva van), ami impulzust hoz létre. Mindössze annyit kell tennünk, hogy megszámoljuk ezeket az impulzusokat annak meghatározásához, hogy milyen számot tárcsáztunk.

A guidomax fantasztikus Instructables oktatóanyaggal rendelkezik, amely részletesen bemutatja ennek pontos működését, és ott további részleteket talál.

Ehhez a projekthez az Arduino Nano segítségével számoljuk az impulzusokat. Az Arduino ezután elküldi a számot a számítógépnek a soros kapcsolaton keresztül. Írtam egy alapvető Python -szkriptet, amely a háttérben fut, és figyeli a soros kapcsolatot. Amikor biteket fogad, veszi a számot, és a Python Core Audio Windows könyvtár segítségével állítja be a megfelelő hangerőt.

A Windows és a könyvtár korlátai miatt a szkript nem állítja be a rendszer teljes kötetét (a tálca fő csúszkáját). Ehelyett minden aktuális program egyéni hangerejét állítja be. A hatás ugyanaz, kivéve, hogy a programok között nem lehet különböző relatív hangerőt fenntartani.

2. lépés: Távolítsa el a tárcsát

Távolítsa el a tárcsát
Távolítsa el a tárcsát

Ez a lépés egyszerű: csak szerelje szét a Trimline telefonkagylót a tárcsázási mechanizmus eltávolításához. Ez lényegében önálló modul, így csak ki kell csavarni a kézibeszélőből.

A Trimline modellt választottam ehhez a projekthez, mert ez a tárcsázó modul kompaktabb, mint a legtöbb más forgó telefon.

Ha néhány tesztpörgetést végez, hallnia kell, hogy a kapcsoló elkattan, amikor visszatér alaphelyzetbe.

3. lépés: Nyomtassa ki a mellékletet

Nyomtassa ki a mellékletet
Nyomtassa ki a mellékletet

Használja a két mellékelt STL fájlt a burkolatrészek kinyomtatásához. Bármilyen izzószálat használhat (én PLA -t használtam). Az Ön által használt beállítások nem olyan fontosak, de azt javasoltam, hogy a "Rotary_Top" rész támogatásait használja. Ezt a két részt kinyomtathatja, miközben a projekt többi részén dolgozik.

4. lépés: Programozza be Arduino -ját

Programozza Arduino -ját
Programozza Arduino -ját

Az Arduino Nano készülékére feltöltött kód közvetlenül a guidomax oktatóanyagából származik, mivel tökéletesen működik ebben a projektben:

int needToPrint = 0; int count; int in = 2;

int lastState = LOW;

int trueState = LOW;

long lastStateChangeTime = 0;

int törölve = 0;

// állandók

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

void setup () {

Sorozat.kezdet (9600);

pinMode (in, INPUT); }

void loop () {

int olvasás = digitalRead (in);

if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// a tárcsát nem tárcsázza, vagy éppen befejezte a tárcsázást.

if (needToPrint) {// ha csak most fejezték be a tárcsázást, el kell küldenünk a számot a soros // sorban, és vissza kell állítanunk a számot. A számot 10 -gyel módosítjuk, mert a '0' 10 impulzust küld.

Soros.nyomtatás (% 10, DEC);

needToPrint = 0;

szám = 0;

törölve = 0; }}

if (olvasás! = lastState) {lastStateChangeTime = millis ();

}

if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - ez akkor történik, ha leáll

if (olvasás! = trueState) {// ez azt jelenti, hogy a kapcsoló vagy éppen elment zárt-> nyitott helyzetből, vagy fordítva. trueState = olvasás; if (trueState == HIGH) {// növeli az impulzusok számát, ha magasra nőtt.

gróf ++;

needToPrint = 1; // ki kell nyomtatnunk ezt a számot (miután a tárcsa forog)

}

}

}

lastState = olvasás; }

5. lépés: kössön össze mindent

Vegyen fel mindent
Vegyen fel mindent
Vegyen fel mindent
Vegyen fel mindent
Vegyen fel mindent
Vegyen fel mindent

Ennek a projektnek a kábelezése nagyon egyszerű. A tárcsázó modul hátoldalán két hatszögletű oszlopnak kell lennie, csavarokkal. Ezek a kapcsoló csatlakozók. A polaritás nem számít.

Megjegyzés: Figyelmen kívül hagyja a vezetékek színeit a fényképeken. Összekevertem a földet és az 5V -ot, tehát ezek valójában fordítva vannak.

Csatlakoztasson egy vezetéket az A oszlopból (GND), és csatlakoztassa az Arduino Nano földelőcsapjához. Vegyünk egy második vezetéket, és forrasztjuk, és egy harmadik vezetéket a 470 ohmos ellenállás egyik oldalára. A második vezeték a tárcsa B (+) bejegyzéséhez kerül. A harmadik huzal forrasztva lesz a 10 k ohmos ellenállás egyik oldalára. Vegyünk egy negyedik vezetéket, és forrasztjuk a 470 ohmos ellenállás másik oldaláról az Arduino Nano 2 -es tűjére. Végül egy ötödik vezetéknek kell csatlakoztatnia a 10 k ohmos ellenállás másik oldalát az Arduino Nano 5 V -os csatlakozójához.

Az ellenállások és az 5 V -os csap segítségével magasra húzzuk a csapot, amikor a kapcsoló nyitva van (mint minden "impulzus" során).

6. lépés: Összeszerelés

Összeszerelés
Összeszerelés
Összeszerelés
Összeszerelés

Észre kell vennie, hogy a ház Rotary_Top része hat kis lyukkal rendelkezik. Ezek a menetes fűtőbetétekhez valók. A felső három (a felső felület alsó részén) a forgó tárcsát kell felszerelni. Az alsó három csavarja a Rotary_Base -t a Rotary_Top -ra.

A hőre állított betéteket forrasztópáka (vagy erre szánt szerszám) segítségével fel lehet melegíteni, majd a lyukakba tolni. A hő megolvasztja a műanyagot, amely a hő eltávolítása után megkeményedik, hogy biztonságosan tartsa a betéteket. A hőre keményedő betétek használata sokkal kellemesebb, mint a csavarok közvetlen műanyagba csavarása.

Helyezze be a hat fűtőbetétet. Ezután használjon néhány rövid (körülbelül 10 mm -es) M3 gépcsavart a tárcsa rögzítéséhez. Vegye figyelembe a kivágásban lévő bemetszést, amely a fém ujjütköző lesz. Ezután óvatosan helyezze az Arduino Nano USB kábelt csatlakoztatva a házba (laza, nincs felszerelve), és csavarja be a talpat.

Valószínűleg kétoldalas szalagot vagy 3M parancssort szeretne használni, hogy rögzítse a házat az asztalához, így nem mozdul el a tárcsa elforgatásakor.

7. lépés: Állítsa be a Python parancsfájlt

Állítsa be a Python parancsfájlt
Állítsa be a Python parancsfájlt

Először győződjön meg arról, hogy telepítve van a Python (használja a Python 3 -at, mivel a Python 2 -t fokozatosan megszüntetik).

Ezután telepítenie kell a két szükséges könyvtárat: PyCAW és PySerial.

Használat:

"pip install pycaw" és "pip install pyserial" (a Python ablakából vagy a Windows Powershellből)

Ezután ellenőrizze, hogy az Arduino Nano melyik portjához van csatlakoztatva. Ezt az Arduino IDE -n belül ellenőrizheti. Győződjön meg arról, hogy kiválasztotta ezt a portot, majd nyissa meg a soros monitort. Győződjön meg arról, hogy az adatátviteli sebesség 9600 -ra van állítva, majd tárcsázzon néhány számot, hogy azok megjelenjenek -e a soros monitoron.

Ha igen, szerkessze a "rotary.py" kódot a portszámával. Ha futtatja a szkriptet, akkor most képesnek kell lennie a hangerő megváltoztatására egy szám tárcsázásával.

Az utolsó lépés a szkript beállítása, hogy automatikusan futjon a háttérben, amikor elindítja a számítógépet.

Ehhez módosítsa a "rotary.py" értéket "rotary.pyw" értékre, amely lehetővé teszi, hogy a háttérben fusson. Ezután helyezze el a parancsfájlt a következő mappába: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup

Nyilvánvaló, hogy a "current_user" értéket a tényleges felhasználói mappa nevére kell cserélnie.

Ez az! Amikor a számítógép elindul, a Python parancsfájl futni kezd. Figyelemmel kíséri az Arduino soros kapcsolatát, és a program összes hangerejét a tárcsázott értékre állítja!

Arduino verseny 2020
Arduino verseny 2020
Arduino verseny 2020
Arduino verseny 2020

Második helyezett az Arduino versenyen 2020

Ajánlott: