Sadržaj:
- Pribor
- Korak 1: Teorija rada
- Korak 2: Uklonite brojčanik
- Korak 3: Ispišite 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 telefonski brojčanik, kontrola glasnoće: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:33
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
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
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
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č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
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
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!
Drugoplasirani na Arduino natjecanju 2020
Preporučeni:
USB kontrola glasnoće: 9 koraka (sa slikama)
USB kontrola glasnoće: U ovom projektu izgradit ćemo USB glasnoću pomoću Arduino kompatibilnog trinketa iz Adafruit -a i rotacijskog kodera. Na kraju ćemo 3D ispisati kućište, napuniti bazu olovnim udarcem kako bismo dodali težinu i stabilnost, te laserski izrezati akrilno dno
Finija kontrola glasnoće za T.v .: 3 koraka
Finer Volume Control for T.v .: Problem: moj novi t.v. ima digitalnu kontrolu glasnoće 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 dobro za moj
Kotačić za pomicanje na radnoj površini i kontrola glasnoće!: 8 koraka (sa slikama)
Kotačić za pomicanje na radnoj površini i kontrola glasnoće!: Napravite Magazine vikend projekt, 3/4/09Neka pozadina Nedavno sam čitao mnogo različitih blogova. Svaki dan ću čitati najnovije postove na engadget, lifehacker, hackaday, BBG i MAKE: blogu. Problem mi je došao kad sam shvatio da o
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 - upotrijebite ga kao novi ulazni uređaj ili upotrijebite Arduino za povezivanje rotacijskog telefona s vašim računalom. vrlo osnovni vodič koji opisuje kako spojiti brojčanik s
Univerzalna kontrola glasnoće slušalica/slušalica: 8 koraka (sa slikama)
Univerzalna kontrola glasnoće slušalica/slušalica: Kupio sam PMP (prijenosni medijski player) iz Hong Konga kako bih mogao igrati svoje NES igre s ugrađenim emulatorom gdje god je to prikladno. Duga putovanja, letovi, čekaonice itd. Mjesta su na koja volim ubijati vrijeme prijenosnim medijima, ali