Përmbajtje:

Kontrolli i volumit të telefonit rrotullues Vintage Rotary Phone: 7 hapa (me fotografi)
Kontrolli i volumit të telefonit rrotullues Vintage Rotary Phone: 7 hapa (me fotografi)

Video: Kontrolli i volumit të telefonit rrotullues Vintage Rotary Phone: 7 hapa (me fotografi)

Video: Kontrolli i volumit të telefonit rrotullues Vintage Rotary Phone: 7 hapa (me fotografi)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Korrik
Anonim
Image
Image
Hiqni Dial
Hiqni Dial

Nëse jeni diçka si unë, e gjeni veten duke ndryshuar volumin në kompjuterin tuaj mjaft shpesh. Disa video janë më të zëshme se të tjerat, ndonjëherë dëshironi që volumi të jetë i heshtur në kompjuterin tuaj ndërsa dëgjoni podkastet ose muzikën, dhe mund t'ju duhet ta ulni shpejt volumin nëse merrni një telefonatë. Nëse nuk keni kontrolle të mediave të integruara në kompjuterin tuaj, atëherë mund ta ktheni një telefon rrotullues të cilësisë së mirë në një kontroll volumi për kompjuterin tuaj Windows.

Kjo pajisje e kontrollit të volumit lidhet me kompjuterin tuaj përmes USB dhe automatikisht do të vendosë volumin e çdo programi të hapur në cilindo numër që të thirrni. Nëse thirrni një "2", vëllimi do të vendoset në 20%. Thirrni një "8" dhe do të vendoset në 80%. Thirrja "0" e vendos atë në 0% dhe vepron si memec. Quickshtë e shpejtë, e kënaqshme dhe më argëtuese sesa të klikosh përreth kontrollit të volumit në shiritin tuaj të detyrave.

Furnizimet

  • Telefoni rrotullues Vintage Bell Systems Trimline
  • Arduino Nano
  • M3 futje të ndërprera të vendosura për ngrohje
  • Vida makine M3
  • Rezistentët (470 ohm dhe 10k ohm)
  • Tela
  • Qasja në një printer 3D

Hapi 1: Teoria e Operacionit

Telefonat rrotullues, përfshirë Bim Systems Trimline të përdorur në këtë projekt, janë pajisje elektromekanike thjesht analoge. Kur rrotulloni numrin, një sustë e rrotullon numrin në pozicionin e tij origjinal. Ndërsa kalon çdo numër, një ndërprerës shkëputet (ose lidhet) për një moment të shkurtër, duke krijuar një puls. E tëra çfarë duhet të bëjmë është të numërojmë ato impulse në mënyrë që të përcaktojmë se cili numër është thirrur.

guidomax ka një udhëzues fantastik Instructables që shkon në thellësi se si funksionon saktësisht kjo, dhe mund të gjeni më shumë detaje atje.

Për këtë projekt, ne përdorim Arduino Nano për të numëruar pulset. Arduino pastaj dërgon numrin në PC përmes lidhjes serike. Kam shkruar një shkrim bazë Python që funksionon në sfond dhe monitoron atë lidhje serike. Kur merr bit, merr numrin dhe përdor bibliotekën Python Core Audio Windows për të vendosur volumin e duhur.

Për shkak të kufizimeve me Windows dhe atë bibliotekë, skripti nuk vendos vëllimin e përgjithshëm të sistemit (rrëshqitësi kryesor në shiritin tuaj të detyrave). Në vend të kësaj, ajo përcakton volumin individual për çdo program që është duke u ekzekutuar aktualisht. Efekti është i njëjtë, përveç se nuk mund të mbani nivele të ndryshme relative vëllimi midis programeve.

Hapi 2: Hiqni Dial

Hiqni Dial
Hiqni Dial

Ky hap është i drejtpërdrejtë: thjesht çmontoni celularin tuaj të telefonit Trimline për të hequr mekanizmin e thirrjes. Essentialshtë në thelb një modul i pavarur, kështu që ju vetëm duhet ta hiqni atë nga celulari.

Zgjodha modelin Trimline për këtë projekt, sepse ai modul dial është më kompakt se ato që do të gjeni në shumicën e telefonave të tjerë rrotullues.

Nëse i jepni disa rrotullime testuese, duhet të dëgjoni që çelësi të klikohet kur kthehet në pozicionin bazë.

Hapi 3: Shtypni Shtojcën

Shtypni Shtojcën
Shtypni Shtojcën

Përdorni dy skedarët e dhënë STL për të printuar pjesët e rrethimit. Ju mund të përdorni çfarëdo materiali filamenti që preferoni (kam përdorur PLA). Cilësimet e veçanta që përdorni nuk janë aq të rëndësishme, por unë rekomandova përdorimin e mbështetësve për pjesën "Rotary_Top". Ju mund t'i printoni këto dy pjesë ndërsa punoni në pjesën tjetër të projektit.

Hapi 4: Programoni Arduino -n tuaj

Programoni Arduino -n tuaj
Programoni Arduino -n tuaj

Kodi që do të ngarkoni në Arduino Nano tuaj është marrë drejtpërdrejt nga mësimi i guidomax, pasi funksionon në mënyrë perfekte për këtë projekt:

int needToPrint = 0; numërimi int; int në = 2;

int lastState = LOW;

int trueState = LOW;

gjatë lastStateChangeTime = 0;

int pastruar = 0;

// konstante

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

void setup () {

Serial.filloj (9600);

pinMode (in, INPUT); }

lak void () {

int lexim = digitalRead (in);

nëse ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// dial nuk po formohet, ose sapo ka përfunduar së thirruri.

nëse (needToPrint) {// nëse sapo ka përfunduar së thirruri, duhet të dërgojmë numrin poshtë linjës seriale // dhe të rivendosim numërimin. Ne e modifikojmë numërimin me 10 sepse '0' do të dërgojë 10 impulse.

Serial.print (numërimi % 10, DEC);

needToPrint = 0;

numërimi = 0;

pastruar = 0; }}

nëse (leximi! = lastState) {lastStateChangeTime = millis ();

}

nëse ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - kjo ndodh pasi të jetë stablizuar

nëse (leximi! = trueState) {// kjo do të thotë që çelësi ose sapo ka shkuar nga mbyllur-> hapur ose anasjelltas. trueState = leximi; nëse (trueState == LART) {// shtoni numrin e impulseve nëse është e lartë.

numëroni ++;

needToPrint = 1; // ne do të duhet të printojmë këtë numër (sapo çelësi të ketë përfunduar rrotullimin)

}

}

}

lastState = leximi; }

Hapi 5: Lidhni gjithçka

Tela Çdo gjë Up
Tela Çdo gjë Up
Tela Çdo gjë Up
Tela Çdo gjë Up
Tela Çdo gjë Up
Tela Çdo gjë Up

Instalimet elektrike për këtë projekt janë vërtet të thjeshta. Moduli i thirrjes duhet të ketë dy shtylla gjashtëkëndore në anën e pasme me vida në to. Këto janë lidhjet e kalimit. Polariteti nuk ka rëndësi.

Shënim: Injoroni ngjyrat e telave të mi në fotografi. Kam përzier tokën dhe 5V, kështu që këto janë në të vërtetë të kundërta.

Lidhni një tel nga Posta A (GND) dhe lidheni atë me një kunj të tokëzuar në Arduino Nano tuaj. Merrni një tel të dytë dhe ngjiteni atë dhe një tel të tretë në njërën anë të rezistencës 470 ohm. Teli i dytë do të shkojë në Postën B (+) në numrin. Teli i tretë do të ngjitet në njërën anë të rezistencës 10k ohm. Merrni një tel të katërt dhe ngjiteni atë nga ana tjetër e rezistencës 470 ohm në Pin 2 në Arduino Nano. Së fundi, një tel i pestë duhet të lidhë anën tjetër të rezistencës 10k ohm me kunjin 5V në Arduino Nano.

Ne po përdorim rezistorët dhe pinin 5V për ta tërhequr kunjin në lartësi kur çelësi është i hapur (siç është gjatë secilit "puls").

Hapi 6: Asambleja

Kuvendi
Kuvendi
Kuvendi
Kuvendi

Ju duhet të vini re se pjesa Rotary_Top e rrethimit ka gjashtë vrima të vogla. Këto janë për futjet tuaja të filetuara të vendosura në nxehtësi. Tre të parat (në pjesën e poshtme të sipërfaqes së sipërme) duhet të montojnë rrotulluesin. Tre të fundit janë për të vidhosur Rotary_Base në Rotary_Top.

Futësit e vendosur të nxehtësisë mund të nxehen me një hekur bashkues (ose një mjet të dedikuar) dhe më pas të futen në vrima. Nxehtësia do të shkrijë plastikën, e cila do të ngurtësohet pasi të hiqet nxehtësia për të mbajtur futjet e sigurta në vend. Përdorimi i futjeve të vendosura në nxehtësi është shumë më i këndshëm sesa vidhosja e vidhave direkt në plastikë.

Vendosni gjashtë futjet e vendosura në nxehtësi. Pastaj përdorni disa vida të shkurtra (10 mm ose më shumë) të makinës M3 për të montuar numrin. Merrni parasysh vrimën në prerjen, e cila është vendi ku ndalimi i gishtit metalik do të shkojë. Pastaj vendoseni me kujdes Arduino Nano-me kabllo USB të lidhur-brenda mbylljes (është e lirshme, jo e montuar) dhe vidhoseni bazën në vend.

Ju ndoshta do të dëshironi të përdorni shirit të dyanshëm ose shirita komandimi 3M për të ngjitur rrethimin në tavolinën tuaj, kështu që nuk do të lëvizë kur rrotulloni çelësin.

Hapi 7: Konfiguroni Skriptin Python

Konfiguroni Skriptin Python
Konfiguroni Skriptin Python

Së pari, sigurohuni që të keni të instaluar Python (përdorni Python 3, pasi Python 2 po hiqet gradualisht).

Atëherë do t'ju duhet të instaloni dy bibliotekat e kërkuara: PyCAW dhe PySerial.

Përdorni:

"pip install pycaw" dhe "pip install pyserial" (nga dritarja Python ose Windows Powershell)

Pastaj kontrolloni për të parë se në cilin port është i lidhur Arduino Nano juaj. Ju mund ta kontrolloni atë nga brenda Arduino IDE. Sigurohuni që e keni zgjedhur atë port, pastaj hapni monitorin serik. Sigurohuni që norma e baudit tuaj të jetë 9600 dhe më pas thirrni disa numra për t'u siguruar që ato shfaqen në monitorin serik.

Nëse e bëjnë këtë, modifikoni kodin "rotary.py" me numrin tuaj të portit. Nëse drejtoni skenarin, atëherë tani duhet të jeni në gjendje të ndryshoni volumin duke thirrur një numër.

Hapi i fundit është të konfiguroni skriptin që të funksionojë automatikisht në sfond kur filloni kompjuterin tuaj.

Për ta bërë këtë, ndryshoni "rotary.py" në "rotary.pyw" e cila do ta lejojë atë të funksionojë në sfond. Pastaj vendoseni atë skript në dosjen e mëposhtme: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup

Natyrisht që do t'ju duhet të ndryshoni "current_user" në emrin e dosjes tuaj aktuale të përdoruesit.

Kjo eshte! Sa herë që kompjuteri të ndizet, ai skript Python do të fillojë të funksionojë. Do të monitorojë lidhjen serike nga Arduino dhe do të vendosë të gjitha vëllimet e programit në çfarëdo që të thirrni!

Konkursi Arduino 2020
Konkursi Arduino 2020
Konkursi Arduino 2020
Konkursi Arduino 2020

Vrapues në Konkursin Arduino 2020

Recommended: