Sadržaj:
- Supplies
- Korak 1: Teorija rada
- Korak 2: Uklonite brojčanik
- Korak 3: Odštampajte kućište
- Korak 4: Programirajte svoj Arduino
- Korak 5: Ožičite sve
- Korak 6: Montaža
- Korak 7: Postavite Python skriptu
Video: Vintage rotacijski brojčanik za biranje broja telefona Kontrola glasnoće računara: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:05
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
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
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
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č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
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
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!
Drugoplasirani na Arduino takmičenju 2020
Preporučuje se:
Autonomna kontrola broja okretaja motora pomoću sistema povratnih informacija sa IR tahometra: 5 koraka (sa slikama)
Autonomna kontrola broja okretaja motora pomoću sistema povratnih informacija sa IR tahometra: Uvijek postoji potreba za automatizacijom procesa, bio on jednostavan/monstruozan. Ideju da napravim ovaj projekat dobio sam iz jednostavnog izazova s kojim sam se suočio dok sam nalazio metode zalijevanja/navodnjavanja našeg malog komada zemlje. Problem nedostatka trenutne vodovodne linije
Finija kontrola glasnoće za TV: 3 koraka
Finer Volume Control for T.v .: Problem: moj novi t.v. ima digitalnu kontrolu jačine zvuka koja je prilično klimava, ili je GLASNA ili ISKLJUČENA Rješenje: dodavanje sekundarne analogne kontrole glasnoće Materijali: 1. žica 2. lemljenje 3. skupljajuća cijev 4. potenciometar (koristio sam 1 Mohm za moje
Izuzetno laka kontrola računara od 110 vac pomoću Crydom čvrstog releja: 3 koraka (sa slikama)
Izuzetno laka kontrola računara od 110 Vac pomoću Crydom čvrstog releja: Spremam se okušati u lemljenju vrućih ploča. Stoga mi je trebao način za upravljanje 110Vac sa računara. Ovo uputstvo pokazuje kako lako upravljati 110Vac sa serijskog izlaznog porta na računaru. Serijski port koji sam koristio je USB tipa
Povežite rotacijski brojčanik s Arduinom: 6 koraka (sa slikama)
Povežite rotacijski brojčanik s Arduinom: Stari rotacijski telefon može se koristiti u brojne svrhe u vašim Arduino projektima - koristite ga kao novi ulazni uređaj ili upotrijebite Arduino za povezivanje rotacijskog telefona s vašim računarom. vrlo osnovni vodič koji opisuje kako spojiti brojčanik s
Stanica za punjenje telefona retro telefona: 10 koraka (sa slikama)
Punjač za retro telefone: Obožavam izgled starinskog rotacijskog telefona i nekoliko njih je ležalo i molilo da ih ožive. U naletu inspiracije, odlučio sam se udati za formu i funkciju. Tako je nastala stanica za punjenje telefona retro telefona