Sadržaj:

Vintage rotacijski brojčanik za telefonski brojčanik, kontrola glasnoće: 7 koraka (sa slikama)
Vintage rotacijski brojčanik za telefonski brojčanik, kontrola glasnoće: 7 koraka (sa slikama)

Video: Vintage rotacijski brojčanik za telefonski brojčanik, kontrola glasnoće: 7 koraka (sa slikama)

Video: Vintage rotacijski brojčanik za telefonski brojčanik, kontrola glasnoće: 7 koraka (sa slikama)
Video: ПЕРВОЕ ШИПЕНИЕ ► 1 Прохождение Silent Hill 2 ( PS2 ) 2024, Srpanj
Anonim
Image
Image
Uklonite brojčanik
Uklonite brojčanik

Ako ste išta poput mene, često mijenjate glasnoću na računalu. Neki su videozapisi glasniji od drugih, ponekad želite isključiti glasnoću na računalu dok slušate podcaste ili glazbu, a možda ćete morati brzo smanjiti glasnoću ako primite telefonski poziv. Ako nemate kontrole za medije ugrađene u vaše računalo, tada možete pretvoriti vintage rotacijski brojčanik u kontrolu glasnoće za svoje računalo sa sustavom Windows.

Ovaj uređaj za kontrolu glasnoće priključuje se na vaše računalo putem USB -a i automatski će podesiti glasnoću svakog otvorenog programa na bilo koji broj koji odaberete. Ako odaberete "2", glasnoća će se postaviti na 20%. Birajte "8" i bit će postavljeno na 80%. Biranjem "0" postavlja se na 0% i ponaša se kao nijem. Brzo je, zadovoljavajuće i zabavnije od klikanja na kontrolu glasnoće na programskoj traci.

Pribor

  • Rotacijski telefon Vinim Bell Systems Trimline
  • Arduino Nano
  • M3 ulošci s toplinskim postavljanjem s navojem
  • M3 vijci za stroj
  • Otpornici (470 ohma i 10 k ohma)
  • Žica
  • Pristup 3D pisač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. Kad okrenete brojčanik, opruga ga okreće natrag u izvorni položaj. Dok prolazi svaki broj, prekidač se nakratko isključuje (ili spaja) 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 radi, 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. Kad prima bitove, uzima broj i koristi knjižnicu Python Core Audio Windows za postavljanje odgovarajuće glasnoće.

Zbog ograničenja u sustavu Windows i toj biblioteci, skripta ne postavlja ukupni volumen sustava (glavni klizač na programskoj traci). Umjesto toga, postavlja pojedinačni volumen za svaki program koji se trenutno izvodi. Učinak je isti, osim što ne možete održavati različite relativne razine glasnoće između programa.

Korak 2: Uklonite brojčanik

Uklonite brojčanik
Uklonite brojčanik

Ovaj korak je jednostavan: samo rastavite slušalicu Trimline kako biste uklonili mehanizam biranja. To je u biti samostalni modul, pa ga samo trebate odvrnuti od 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: Ispišite kućište

Ispišite kućište
Ispišite kućište

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

Korak 4: Programirajte svoj Arduino

Programirajte svoj Arduino
Programirajte svoj Arduino

Kôd koji ćete učitati na svoj Arduino Nano preuzet je izravno iz Guideomaxovog vodič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šen.

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

Serijski ispis (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 nakon što 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ćati broj impulsa ako se povećao.

count ++;

needToPrint = 1; // trebat ć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 doista je jednostavno. Modul za biranje bi trebao imati dva šesterokutna stupa sa stražnje strane s vijcima. To su priključnice 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 stupa 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 za podizanje pina na visoko kad je prekidač otvoren (kao što je to slučaj pri svakom "impulsu").

Korak 6: Montaža

Skupština
Skupština
Skupština
Skupština

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

Ulošci s toplinskim postavljanjem 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 umetnutih 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, na kojem će stajati metalni graničnik prstiju. Zatim pažljivo postavite Arduino Nano sa USB kabelom spojenim u kućište (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 stol, tako da se neće pomicati 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.

Koristiti:

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

Zatim provjerite na koji je priključak priključen 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čunala.

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čito ćete morati promijeniti "current_user" u naziv stvarne korisničke mape.

To je to! Kad god se vaše računalo pokrene, ta će se Python skripta početi izvoditi. Nadzirat će serijsku vezu s Arduina i postaviti sve glasnoće programa na ono što odaberete!

Arduino natjecanje 2020
Arduino natjecanje 2020
Arduino natjecanje 2020
Arduino natjecanje 2020

Drugoplasirani na Arduino natjecanju 2020

Preporučeni: