Sommario:

Controllo del volume del PC con quadrante rotativo vintage: 7 passaggi (con immagini)
Controllo del volume del PC con quadrante rotativo vintage: 7 passaggi (con immagini)

Video: Controllo del volume del PC con quadrante rotativo vintage: 7 passaggi (con immagini)

Video: Controllo del volume del PC con quadrante rotativo vintage: 7 passaggi (con immagini)
Video: Ingoiare il latte del trallalero fa bene? #shorts 2024, Dicembre
Anonim
Image
Image
Rimuovere il quadrante
Rimuovere il quadrante

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

Rimuovere il quadrante
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

Stampa l'allegato
Stampa 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

Programma il tuo Arduino
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

Collega tutto
Collega tutto
Collega tutto
Collega tutto
Collega tutto
Collega 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

Assemblea
Assemblea
Assemblea
Assemblea

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

Imposta lo script Python
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!

Concorso Arduino 2020
Concorso Arduino 2020
Concorso Arduino 2020
Concorso Arduino 2020

Secondo classificato all'Arduino Contest 2020

Consigliato: