Talaan ng mga Nilalaman:
- Mga gamit
- Hakbang 1: Teorya ng Pagpapatakbo
- Hakbang 2: Alisin ang Dial
- Hakbang 3: I-print ang Enclosure
- Hakbang 4: I-program ang Iyong Arduino
- Hakbang 5: Wire Lahat
- Hakbang 6: Assembly
- Hakbang 7: I-setup ang Python Script
Video: Kontrol ng Dami ng Vintage Rotary Phone Dial PC: 7 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Kung ikaw ay katulad ko, nahanap mo ang iyong sarili na binabago ang dami ng iyong computer nang madalas. Ang ilang mga video ay mas malakas kaysa sa iba, kung minsan gusto mo ang dami ng naka-mute sa iyong computer habang nakikinig ka ng mga podcast o musika, at maaaring kailanganin mong mabilis na i-down ang volume kung nakatanggap ka ng isang tawag sa telepono. Kung wala kang mga kontrol sa media na nakapaloob sa iyong computer, maaari mo nang gawing isang kontrol ng dami para sa iyong Windows PC ang isang vintage rotary phone dial.
Ang aparato ng control volume na ito ay naka-plug sa iyong computer sa pamamagitan ng USB, at awtomatikong itatakda ang dami ng bawat bukas na programa sa anumang numero na iyong dial. Kung nagdayal ka ng isang "2," ang dami ay maitatakda sa 20%. Mag-dial ng isang "8" at itatakda ito sa 80%. Ang pag-dial sa "0" ay nagtatakda sa 0% at kumikilos tulad ng pipi. Mabilis, kasiya-siya, at mas masaya kaysa sa pag-click sa paligid ng kontrol sa dami ng iyong taskbar.
Mga gamit
- Rotary phone ng Vintage Bell Systems Trimline
- Arduino Nano
- Ang M3 na sinulid na mga pagsingit na naka-set na init
- M3 screws ng makina
- Mga resistorist (470 ohm at 10k ohm)
- Kawad
- Pag-access sa isang 3D printer
Hakbang 1: Teorya ng Pagpapatakbo
Ang mga rotary phone, kasama ang Bell Systems Trimline na ginamit sa proyektong ito, ay pulos mga analog electromekanical na aparato. Kapag pinaikot mo ang dial, isang spring ang umiikot sa dial pabalik sa orihinal na posisyon. Habang ipinapasa nito ang bawat numero ang isang switch ay naka-disconnect (o konektado) para sa isang maikling sandali, lumilikha ng isang pulso. Ang kailangan lang nating gawin ay bilangin ang mga pulso upang matukoy kung anong numero ang na-dial.
Ang guidomax ay may kamangha-manghang tutorial na Mga Tagubilin na lalalim sa kung paano eksaktong gumagana ito, at mahahanap mo ang higit pang detalye doon.
Para sa proyektong ito, ginagamit namin ang Arduino Nano upang mabilang ang mga pulso. Ipinadala ng Arduino ang numero sa PC sa pamamagitan ng serial connection. Sumulat ako ng isang pangunahing script ng Python na tumatakbo sa background at sinusubaybayan ang serial connection. Kapag nakakatanggap ito ng mga piraso, kukuha ng numero at ginagamit ang Python Core Audio Windows library upang maitakda ang naaangkop na dami.
Dahil sa mga limitasyon sa Windows at sa library na iyon, hindi itinatakda ng script ang pangkalahatang dami ng system (ang pangunahing slider sa iyong taskbar). Sa halip, itinatakda nito ang indibidwal na dami para sa bawat programa na kasalukuyang tumatakbo. Ang epekto ay pareho, maliban sa hindi mo mapapanatili ang iba't ibang mga antas ng kamag-anak na dami sa pagitan ng mga programa.
Hakbang 2: Alisin ang Dial
Ang hakbang na ito ay prangka: i-disassemble lamang ang iyong handset ng telepono ng Trimline upang alisin ang mekanismo ng pag-dial. Mahalaga na ito ay isang self-nilalaman na module, kaya kailangan mo lamang i-unscrew ito mula sa handset.
Pinili ko ang modelo ng Trimline para sa proyektong ito, dahil ang dial module na iyon ay mas compact kaysa sa makikita mo sa karamihan ng iba pang mga rotary phone.
Kung bibigyan mo ito ng ilang mga pagsubok na pagsubok, dapat mong marinig ang pag-click sa layo habang bumalik ito sa posisyon sa bahay.
Hakbang 3: I-print ang Enclosure
Gamitin ang dalawang ibinigay na mga file ng STL upang mai-print ang mga bahagi ng enclosure. Maaari mong gamitin ang anumang materyal na filament na gusto mo (Gumamit ako ng PLA). Ang mga partikular na setting na iyong ginagamit ay hindi ganoon kahalaga, ngunit inirerekumenda ko ang paggamit ng mga suporta para sa "Rotary_Top" na bahagi. Maaari mong i-print ang dalawang bahagi na ito habang nagtatrabaho ka sa natitirang proyekto.
Hakbang 4: I-program ang Iyong Arduino
Ang code na ia-upload mo sa iyong Arduino Nano ay deretso mula sa tutorial ng guidomax, dahil perpektong gumagana ito para sa proyektong ito:
int needToPrint = 0; int count; int sa = 2;
int lastState = LOW;
int trueState = LOW;
mahaba lastStateChangeTime = 0;
int cleared = 0;
// patuloy
int dialHasFinishedRotatingAfterMs = 100;
int debounceDelay = 10;
walang bisa ang pag-setup () {
Serial.begin (9600);
pinMode (sa, INPUT); }
void loop () {
int pagbabasa = digitalRead (sa);
kung ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// ang dial ay hindi na-dial, o katatapos lang ma-dial.
kung (needToPrint) {// kung katatapos lang nitong ma-dial, kailangan naming ipadala ang numero pababa sa serial // line at i-reset ang bilang. Binabago namin ang bilang ng 10 dahil ang '0' ay magpapadala ng 10 pulso.
Serial.print (bilangin ang% 10, DEC);
needToPrint = 0;
bilangin = 0;
nalinis = 0; }}
kung (nagbabasa! = lastState) {lastStateChangeTime = millis ();
}
kung ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - nangyayari ito sa sandaling nasaksak ito
kung (nagbabasa! = trueState) {// nangangahulugan ito na ang switch ay maaaring nawala mula sa sarado-> bukas o kabaliktaran. trueState = nagbabasa; kung (trueState == MATAAS) {// dagdagan ang bilang ng mga pulso kung naging mataas ito.
bilangin ++;
needToPrint = 1; // kakailanganin naming i-print ang numerong ito (kapag natapos na ang pag-dial sa pag-ikot)
}
}
}
lastState = nagbabasa; }
Hakbang 5: Wire Lahat
Ang mga kable para sa proyektong ito ay talagang simple. Ang module ng pag-dial ay dapat magkaroon ng dalawang mga hexagonal post sa likod na may mga tornilyo sa kanila. Iyon ang mga koneksyon sa switch. Hindi mahalaga ang polarity.
Tandaan: Huwag pansinin ang mga kulay ng aking mga wire sa mga larawan. Naghalo ako ng lupa at 5V, kaya't ang mga ito ay talagang baligtad.
Ikonekta ang isang kawad mula sa Post A (GND) at ikonekta ito sa isang ground pin sa iyong Arduino Nano. Kumuha ng isang pangalawang kawad at solder ito at isang pangatlong kawad sa isang bahagi ng 470 ohm risistor. Ang pangalawang kawad ay pupunta sa Post B (+) sa dial. Ang pangatlong kawad ay makakakuha ng solder sa isang gilid ng 10k ohm risistor. Kumuha ng pang-apat na kawad at solder ito mula sa kabilang panig ng 470 ohm resistor hanggang sa Pin 2 sa Arduino Nano. Sa wakas, ang ikalimang kawad ay dapat na ikonekta ang kabilang panig ng 10k ohm risistor sa 5V pin sa Arduino Nano.
Ginagamit namin ang mga resistors at ang 5V pin upang hilahin ang pin sa mataas kapag bukas ang switch (tulad ng sa panahon ng bawat "pulso").
Hakbang 6: Assembly
Dapat mong mapansin na ang bahagi ng Rotary_Top ng enclosure ay may anim na maliliit na butas. Ito ay para sa iyong sinulid na pagsingit na naka-set na init. Ang nangungunang tatlong (sa ilalim ng tuktok na ibabaw) ay upang mai-mount ang rotary dial. Sa ilalim ng tatlo ay i-tornilyo ang Rotary_Base sa Rotary_Top.
Ang mga pagsingit na naka-set na init ay maaaring mapainit sa isang panghinang na bakal (o isang nakalaang tool) at pagkatapos ay itulak sa mga butas. Matutunaw ng init ang plastik, na magpapatigas pagkatapos na maalis ang init upang maingat na hawakan ang mga pagsingit. Ang paggamit ng mga pagsingit na naka-set na init ay mas kaaya-aya kaysa sa mga tornilyo na tornilyo nang direkta sa plastik.
Ipasok ang anim na pagsingit na itinakda ng init. Pagkatapos ay gumamit ng ilang maikling (10mm o higit pa) M3 machine screws upang mai-mount ang dial. Itala ang bingaw sa ginupit, kung saan pupunta ang paghinto ng metal na daliri. Pagkatapos ay maingat na ilagay ang Arduino Nano-na may USB cable na konektado-sa loob ng enclosure (maluwag ito, hindi naka-mount), at i-tornilyo ang base sa lugar.
Marahil ay gugustuhin mong gumamit ng double-sided tape o 3M Command Strips upang maikabit ang enclosure sa iyong mesa, kaya't hindi ito gagalaw kapag inikot mo ang dial.
Hakbang 7: I-setup ang Python Script
Una, tiyaking mayroon kang naka-install na Python (gamitin ang Python 3, tulad ng na-phase out ang Python 2).
Kakailanganin mong i-install ang dalawang kinakailangang aklatan: PyCAW at PySerial.
Gumamit ng:
"pip install pycaw" at "pip install pyserial" (mula sa window ng Python o Windows Powershell)
Pagkatapos suriin upang makita kung anong port ang nakakonekta sa iyong Arduino Nano. Maaari mong suriin iyon mula sa loob ng Arduino IDE. Tiyaking napili mo ang port na iyon, pagkatapos buksan ang serial monitor. Tiyaking ang iyong rate ng baud ay nakatakda sa 9600, at pagkatapos ay i-dial ang ilang mga numero upang matiyak na lalabas ang mga ito sa serial monitor.
Kung gagawin nila ito, i-edit ang "rotary.py" code sa iyong numero ng port. Kung pinatakbo mo ang script, dapat mo na ngayong baguhin ang dami sa pamamagitan ng pagdayal sa isang numero.
Ang pangwakas na hakbang ay ang pag-setup ng script upang awtomatikong tumakbo sa background kapag na-boot mo ang iyong PC.
Upang magawa iyon, palitan ang "rotary.py" sa "rotary.pyw" na papayagan itong tumakbo sa background. Pagkatapos ilagay ang script na iyon sa sumusunod na folder: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup
Malinaw na kakailanganin mong baguhin ang "current_user" sa iyong tunay na pangalan ng folder ng gumagamit.
Ayan yun! Kailan man magsimula ang iyong computer, magsisimulang tumakbo ang script ng Python na iyon. Susubaybayan nito ang koneksyon sa serial mula sa Arduino, at itatakda ang lahat ng mga volume ng programa sa kung ano man ang iyong na-dial!
Runner Up sa Arduino Contest 2020
Inirerekumendang:
Retro Style Rotary Dial Mobile Phone: 4 Hakbang (na may Mga Larawan)
Retro Style Rotary Dial Mobile Phone: Ang proyektong ito ay hinimok ng parehong praktikal na pangangailangan at nais na gumawa ng isang bagay na masaya. Tulad ng karamihan sa mga modernong pamilya, tumigil kami sa pagkakaroon ng totoong " tahanan " telepono (corded) maraming taon na ang nakakaraan. Sa halip, mayroon kaming labis na SIM card na nauugnay sa aming " old " home num
Bumuo ng isang Reader ng Dami ng Tank sa ilalim ng $ 30 Gamit ang ESP32: 5 Mga Hakbang (na may Mga Larawan)
Bumuo ng isang Reader ng Dami ng Tank sa ilalim ng $ 30 Gamit ang ESP32: Ang Internet ng Mga Bagay ay nagdala ng maraming dating kumplikadong mga aplikasyon ng aparato sa mga bahay ng maraming mga brewer ng bapor at gumagawa ng alak. Ang mga aplikasyon na may antas na sensor ay ginamit sa loob ng maraming dekada sa malalaking mga refiner, mga halaman sa paggamot sa tubig, at chemic
Pagkontrol ng Dami ng USB: 9 Mga Hakbang (na may Mga Larawan)
Pagkontrol ng Dami ng USB: Sa proyektong ito, gagawa kami ng isang kontrol sa dami ng USB gamit ang isang katugmang Arduino na Trinket mula sa Adafruit, at isang rotary encoder. Sa wakas, maglilimbag kami ng 3D ng isang pabahay, punan ang base ng shot ng tingga upang magdagdag ng timbang at katatagan, at gupitin ng laser ang isang acrylic sa ilalim
Supersor ng Dami ng Komersyal sa TV: 6 na Hakbang (na may Mga Larawan)
TV Komersyal na Volume Suppressor: Ang aking ama ay patuloy na bumubulusok tungkol sa kung paano nakakainis ito kapag ang mga patalastas ay mas malakas kaysa sa kanilang kasamang programa. Dahil ang kanyang pagreklamo ay naging mas nakakainis kaysa sa aktwal na mga patalastas, nagpasya akong lumikha ng isang maliit na gadget na
Mag-interface ng isang Rotary Phone Dial sa isang Arduino: 6 Mga Hakbang (na may Mga Larawan)
Mag-interface ng isang Rotary Phone Dial sa isang Arduino: Ang isang lumang rotary phone ay maaaring magamit para sa isang bilang ng mga layunin sa iyong mga proyekto sa Arduino - gamitin ito bilang isang nobelang input aparato, o gamitin ang Arduino upang mai-interface ang isang umiinog na telepono sa iyong computer. Ito ay isang napaka pangunahing gabay na naglalarawan kung paano i-interface ang dial sa isang