Cov txheej txheem:

Vintage Xov Tooj Teb Dial PC Volume Control: 7 Kauj Ruam (nrog Duab)
Vintage Xov Tooj Teb Dial PC Volume Control: 7 Kauj Ruam (nrog Duab)

Video: Vintage Xov Tooj Teb Dial PC Volume Control: 7 Kauj Ruam (nrog Duab)

Video: Vintage Xov Tooj Teb Dial PC Volume Control: 7 Kauj Ruam (nrog Duab)
Video: Data Science with Python! Extracting Metadata from Images 2024, Kaum ib hlis
Anonim
Image
Image
Tshem Dial
Tshem Dial

Yog tias koj muaj dab tsi zoo li kuv, koj pom koj tus kheej hloov lub ntim ntawm koj lub computer ntau zaus. Qee cov vis dis aus nrov dua li lwm tus, qee zaum koj xav tau lub suab kaw hauv koj lub khoos phis tawj thaum koj mloog podcasts lossis suab paj nruag, thiab tej zaum koj yuav xav tau tig lub ntim sai yog tias koj tau txais lub xov tooj. Yog tias koj tsis muaj kev tswj hwm xov xwm tsim rau hauv koj lub khoos phis tawj, tom qab ntawd koj tuaj yeem tig lub xov tooj tig rov qab hu ua lub ntim tswj rau koj lub Windows PC.

Lub ntim tswj lub ntim no ntsaws rau hauv koj lub khoos phis tawj los ntawm USB, thiab yuav cia li teeb tsa txhua qhov haujlwm qhib qhov ntim rau tus lej twg koj hu. Yog tias koj hu rau "2," lub ntim yuav raug teeb tsa rau 20%. Dial tus "8" thiab nws yuav raug teeb tsa rau 80%. Dialing "0" teeb nws rau 0% thiab ua zoo li hais tsis tau lus. Nws nrawm, txaus siab, thiab muaj kev lom zem ntau dua li nyem ib puag ncig ntawm kev tswj ntim hauv koj lub luag haujlwm.

Khoom siv

  • Vintage Bell Systems Trimline xov tooj teb
  • Arduino Nano Cov
  • M3 threaded tshav kub-teeb tso
  • M3 tshuab ntsia hlau
  • Resistors (470 ohm thiab 10k ohm)
  • Hlau
  • Nkag mus rau lub tshuab luam ntawv 3D

Kauj Ruam 1: Txoj Kev Ua Haujlwm

Cov xov tooj teb, suav nrog Bell Systems Trimline siv hauv txoj haujlwm no, yog cov cuab yeej siv hluav taws xob zoo sib xws. Thaum koj tig lub xov tooj, lub caij nplooj ntoo hlav tig rov qab mus rau qhov chaw qub. Raws li nws hla txhua tus lej hloov pauv tau raug txuas (lossis txuas nrog) rau lub sijhawm luv luv, tsim kom muaj mem tes. Txhua yam peb yuav tsum ua yog suav cov mem tes no txhawm rau txiav txim siab tus lej uas tau hu.

guidomax muaj cov lus qhia Qhia Zoo uas mus rau qhov tob ntawm qhov ua haujlwm tau zoo li cas, thiab koj tuaj yeem pom ntau yam ntxiv nyob ntawd.

Txog qhov haujlwm no, peb siv Arduino Nano los suav cov noob. Arduino mam li xa tus lej mus rau lub PC ntawm qhov txuas txuas. Kuv tau sau cov ntawv Python yooj yim uas sau hauv keeb kwm yav dhau los thiab saib xyuas qhov txuas txuas ntawd. Thaum nws tau txais cov khoom, nws siv tus lej thiab siv Python Core Audio Windows lub tsev qiv ntawv los teeb tsa lub ntim uas tsim nyog.

Vim tias muaj kev txwv nrog Windows thiab lub tsev qiv ntawv ntawd, tsab ntawv tsis teev tag nrho cov txheej txheem ntim (lub ntsiab lus tseem ceeb hauv koj lub luag haujlwm). Hloov chaw, nws teeb tsa tus kheej ntim rau txhua qhov haujlwm uas tam sim no tab tom ua haujlwm. Cov txiaj ntsig zoo ib yam, tshwj tsis yog tias koj tsis tuaj yeem tswj hwm qib sib piv sib txawv ntawm cov haujlwm.

Kauj ruam 2: Tshem lub Dial

Tshem Dial
Tshem Dial

Cov kauj ruam no yog qhov ncaj: tsuas yog muab koj lub Trimline xov tooj tshem tawm lub xov tooj. Nws yog qhov tseem ceeb ntawm tus kheej-muaj tus qauv, yog li koj tsuas yog yuav tsum tau ntswj nws los ntawm lub xov tooj.

Kuv xaiv Tus Qauv Trimline rau txoj haujlwm no, vim tias lub xov tooj hu xov tooj tau nrawm dua li cov uas koj yuav pom ntawm lwm lub xov tooj uas tig rov los.

Yog tias koj muab nws ob peb qhov kev xeem tig, koj yuav tsum hnov lub suab hloov pauv tam sim thaum nws rov los rau hauv tsev.

Kauj Ruam 3: Luam daim ntawv kaw

Sau daim ntawv kaw
Sau daim ntawv kaw

Siv ob qhov muab STL cov ntaub ntawv los luam tawm cov ntawv ntim. Koj tuaj yeem siv cov ntaub ntawv uas koj xav tau (Kuv siv PLA). Cov teeb tsa tshwj xeeb uas koj siv tsis yog qhov tseem ceeb, tab sis kuv tau pom zoo siv kev txhawb nqa rau "Rotary_Top" ib feem. Koj tuaj yeem luam tawm ob ntu no thaum koj ua haujlwm tas ntawm txoj haujlwm.

Kauj ruam 4: Program Koj Arduino

Program Koj Arduino
Program Koj Arduino

Cov cai koj yuav xa mus rau koj li Arduino Nano tau coj ncaj qha los ntawm guidomax kev qhia, vim nws ua haujlwm zoo kawg nkaus rau txoj haujlwm no:

int xav tauToPrint = 0; int suav; int hauv = 2;

int lastState = LOW;

int trueState = LOW;

ntev LastStateChangeTime = 0;

int tau = 0;

// constants

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

void teeb tsa () {

Serial.begin (9600);

pinMode (hauv, INPUT); }

void voj () {

int nyeem ntawv = digitalRead (hauv);

yog ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// lub xov tooj tsis tau hu, lossis nyuam qhuav ua tiav.

yog tias (needToPrint) {// yog tias nws tsuas yog ua tiav lawm xwb, peb yuav tsum xa tus lej hauv tus lej // kab thiab rov pib suav dua. Peb hloov qhov suav los ntawm 10 vim tias '0' yuav xa 10 mem tes.

Serial.print (suav % 10, DEC);

needToPrint = 0;

suav = 0;

tau = 0; }}

yog (nyeem! = lastState) {lastStateChangeTime = millis ();

}

yog ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - qhov no tshwm sim thaum nws raug stablized

yog (nyeem! = trueState) {// qhov no txhais tau tias qhov kev hloov pauv tau ib txwm nyuam qhuav dhau los ntawm qhov kaw-> qhib lossis rov ua lwm yam. trueState = nyeem ntawv; yog (trueState == HIGH) {// nce cov suav ntawm cov noob yog tias nws ploj mus lawm.

suav ++;

needToPrint = 1; // peb yuav tsum luam tus lej no (thaum lub xov tooj tau ua tiav tig)

}

}

}

lastState = nyeem ntawv; }

Kauj Ruam 5: Txhim Kho Txhua Yam

Hlau Txhua Yam
Hlau Txhua Yam
Hlau Txhua Yam
Hlau Txhua Yam
Hlau Txhua Yam
Hlau Txhua Yam

Txoj hlua rau txoj haujlwm no yooj yim heev. Tus xov tooj hu xov tooj yuav tsum muaj ob daim duab hexagonal nyob tom qab nrog cov ntsia hlau hauv lawv. Cov no yog cov kev sib txuas sib txuas. Polarity tsis muaj teeb meem.

Nco tseg: Tsis quav ntsej cov xim ntawm kuv cov xov hlau hauv cov duab. Kuv tau sib xyaw hauv av thiab 5V, yog li cov no tau thim rov qab.

Txuas ib qho xaim los ntawm Post A (GND) thiab txuas nws rau tus pin hauv av ntawm koj Arduino Nano. Siv tus xov tooj thib ob thiab muab nws txuas thiab xaim thib peb rau ib sab ntawm 470 ohm resistor. Cov xov hlau thib ob yuav mus rau Post B (+) ntawm tus xov tooj. Cov xaim thib peb yuav tau muab txuas rau ib sab ntawm 10k ohm resistor. Siv ib txoj hlua plaub thiab txuas nws los ntawm lwm sab ntawm 470 ohm resistor rau Pin 2 ntawm Arduino Nano. Thaum kawg, tus xov tooj thib tsib yuav tsum txuas rau lwm sab ntawm 10k ohm resistor rau 5V tus pin ntawm Arduino Nano.

Peb tab tom siv tus tiv thaiv thiab 5V tus pin rub tus pin kom siab thaum qhov qhib qhib (zoo li nws yog thaum txhua lub "mem tes").

Kauj Ruam 6: Sib dhos

Los ua ke
Los ua ke
Los ua ke
Los ua ke

Koj yuav tsum pom tias Rotary_Top ib feem ntawm lub thawv muaj rau lub qhov me me. Cov no yog rau koj cov xov cua sov teeb txheej txheej. Peb sab saum toj (nyob rau sab qab teb ntawm sab saum toj) yog txhawm rau txhawm rau hu xov tooj. Hauv qab peb yog txhawm rau Ntsia Rotary_Base rau Rotary_Top.

Cov cua sov txheej txheej tuaj yeem ua kom sov nrog cov hlau txuas (lossis cov cuab yeej tshwj xeeb) thiab tom qab ntawd thawb mus rau hauv lub qhov. Cov cua sov yuav yaj cov yas, uas yuav tawv dua tom qab lub cua sov raug tshem tawm kom tuav cov ntawv tso rau hauv qhov chaw. Kev siv cov txheej txheem tso cua sov yog qhov muaj kev zoo siab ntau dua li ntswj ntsia hlau ncaj qha rau hauv yas.

Ntxig rau rau rau txheej txheej cua sov. Tom qab ntawd siv ob peb lub luv luv (10mm lossis ntau dua) M3 tshuab ntsia hlau txhawm rau txhawm rau hu xov tooj. Nco tseg ntawm qhov thais hauv qhov txiav tawm, uas yog qhov uas cov ntiv tes hlau nres yuav mus. Tom qab ntawd ua tib zoo tso Arduino Nano-nrog USB cable txuas-sab hauv lub thawv ntawv (nws xoob, tsis ntsia), thiab ntsia hlau puag rau hauv qhov chaw.

Tej zaum koj yuav xav siv daim kab xev ob tog lossis 3M Cov Lus Qhia Ua Ntej kom kaw lub thawv rau koj lub rooj, yog li nws yuav tsis txav ib puag ncig thaum koj tig lub xov tooj.

Kauj Ruam 7: Teeb tsa Python Script

Teeb tsa Python Script
Teeb tsa Python Script

Ua ntej tshaj, xyuas kom koj tau nruab Python (siv Python 3, vim Python 2 tab tom raug tshem tawm).

Tom qab ntawd koj yuav tsum teeb tsa ob lub tsev qiv ntawv xav tau: PyCAW thiab PySerial.

Siv:

"pip install pycaw" thiab "pip install pyserial" (los ntawm Python qhov rai lossis Windows Powershell)

Tom qab ntawv txheeb xyuas seb qhov chaw nres nkoj twg koj Arduino Nano txuas nrog. Koj tuaj yeem tshawb xyuas qhov ntawd los ntawm Arduino IDE. Nco ntsoov tias koj tau xaiv qhov chaw nres nkoj ntawd, tom qab ntawd qhib lub ntsuas saib. Xyuas kom tseeb tias koj tus lej baud tau teeb tsa rau 9600, thiab tom qab ntawd hu qee tus lej kom paub tseeb tias lawv tshwm nyob rau hauv cov ntawv saib.

Yog tias lawv ua, kho qhov "rotary.py" code nrog koj tus lej chaw nres nkoj. Yog tias koj sau tsab ntawv, tam sim no koj yuav tsum muaj peev xwm hloov qhov ntim los ntawm kev hu tus lej.

Kauj ruam kawg yog teeb tsa tsab ntawv kom khiav hauv keeb kwm yav dhau los thaum koj khau raj koj lub PC.

Txhawm rau ua qhov ntawd, hloov "rotary.py" mus rau "rotary.pyw" uas yuav tso cai rau nws khiav hauv keeb kwm yav dhau. Tom qab ntawd muab cov ntawv ntawd tso rau hauv cov nplaub tshev hauv qab no: C: / Cov neeg siv tam sim no_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup

Pom tseeb koj yuav tsum tau hloov "tus neeg siv tam sim no" rau koj tus neeg siv lub npe tseeb.

Qhov ntawd yog nws! Thaum twg koj lub khoos phis tawj pib, qhov Python tsab ntawv yuav pib ua haujlwm. Nws yuav saib xyuas qhov txuas txuas los ntawm Arduino, thiab yuav teeb tsa txhua qhov haujlwm ntau npaum li cas rau qhov koj hu!

Arduino Contest 2020
Arduino Contest 2020
Arduino Contest 2020
Arduino Contest 2020

Khiav Tawm Hauv Kev Sib Tw Arduino 2020

Pom zoo: