Sadržaj:

Vintage rotacijski brojčanik za biranje broja telefona Kontrola glasnoće računara: 7 koraka (sa slikama)
Vintage rotacijski brojčanik za biranje broja telefona Kontrola glasnoće računara: 7 koraka (sa slikama)

Video: Vintage rotacijski brojčanik za biranje broja telefona Kontrola glasnoće računara: 7 koraka (sa slikama)

Video: Vintage rotacijski brojčanik za biranje broja telefona Kontrola glasnoće računara: 7 koraka (sa slikama)
Video: Kospet TANK T2 Smartwatch Review: The Complete Guide! 2024, Novembar
Anonim
Image
Image
Uklonite brojčanik
Uklonite brojčanik

Ako ste išta poput mene, često mijenjate jačinu zvuka na računaru. Neki su videozapisi glasniji od drugih, ponekad želite da zvuk na vašem računaru bude utišan dok slušate podcaste ili muziku, a možda ćete morati brzo smanjiti jačinu zvuka ako primite telefonski poziv. Ako na računaru nemate ugrađene kontrole medija, tada možete pretvoriti vintage okretni brojčanik u kontrolu jačine zvuka za vaš Windows računar.

Ovaj uređaj za kontrolu jačine zvuka priključuje se na vaš računar putem USB -a i automatski će postaviti jačinu zvuka svakog otvorenog programa na bilo koji broj koji odaberete. Ako odaberete "2", glasnoća će biti postavljena na 20%. Birajte "8" i bit će postavljeno na 80%. Biranjem "0" postavlja se na 0% i ponaša se kao isključen zvuk. Brzo je, zadovoljavajuće i zabavnije od klikanja na kontrolu jačine zvuka na traci zadataka.

Supplies

  • Rotacijski telefon Vintage Bell Systems Trimline
  • Arduino Nano
  • M3 umetci sa toplinskim navojem sa navojem
  • Vijci za stroj M3
  • Otpornici (470 ohma i 10 k ohma)
  • Žica
  • Pristup 3D štampaču

Korak 1: Teorija rada

Rotacijski telefoni, uključujući Bell Systems Trimline korištene u ovom projektu, čisto su analogni elektromehanički uređaji. Kada okrenete brojčanik, opruga ga okreće natrag u prvobitni položaj. Dok prolazi svaki broj, prekidač se na kratko isključuje (ili povezuje) stvarajući impuls. Sve što moramo učiniti je prebrojati te impulse kako bismo utvrdili koji je broj biran.

guideomax ima fantastičan vodič za Instructables koji detaljno opisuje kako to točno funkcionira, a tamo možete pronaći više detalja.

Za ovaj projekt koristimo Arduino Nano za brojanje impulsa. Arduino zatim šalje broj na računalo putem serijske veze. Napisao sam osnovnu Python skriptu koja radi u pozadini i nadgleda tu serijsku vezu. Kada prima bitove, uzima broj i koristi biblioteku Python Core Audio Windows za postavljanje odgovarajuće jačine zvuka.

Zbog ograničenja u sustavu Windows i toj biblioteci, skripta ne postavlja ukupni volumen sistema (glavni klizač na traci zadataka). Umjesto toga, postavlja individualni volumen za svaki program koji se trenutno izvodi. Učinak je isti, osim što ne možete održavati različite nivoe jačine zvuka između programa.

Korak 2: Uklonite brojčanik

Uklonite brojčanik
Uklonite brojčanik

Ovaj korak je jednostavan: samo rastavite slušalicu Trimline telefona da biste uklonili mehanizam biranja. To je u osnovi samostalni modul, pa ga samo trebate odvrnuti sa slušalice.

Za ovaj projekt odabrao sam model Trimline, jer je taj modul za biranje kompaktniji od onih koje ćete pronaći na većini drugih rotacijskih telefona.

Ako mu napravite nekoliko probnih okretaja, trebali biste čuti kako prekidač klikće dok se vraća u početni položaj.

Korak 3: Odštampajte kućište

Odštampajte kućište
Odštampajte kućište

Za ispis dijelova kućišta koristite dvije priložene STL datoteke. Možete koristiti bilo koji materijal sa vlaknom koji želite (ja sam koristio PLA). Određene postavke koje koristite nisu toliko važne, ali preporučio sam korištenje podrške za dio "Rotary_Top". Ova dva dijela možete odštampati dok radite na ostatku projekta.

Korak 4: Programirajte svoj Arduino

Programirajte svoj Arduino
Programirajte svoj Arduino

Kôd koji ćete postaviti na svoj Arduino Nano preuzet je iz vodiča Guideomax -a jer savršeno funkcionira za ovaj projekt:

int needToPrint = 0; int broj; int in = 2;

int lastState = LOW;

int trueState = LOW;

long lastStateChangeTime = 0;

int izbrisano = 0;

// konstante

int biranjeHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

void setup () {

Serial.begin (9600);

pinMode (in, INPUT); }

void loop () {{100} {101}

int čitanje = digitalRead (in);

if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// brojčanik nije biran ili je upravo završio biranje.

if (needToPrint) {// ako je biranje tek završeno, moramo poslati broj niz serijski // red i resetirati broj. Modificirali smo brojanje za 10 jer će '0' poslati 10 impulsa.

Serial.print (broj % 10, DEC);

needToPrint = 0;

count = 0;

očišćeno = 0; }}

if (čitanje! = lastState) {lastStateChangeTime = millis ();

}

if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - to se događa kada se stabilizira

if (čitanje! = trueState) {// to znači da je prekidač ili upravo izašao iz zatvoreno-> otvoreno ili obrnuto. trueState = čitanje; if (trueState == HIGH) {// povećava broj impulsa ako je porastao.

count ++;

needToPrint = 1; // morat ćemo ispisati ovaj broj (nakon što se brojčanik završi okretati)

}

}

}

lastState = čitanje; }

Korak 5: Ožičite sve

Ožičite sve
Ožičite sve
Ožičite sve
Ožičite sve
Ožičite sve
Ožičite sve

Ožičenje za ovaj projekt je zaista jednostavno. Modul za biranje bi trebao imati dva šesterokutna stupa sa stražnje strane s vijcima u njima. To su veze prekidača. Polaritet nije bitan.

Napomena: Zanemarite boje mojih žica na fotografijama. Pomiješao sam tlo i 5V, pa su oni zapravo obrnuti.

Spojite jednu žicu s stuba A (GND) i spojite je na uzemljenje na vašem Arduino Nano. Uzmite drugu žicu i lemite je i treću žicu na jednu stranu otpornika od 470 ohma. Druga žica će ići do stupca B (+) na brojčaniku. Treća žica će biti zalemljena na jednu stranu 10k ohmskog otpornika. Uzmite četvrtu žicu i lemite je s druge strane otpornika od 470 ohma na pin 2 na Arduino Nano. Konačno, peta žica trebala bi spojiti drugu stranu 10k ohmskog otpornika na 5V pin na Arduino Nano.

Koristimo otpornike i pin od 5 V da izvučemo pin visoko dok je prekidač otvoren (kao što je to slučaj pri svakom "impulsu").

Korak 6: Montaža

Montaža
Montaža
Montaža
Montaža

Trebali biste primijetiti da Rotary_Top dio kućišta ima šest malih rupa. Ovo su za vaše navojne termo-umetnute umetke. Gornje tri (na donjoj strani gornje površine) trebaju biti postavljene na okretni brojčanik. Donja tri su pričvršćivanje Rotary_Base na Rotary_Top.

Ulošci s grijanjem mogu se zagrijati lemilicom (ili namjenskim alatom), a zatim gurnuti u rupe. Toplina će otopiti plastiku, koja će se nakon uklanjanja topline stvrdnuti kako bi umetci čvrsto držali na mjestu. Korištenje termički postavljenih umetaka mnogo je ugodnije od uvrtanja vijaka izravno u plastiku.

Umetnite šest umetaka za grijanje. Zatim upotrijebite nekoliko kratkih (10 mm ili više) vijaka M3 za postavljanje brojčanika. Obratite pažnju na zarez u izrezu, do kojeg će doći metalni graničnik prstiju. Zatim pažljivo postavite Arduino Nano-s USB kabelom spojenim-unutar kućišta (labav je, nije montiran) i pričvrstite bazu na mjesto.

Vjerojatno ćete htjeti upotrijebiti dvostranu traku ili 3M naredbene trake za pričvršćivanje kućišta na radni stol, tako da se neće kretati okolo kad okrenete brojčanik.

Korak 7: Postavite Python skriptu

Postavite Python skriptu
Postavite Python skriptu

Prvo provjerite imate li instaliran Python (koristite Python 3 jer se Python 2 postupno ukida).

Zatim ćete morati instalirati dvije potrebne biblioteke: PyCAW i PySerial.

Upotreba:

"pip install pycaw" i "pip install pyserial" (iz Python prozora ili Windows Powershell -a)

Zatim provjerite na koji je port povezan vaš Arduino Nano. To možete provjeriti unutar Arduino IDE -a. Provjerite jeste li odabrali taj port, a zatim otvorite serijski monitor. Provjerite je li vaša brzina prijenosa postavljena na 9600, a zatim birajte neke brojeve kako biste bili sigurni da se pojavljuju na serijskom monitoru.

Ako to učine, uredite kôd "rotary.py" s brojem porta. Ako pokrenete skriptu, sada biste trebali moći promijeniti glasnoću biranjem broja.

Posljednji korak je postavljanje skripte da se automatski pokreće u pozadini pri pokretanju računara.

Da biste to učinili, promijenite "rotary.py" u "rotary.pyw" što će mu omogućiti da radi u pozadini. Zatim postavite tu skriptu u sljedeću mapu: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup

Očigledno ćete morati promijeniti "current_user" u naziv stvarne korisničke mape.

To je to! Kad god se računar pokrene, ta Python skripta će se pokrenuti. Pratit će serijsku vezu s Arduina i postaviti sve glasnoće programa na ono što odaberete!

Arduino takmičenje 2020
Arduino takmičenje 2020
Arduino takmičenje 2020
Arduino takmičenje 2020

Drugoplasirani na Arduino takmičenju 2020

Preporučuje se: