Kawalan Kelantangan PC Dail Telefon Rotary Vintage: 7 Langkah (dengan Gambar)
Kawalan Kelantangan PC Dail Telefon Rotary Vintage: 7 Langkah (dengan Gambar)
Anonim
Image
Image
Keluarkan Dail
Keluarkan Dail

Sekiranya anda seperti saya, anda sering menukar kelantangan pada komputer anda. Beberapa video lebih kuat daripada yang lain, kadang-kadang anda mahu kelantangan diredam di komputer semasa anda mendengar podcast atau muzik, dan anda mungkin perlu mengurangkan kelantangan dengan cepat jika anda menerima panggilan telefon. Sekiranya anda tidak mempunyai kawalan media yang terdapat di dalam komputer anda, maka anda boleh menukar dail telefon putar vintaj menjadi kawalan kelantangan untuk PC Windows anda.

Peranti kawalan kelantangan ini dipasang ke komputer anda melalui USB, dan secara automatik akan mengatur kelantangan setiap program terbuka ke nombor apa pun yang anda dail. Sekiranya anda memanggil "2", jumlahnya akan ditetapkan menjadi 20%. Tekan "8" dan ia akan ditetapkan kepada 80%. Mendail "0" menetapkannya menjadi 0% dan bertindak seperti bisu. Ini cepat, memuaskan, dan lebih menyenangkan daripada mengklik kawalan kelantangan di bar tugas anda.

Bekalan

  • Telefon berputar Vintage Bell Systems Trimline
  • Arduino Nano
  • Sisipan haba berulir M3
  • Skru mesin M3
  • Perintang (470 ohm dan 10k ohm)
  • Kawat
  • Akses ke pencetak 3D

Langkah 1: Teori Operasi

Telefon berputar, termasuk Bell Sistem Trimline yang digunakan dalam projek ini, adalah alat elektromekanik analog semata-mata. Apabila anda memutar dail, pegas memutar dail kembali ke kedudukan asal. Semasa melepasi setiap nombor, suis terputus (atau disambungkan) untuk seketika, mewujudkan denyutan. Yang harus kita lakukan ialah menghitung denyutan nadi untuk menentukan nombor apa yang didail.

guideomax mempunyai tutorial Instructables yang hebat yang menjelaskan secara terperinci bagaimana ia berfungsi, dan anda boleh mendapatkan lebih banyak maklumat di sana.

Untuk projek ini, kami menggunakan Arduino Nano untuk mengira denyutan. Arduino kemudian menghantar nombor tersebut ke PC melalui sambungan bersiri. Saya menulis skrip Python asas yang berjalan di latar belakang dan memantau sambungan bersiri itu. Apabila menerima bit, ia mengambil nombor dan menggunakan pustaka Windows Python Core Audio untuk menetapkan kelantangan yang sesuai.

Oleh kerana keterbatasan dengan Windows dan perpustakaan itu, skrip tidak menetapkan jumlah keseluruhan sistem (slaid utama di bar tugas anda). Sebaliknya, ia menetapkan jumlah individu untuk setiap program yang sedang berjalan. Kesannya sama, kecuali anda tidak dapat mengekalkan tahap kelantangan relatif yang berbeza antara program.

Langkah 2: Keluarkan Dail

Keluarkan Dail
Keluarkan Dail

Langkah ini mudah: lepaskan telefon bimbit Trimline anda untuk membuang mekanisme dail. Ini pada dasarnya adalah modul yang serba lengkap, jadi anda hanya perlu melepaskannya dari telefon bimbit.

Saya memilih model Trimline untuk projek ini, kerana modul dail itu lebih padat daripada model yang anda dapati di kebanyakan telefon putar lain.

Sekiranya anda memberikan beberapa putaran ujian, anda mesti mendengar suis mengklik kerana ia kembali ke kedudukan rumah.

Langkah 3: Cetak Lampiran

Cetak Lampiran
Cetak Lampiran

Gunakan dua fail STL yang disediakan untuk mencetak bahagian lampiran. Anda boleh menggunakan apa sahaja bahan filamen yang anda suka (saya menggunakan PLA). Tetapan tertentu yang anda gunakan tidak begitu penting, tetapi saya mengesyorkan menggunakan sokongan untuk bahagian "Rotary_Top". Anda boleh mencetak dua bahagian ini semasa anda mengusahakan baki projek ini.

Langkah 4: Program Arduino Anda

Program Arduino Anda
Program Arduino Anda

Kod yang akan anda muat naik ke Arduino Nano diambil terus dari tutorial guideomax, kerana ia berfungsi dengan sempurna untuk projek ini:

int needToPrint = 0; pengiraan int; int dalam = 2;

int lastState = RENDAH;

int trueState = RENDAH;

lama terakhirStateChangeTime = 0;

int dibersihkan = 0;

// pemalar

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

batal persediaan () {

Serial.begin (9600);

pinMode (dalam, INPUT); }

gelung kosong () {

int membaca = digitalRead (dalam);

if ((millis () - lastStateChangeTime)> dialHasFinishedRotatingAfterMs) {// dail tidak dipanggil, atau baru sahaja selesai didail.

jika (needToPrint) {// jika baru sahaja selesai didail, kami perlu menghantar nombor itu ke baris // siri dan menetapkan semula kiraannya. Kami mengubah kiraan sebanyak 10 kerana '0' akan menghantar 10 denyutan.

Serial.print (kiraan% 10, DEC);

needToPrint = 0;

kiraan = 0;

dibersihkan = 0; }}

jika (membaca! = lastState) {lastStateChangeTime = millis ();

}

if ((millis () - lastStateChangeTime)> debounceDelay) {// debounce - ini berlaku setelah ia ditstabilkan

jika (membaca! = trueState) {// ini bermaksud bahawa suis itu baru saja beralih dari tertutup-> terbuka atau sebaliknya. trueState = membaca; if (trueState == TINGGI) {// tambah bilangan denyutan jika ia tinggi.

kira ++;

needToPrint = 1; // kita perlu mencetak nombor ini (setelah dail selesai berputar)

}

}

}

LastState = membaca; }

Langkah 5: Wire Semuanya

Wayar Semuanya
Wayar Semuanya
Wayar Semuanya
Wayar Semuanya
Wayar Semuanya
Wayar Semuanya

Pendawaian untuk projek ini sangat mudah. Modul dail harus mempunyai dua tiang heksagon di bahagian belakang dengan skru di dalamnya. Itu adalah sambungan suis. Polariti tidak penting.

Catatan: Abaikan warna wayar saya dalam foto. Saya mencampur tanah dan 5V, jadi ini sebenarnya terbalik.

Sambungkan satu wayar dari Post A (GND) dan sambungkannya ke pin ground di Arduino Nano anda. Ambil wayar kedua dan pateri dan wayar ketiga ke satu sisi perintang 470 ohm. Kawat kedua akan masuk ke Pos B (+) di dail. Kawat ketiga akan disolder ke satu sisi perintang 10k ohm. Ambil wayar keempat dan pateri dari sisi lain perintang 470 ohm ke Pin 2 di Arduino Nano. Akhirnya, wayar kelima harus menghubungkan sisi lain perintang 10k ohm ke pin 5V di Arduino Nano.

Kami menggunakan perintang dan pin 5V untuk menarik pin ke tinggi ketika suis terbuka (seperti semasa setiap "nadi").

Langkah 6: Perhimpunan

perhimpunan
perhimpunan
perhimpunan
perhimpunan

Anda harus perhatikan bahawa bahagian Rotary_Top dari kandang mempunyai enam lubang kecil. Ini untuk sisipan set haba berulir anda. Tiga bahagian atas (di bahagian bawah permukaan atas) adalah memasang putar putar. Tiga bahagian bawah adalah dengan memusingkan Rotary_Base ke Rotary_Top.

Sisipan set panas boleh dipanaskan dengan besi pematerian (atau alat khusus) dan kemudian didorong ke dalam lubang. Panas akan mencairkan plastik, yang akan mengeras setelah haba dikeluarkan untuk menahan sisipan dengan selamat di tempatnya. Menggunakan sisipan haba jauh lebih menyenangkan daripada memasukkan skru terus ke plastik.

Masukkan enam sisipan set panas. Kemudian gunakan beberapa skru mesin M3 pendek (10mm atau lebih) untuk memasang dail. Perhatikan takik di potongan, di mana tempat berhenti jari logam akan pergi. Kemudian letakkan Arduino Nano-dengan kabel USB yang disambungkan di dalam kandang dengan berhati-hati (ia longgar, tidak dipasang), dan pasangkan pangkal ke tempatnya.

Anda mungkin ingin menggunakan pita dua sisi atau Jalur Perintah 3M untuk melekatkan penutup ke meja anda, jadi ia tidak akan bergerak apabila anda memutar dail.

Langkah 7: Sediakan Skrip Python

Sediakan Skrip Python
Sediakan Skrip Python

Pertama, pastikan anda memasang Python (gunakan Python 3, kerana Python 2 sedang dihentikan).

Anda kemudian perlu memasang dua perpustakaan yang diperlukan: PyCAW dan PySerial.

Gunakan:

"pip install pycaw" dan "pip install pyserial" (dari tetingkap Python atau Windows Powershell)

Kemudian periksa untuk melihat port yang disambungkan oleh Arduino Nano anda. Anda boleh menyemaknya dari dalam Arduino IDE. Pastikan anda memilih port tersebut, kemudian buka monitor bersiri. Pastikan kadar baud anda ditetapkan ke 9600, dan kemudian dail beberapa nombor untuk memastikannya muncul di monitor bersiri.

Sekiranya ada, edit kod "rotary.py" dengan nombor port anda. Sekiranya anda menjalankan skrip, maka anda seharusnya dapat mengubah kelantangan dengan mendail nombor.

Langkah terakhir adalah menyiapkan skrip untuk berjalan di latar belakang secara automatik semasa anda boot PC anda.

Untuk melakukan itu, ubah "rotary.py" menjadi "rotary.pyw" yang membolehkannya berjalan di latar belakang. Kemudian letakkan skrip itu di folder berikut: C: / Users / current_user / AppData / Roaming / Microsoft / Windows / Start Menu / Programs / Startup

Sudah tentu anda perlu menukar "current_user" ke nama folder pengguna sebenar anda.

Itu sahaja! Setiap kali komputer anda dimulakan, skrip Python akan mula berjalan. Ia akan memantau sambungan bersiri dari Arduino, dan akan mengatur semua jilid program ke apa sahaja yang anda dail!

Peraduan Arduino 2020
Peraduan Arduino 2020
Peraduan Arduino 2020
Peraduan Arduino 2020

Naib Johan dalam Peraduan Arduino 2020

Disyorkan: