Sommario:
- Forniture
- Passaggio 1: teoria del funzionamento
- Passaggio 2: rimuovere il quadrante
- Passaggio 3: stampare l'allegato
- Passaggio 4: programma il tuo Arduino
- Passaggio 5: collegare tutto
- Passaggio 6: assemblaggio
- Passaggio 7: imposta lo script Python
Video: Controllo del volume del PC con quadrante rotativo vintage: 7 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Se sei come me, ti ritrovi a cambiare il volume del tuo computer abbastanza spesso. Alcuni video sono più rumorosi di altri, a volte si desidera disattivare l'audio sul computer mentre si ascoltano podcast o musica e potrebbe essere necessario abbassare rapidamente il volume se si riceve una telefonata. Se non disponi di controlli multimediali integrati nel tuo computer, puoi trasformare una manopola del telefono vintage in un controllo del volume per il tuo PC Windows.
Questo dispositivo di controllo del volume si collega al tuo computer tramite USB e imposterà automaticamente il volume di ogni programma aperto su qualsiasi numero componi. Se si compone un "2", il volume sarà impostato al 20%. Comporre un "8" e sarà impostato su 80%. La composizione di "0" lo imposta sullo 0% e agisce come muto. È veloce, soddisfacente e più divertente che fare clic sul controllo del volume nella barra delle applicazioni.
Forniture
- Telefono a disco vintage Bell Systems Trimline
- Arduino Nano
- Inserti filettati M3 heatset
- Viti a macchina M3
- Resistori (470 ohm e 10 k ohm)
- Filo
- Accesso a una stampante 3D
Passaggio 1: teoria del funzionamento
I telefoni rotanti, incluso il Bell Systems Trimline utilizzato in questo progetto, sono dispositivi elettromeccanici puramente analogici. Quando si ruota il quadrante, una molla riporta il quadrante nella posizione originale. Al passaggio di ogni numero, un interruttore viene disconnesso (o collegato) per un breve momento, creando un impulso. Tutto quello che dobbiamo fare è contare quegli impulsi per determinare quale numero è stato composto.
guidomax ha un fantastico tutorial di Instructables che approfondisce come funziona esattamente e puoi trovare maggiori dettagli lì.
Per questo progetto utilizziamo Arduino Nano per contare gli impulsi. L'Arduino quindi invia il numero al PC tramite la connessione seriale. Ho scritto uno script Python di base che viene eseguito in background e monitora quella connessione seriale. Quando riceve bit, prende il numero e usa la libreria Python Core Audio Windows per impostare il volume appropriato.
A causa delle limitazioni con Windows e quella libreria, lo script non imposta il volume generale del sistema (il dispositivo di scorrimento principale nella barra delle applicazioni). Invece, imposta il volume individuale per ogni programma attualmente in esecuzione. L'effetto è lo stesso, tranne per il fatto che non è possibile mantenere livelli di volume relativi diversi tra i programmi.
Passaggio 2: rimuovere il quadrante
Questo passaggio è semplice: smonta la cornetta del telefono Trimline per rimuovere il meccanismo di composizione. È essenzialmente un modulo autonomo, quindi devi solo svitarlo dal telefono.
Ho scelto il modello Trimline per questo progetto, perché quel modulo di composizione è più compatto di quelli che troverai sulla maggior parte degli altri telefoni rotanti.
Se gli dai qualche giro di prova, dovresti sentire l'interruttore che scatta via mentre torna alla posizione iniziale.
Passaggio 3: stampare l'allegato
Utilizzare i due file STL forniti per stampare le parti dell'involucro. Puoi usare qualsiasi materiale di filamento preferisci (ho usato il PLA). Le impostazioni particolari che usi non sono così importanti, ma ho consigliato di utilizzare i supporti per la parte "Rotary_Top". Puoi stampare queste due parti mentre lavori al resto del progetto.
Passaggio 4: programma il tuo Arduino
Il codice che caricherai sul tuo Arduino Nano è preso direttamente dal tutorial di guidomax, poiché funziona perfettamente per questo progetto:
int needToPrint = 0;int conteggio; int in = 2;
int lastState = BASSO;
int trueState = BASSO;
long lastStateChangeTime = 0;
int cancellato = 0;
// costanti
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
void setup() {
Serial.begin(9600);
pinMode(in, INPUT); }
ciclo vuoto() {
int lettura = digitalRead(in);
if ((millis() - lastStateChangeTime) > dialHasFinishedRotatingAfterMs) { // il quadrante non viene composto o ha appena terminato di essere composto.
if (needToPrint) { // se ha appena finito di essere composto, dobbiamo inviare il numero lungo la linea seriale // e reimpostare il conteggio. Modifichiamo il conteggio di 10 perché '0' invierà 10 impulsi.
Serial.print(count % 10, DEC);
bisognoToPrint = 0;
conteggio = 0;
cancellato = 0; } }
if (lettura != lastState) { lastStateChangeTime = millis();
}
if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - questo accade una volta stabilizzato
if (leggendo != trueState) { // questo significa che l'interruttore è appena passato da chiuso->aperto o viceversa. trueState = lettura; if (trueState == HIGH) { // incrementa il conteggio degli impulsi se è aumentato.
contare++;
bisognoToPrint = 1; // dovremo stampare questo numero (una volta che il quadrante ha finito di ruotare)
}
}
}
lastState = lettura; }
Passaggio 5: collegare tutto
Il cablaggio per questo progetto è davvero semplice. Il modulo quadrante dovrebbe avere due montanti esagonali sul retro con viti al loro interno. Queste sono le connessioni dell'interruttore. La polarità non ha importanza.
Nota: ignora i colori dei miei fili nelle foto. Ho confuso terra e 5V, quindi questi sono in realtà invertiti.
Collega un filo dal Post A (GND) e collegalo a un pin di terra sul tuo Arduino Nano. Prendi un secondo filo e saldalo e un terzo filo su un lato del resistore da 470 ohm. Il secondo filo andrà al Post B (+) sul quadrante. Il terzo filo verrà saldato a un lato del resistore da 10k ohm. Prendi un quarto filo e saldalo dall'altro lato della resistenza da 470 ohm al pin 2 dell'Arduino Nano. Infine, un quinto filo dovrebbe collegare l'altro lato del resistore da 10k ohm al pin 5V sull'Arduino Nano.
Usiamo i resistori e il pin 5V per tirare il pin in alto quando l'interruttore è aperto (come durante ogni "impulso").
Passaggio 6: assemblaggio
Dovresti notare che la parte Rotary_Top della custodia ha sei piccoli fori. Questi sono per i tuoi inserti filettati a caldo. I primi tre (sul lato inferiore della superficie superiore) servono per montare il selettore rotante. I tre inferiori servono per avvitare la Rotary_Base al Rotary_Top.
Gli inserti termoindurenti possono essere riscaldati con un saldatore (o uno strumento dedicato) e quindi inseriti nei fori. Il calore scioglierà la plastica, che si indurirà dopo la rimozione del calore per tenere saldamente in posizione gli inserti. L'uso di inserti termoindurenti è molto più piacevole che avvitare le viti direttamente nella plastica.
Inserire i sei inserti heat-set. Quindi utilizzare alcune viti M3 corte (10 mm circa) per montare il quadrante. Prendi nota della tacca nel ritaglio, che è dove andrà il fermo del dito in metallo. Quindi posizionare con attenzione l'Arduino Nano, con cavo USB collegato, all'interno della custodia (è allentato, non montato) e avvitare la base in posizione.
Probabilmente vorrai usare del nastro biadesivo o delle strisce di comando 3M per fissare la custodia alla scrivania, in modo che non si muova quando ruoti il quadrante.
Passaggio 7: imposta lo script Python
Innanzitutto, assicurati di aver installato Python (usa Python 3, poiché Python 2 è in fase di eliminazione).
Dovrai quindi installare le due librerie richieste: PyCAW e PySerial.
Utilizzo:
"pip install pycaw" e "pip install pyserial" (dalla finestra Python o da Windows Powershell)
Quindi controlla a quale porta è collegato il tuo Arduino Nano. Puoi verificarlo dall'IDE di Arduino. Assicurati di aver selezionato quella porta, quindi apri il monitor seriale. Assicurati che la tua velocità di trasmissione sia impostata su 9600, quindi componi alcuni numeri per assicurarti che vengano visualizzati nel monitor seriale.
Se lo fanno, modifica il codice "rotary.py" con il tuo numero di porta. Se esegui lo script, ora dovresti essere in grado di modificare il volume componendo un numero.
Il passaggio finale consiste nell'impostare lo script per l'esecuzione automatica in background all'avvio del PC.
Per fare ciò, cambia "rotary.py" in "rotary.pyw" che consentirà l'esecuzione in background. Quindi posiziona lo script nella seguente cartella: C:\Users\current_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
Ovviamente dovrai cambiare "current_user" con il nome della tua cartella utente attuale.
Questo è tutto! Ogni volta che il computer si avvia, lo script Python inizierà a essere eseguito. Controllerà la connessione seriale dall'Arduino e imposterà tutti i volumi del programma su qualunque cosa tu chiami!
Secondo classificato all'Arduino Contest 2020
Consigliato:
Manopola del volume USB utilizzando DigiSpark e l'encoder rotativo: 3 passaggi
Manopola del volume USB con DigiSpark e codificatore rotante: questa è una manopola di controllo del volume USB super economica. Alcune volte le manopole tradizionali sono più comode per controllare le cose piuttosto che fare clic con il mouse ovunque. Questo progetto utilizza DigiSpark, un codificatore rotante e la libreria USB Adafruit Trinket (https://github.c
Semplice manopola di controllo del volume fai da te!: 5 passaggi (con immagini)
Semplice manopola di controllo del volume fai-da-te!: Hai un desktop con un sistema audio lontano da dove ti siedi? - Sì. Dopo un po' di ricerche, ho scoperto che era abbastanza facile creare la mia manopola di controllo del volume morbida a basso costo. In questo tutorial ti mostrerò come creare una manopola di controllo del volume USB per
Manopola di controllo del volume del computer: 6 passaggi (con immagini)
Manopola di controllo del volume del computer: se ti piace ascoltare la musica sul tuo computer, ma spesso hai bisogno di silenziarlo e riavviarlo quando guardi i media, premendo Fn + k + F12 + g ogni volta non lo taglierai. Inoltre la regolazione del volume con i pulsanti? Nessuno ha tempo per questo! Posso presentare il mio C
Rotella di scorrimento del desktop e controllo del volume!: 8 passaggi (con immagini)
Rotella di scorrimento del desktop e controllo del volume!: progetto del fine settimana di Make Magazine, 3/4/09Un po' di backgroundRecentemente, ho letto molti blog diversi. Ogni giorno leggerò gli ultimi post su engadget, lifehacker, hackaday, BBG e il blog MAKE:. Il problema per me è arrivato quando ho capito che o
Controllo del volume universale per auricolari/cuffie: 8 passaggi (con immagini)
Controllo universale del volume di auricolari/cuffie: quindi ho acquistato un PMP (Portable Media Player) da Hong Kong in modo da poter giocare ai miei giochi NES con l'emulatore integrato ovunque fosse conveniente. I lunghi viaggi su strada, i voli, le sale d'attesa, ecc. sono luoghi in cui mi piace ammazzare il tempo con i media portatili ma il