Taula de continguts:
- Subministraments
- Pas 1: teoria de l'operació
- Pas 2: traieu el dial
- Pas 3: imprimiu el recinte
- Pas 4: programa el teu Arduino
- Pas 5: connecteu-ho tot
- Pas 6: Muntatge
- Pas 7: configureu el script Python
Vídeo: Control de volum de PC de marcatge telefònic vintage: 7 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
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
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
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
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
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
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
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.
Finalista del Concurs Arduino 2020
Recomanat:
Telèfon mòbil de marcatge rotatiu d'estil retro: 4 passos (amb imatges)
Telèfon mòbil de marcatge rotatiu d'estil retro: aquest projecte va ser impulsat per la necessitat pràctica i el desig de fer alguna cosa divertida. Com a la majoria de famílies modernes, vam deixar de tenir una "llar" real telèfon (amb cable) fa molts anys. En canvi, tenim una targeta SIM addicional associada a la nostra "vella" número de casa
Control de volum USB: 9 passos (amb imatges)
Control de volum USB: en aquest projecte, construirem un control de volum USB mitjançant un Trinket compatible amb Arduino d’Adafruit i un codificador rotatiu. Finalment, imprimirem una carcassa en 3D, omplirem la base amb un tret de plom per afegir pes i estabilitat i tallarem amb làser un fons d’acrílic
Rellotge de marcatge LED intermitent imprès en 3D: 7 passos (amb imatges)
Rellotge de marcatge LED intermitent imprès en 3D: benvingut a l'instrumentable de Yantrah. A Yantrah ens centrem en l'educació pràctica, ensenyem el disseny, la programació, la STEAM i la robòtica de CAD 3D. Es tracta d'un senzill rellotge imprès en 3D basat en arduino amb LED intermitents , han passat minuts i segons
Interfície d'un marcatge de telèfon rotatiu a un Arduino: 6 passos (amb imatges)
Interfície d’un marcatge de telèfon rotatiu a un Arduino: un telèfon rotatiu antic es pot utilitzar per a diversos propòsits en els vostres projectes Arduino: utilitzeu-lo com a nou dispositiu d’entrada o utilitzeu l’Arduino per connectar un telèfon rotatiu a l’ordinador. guia molt bàsica que descriu com connectar el dial amb un
Convertiu el vostre antic mòdem de marcatge telefònic en un ocultador USB: 6 passos
Convertiu el vostre antic mòdem de marcatge telefònic en un amagador USB: si teniu un mòdem de marcatge telefònic trencat que només està assegut i ocupa espai, per què no el converteix en un concentrador USB? En aquest instructiu us mostraré com fer-ho