Taula de continguts:

Control de volum de PC de marcatge telefònic vintage: 7 passos (amb imatges)
Control de volum de PC de marcatge telefònic vintage: 7 passos (amb imatges)

Vídeo: Control de volum de PC de marcatge telefònic vintage: 7 passos (amb imatges)

Vídeo: Control de volum de PC de marcatge telefònic vintage: 7 passos (amb imatges)
Vídeo: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, Desembre
Anonim
Image
Image
Traieu el marcatge
Traieu el marcatge

Si sou com jo, us trobareu canviant el volum de l’ordinador amb força freqüència. Alguns vídeos són més forts que d’altres; de vegades voleu que el volum estigui silenciat a l’ordinador mentre escolteu podcasts o música i és possible que hàgiu de baixar el volum ràpidament si rebeu una trucada telefònica. Si no teniu controls multimèdia integrats a l'ordinador, podeu convertir un dial rotatiu vintage en un control de volum per al vostre PC amb Windows.

Aquest dispositiu de control de volum es connecta a l'ordinador mitjançant USB i configurarà automàticament el volum de cada programa obert al número que marqui. Si marqueu un "2", el volum s'establirà al 20%. Marqueu un "8" i s'establirà al 80%. Si marqueu "0", es defineix al 0% i actua com a silenci. És ràpid, satisfactori i més divertit que fer clic al control de volum de la barra de tasques.

Subministraments

  • Telèfon rotatiu Vintage Bell Systems Trimline
  • Arduino Nano
  • Insercions de calent roscat M3
  • Cargols de màquina M3
  • Resistències (470 ohm i 10k ohm)
  • Filferro
  • Accés a una impressora 3D

Pas 1: teoria de l'operació

Els telèfons rotatius, inclòs el Bell Systems Trimline utilitzat en aquest projecte, són dispositius electromecànics purament analògics. Quan gireu el dial, una molla fa girar el dial a la posició original. A mesura que passa cada número, un commutador es desconnecta (o es connecta) durant un breu moment, creant un pols. Tot el que hem de fer és comptar aquests polsos per determinar quin número es va marcar.

guidomax disposa d’un fantàstic tutorial d’Instructables que aprofundeix en el funcionament exacte d’aquesta funció i hi podeu trobar més detalls.

Per a aquest projecte, fem servir l’Arduino Nano per comptar els impulsos. A continuació, l’Arduino envia el número al PC mitjançant la connexió en sèrie. Vaig escriure un script bàsic de Python que s’executa en segon pla i supervisa aquesta connexió en sèrie. Quan rep bits, pren el número i utilitza la biblioteca Python Core Audio Windows per configurar el volum adequat.

A causa de les limitacions del Windows i d'aquesta biblioteca, l'script no estableix el volum global del sistema (el control lliscant principal de la barra de tasques). En el seu lloc, estableix el volum individual per a cada programa que s’executa actualment. L'efecte és el mateix, tret que no podeu mantenir nivells de volum relatius diferents entre els programes.

Pas 2: traieu el dial

Traieu el marcatge
Traieu el marcatge

Aquest pas és senzill: només heu de desmuntar l'auricular del telèfon Trimline per eliminar el mecanisme de marcatge. Es tracta essencialment d’un mòdul autònom, de manera que només cal descargolar-lo del telèfon.

He escollit el model Trimline per a aquest projecte, perquè aquest mòdul de marcatge és més compacte que els que trobareu a la majoria dels altres telèfons rotatius.

Si li doneu unes quantes voltes de prova, hauríeu d’escoltar l’interruptor fent clic mentre torna a la posició inicial.

Pas 3: imprimiu el recinte

Imprimiu el recinte
Imprimiu el recinte

Utilitzeu els dos fitxers STL proporcionats per imprimir les parts del recinte. Podeu utilitzar el material de filament que preferiu (he utilitzat PLA). La configuració particular que utilitzeu no és tan important, però us recomanava que feu servir suports per a la part "Rotary_Top". Podeu imprimir aquestes dues parts mentre treballeu a la resta del projecte.

Pas 4: programa el teu Arduino

Programa el teu Arduino
Programa el teu Arduino

El codi que penjarà al vostre Arduino Nano és extret directament del tutorial de guidomax, ja que funciona perfectament per a aquest projecte:

int needToPrint = 0; int count; int a = 2;

int lastState = BAIX;

int trueState = BAIX;

long lastStateChangeTime = 0;

int netejat = 0;

// constants

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

configuració nul·la () {

Serial.begin (9600);

pinMode (in, INPUT); }

bucle buit () {

lectura int = digitalRead (in);

if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// no s’està marcant el marcatge o s’acaba de marcar.

if (needToPrint) {// si només s'acaba de marcar, hem d'enviar el número a la línia // de sèrie i restablir el recompte. Modifiquem el recompte per 10 perquè '0' enviarà 10 impulsos.

Serial.print (compte% 10, DEC);

needToPrint = 0;

recompte = 0;

netejat = 0; }}

if (reading! = lastState) {lastStateChangeTime = millis ();

}

if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - això passa un cop estabilitzat

if (reading! = trueState) {// això significa que el commutador acaba de passar de tancat-> obert o viceversa. trueState = lectura; if (trueState == HIGH) {// incrementa el recompte de pulsacions si ha augmentat.

comptar ++;

needToPrint = 1; // haurem d’imprimir aquest número (un cop acabada la rotació del dial)

}

}

}

lastState = lectura; }

Pas 5: connecteu-ho tot

Wire Everything Up
Wire Everything Up
Wire Everything Up
Wire Everything Up
Wire Everything Up
Wire Everything Up

El cablejat d’aquest projecte és realment senzill. El mòdul de marcatge ha de tenir dos pals hexagonals a la part posterior amb cargols. Aquestes són les connexions de commutació. La polaritat no importa.

Nota: Ignoreu els colors dels meus cables a les fotos. Vaig barrejar terra i 5V, de manera que aquests són realment invertits.

Connecteu un cable del Post A (GND) i connecteu-lo a un pin de terra del vostre Arduino Nano. Agafeu un segon cable i soldeu-lo i un tercer cable a un costat de la resistència de 470 ohms. El segon cable anirà a la publicació B (+) del dial. El tercer cable es soldarà a un costat de la resistència de 10 k ohm. Agafeu un quart cable i soldeu-lo des de l'altre costat de la resistència de 470 ohm fins al pin 2 de l'Arduino Nano. Finalment, un cinquè cable hauria de connectar l’altre costat de la resistència de 10 k ohmios al pin de 5 V de l’Arduino Nano.

Estem fent servir les resistències i el pin de 5 V per tirar el pin fins a l’altura quan l’interruptor està obert (com passa durant cada "pols").

Pas 6: Muntatge

muntatge
muntatge
muntatge
muntatge

Heu de notar que la part Rotary_Top del recinte té sis forats petits. Aquests són per a les insercions de filetatge de calor. Els tres primers (a la part inferior de la superfície superior) són per muntar el dial rotatiu. Les tres parts inferiors consisteixen a cargolar el Rotary_Base al Rotary_Top.

Les insercions de calor es poden escalfar amb un soldador (o una eina dedicada) i després introduir-les als forats. La calor fondrà el plàstic, que s’endurirà després d’eliminar la calor per mantenir les insercions ben fixades al seu lloc. Fer servir insercions de calor és molt més agradable que cargolar els cargols directament al plàstic.

Introduïu els sis inserts de calor. A continuació, utilitzeu uns quants cargols M3 curts (aproximadament 10 mm) per muntar el dial. Preneu nota de la osca del retall, que és on anirà la parada metàl·lica dels dits. A continuació, col·loqueu l'Arduino Nano amb cable USB connectat dins del recinte (està fluix, no està muntat) i enrosqueu la base al seu lloc.

Probablement voldreu utilitzar cinta de doble cara o tires de comandament 3M per fixar el gabinet al vostre escriptori, de manera que no es mogui quan gireu el dial.

Pas 7: configureu el script Python

Configureu l’escriptura Python
Configureu l’escriptura Python

Primer, assegureu-vos que teniu instal·lat Python (utilitzeu Python 3, ja que Python 2 s’està eliminant).

A continuació, haureu d’instal·lar les dues biblioteques necessàries: PyCAW i PySerial.

Ús:

"pip install pycaw" i "pip install pyserial" (des de la finestra de Python o Windows Powershell)

A continuació, comproveu a quin port està connectat el vostre Arduino Nano. Podeu comprovar-ho des de l’IDE Arduino. Assegureu-vos que teniu aquest port seleccionat i obriu el monitor sèrie. Assegureu-vos que la vostra velocitat de transmissió estigui configurada a 9600 i, a continuació, marqueu alguns números per assegurar-vos que apareguin al monitor sèrie.

Si ho fan, editeu el codi "rotary.py" amb el vostre número de port. Si executeu l'script, ara hauríeu de poder canviar el volum marcant un número.

L'últim pas és configurar l'script per executar-se automàticament en segon pla en arrencar l'ordinador.

Per fer-ho, canvieu "rotary.py" a "rotary.pyw", que li permetrà executar-se en segon pla. A continuació, col·loqueu aquest script a la carpeta següent: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Menú d'inici / Programes / Startup

Viouslybviament, haureu de canviar "current_user" pel vostre nom de carpeta d'usuari real.

Això és! Sempre que l'ordinador s'engega, aquest script Python començarà a executar-se. Supervisarà la connexió sèrie des de l’Arduino i configurarà tots els volums del programa al que marqueu.

Concurs Arduino 2020
Concurs Arduino 2020
Concurs Arduino 2020
Concurs Arduino 2020

Finalista del Concurs Arduino 2020

Recomanat: