Daftar Isi:

Vintage Rotary Phone Dial PC Volume Control: 7 Langkah (dengan Gambar)
Vintage Rotary Phone Dial PC Volume Control: 7 Langkah (dengan Gambar)

Video: Vintage Rotary Phone Dial PC Volume Control: 7 Langkah (dengan Gambar)

Video: Vintage Rotary Phone Dial PC Volume Control: 7 Langkah (dengan Gambar)
Video: Hati2 bossku jika hendak cuci mobil. Pastikan pilih cuci steam yg model H agar lebih safety ๐Ÿ™๐Ÿ‘ 2024, Juli
Anonim
Image
Image
Hapus Dial
Hapus Dial

Jika Anda seperti saya, Anda cukup sering mengubah volume di komputer Anda. Beberapa video lebih keras daripada yang lain, terkadang Anda ingin volume dimatikan di komputer saat Anda mendengarkan podcast atau musik, dan Anda mungkin perlu mengecilkan volume dengan cepat jika menerima panggilan telepon. Jika Anda tidak memiliki kontrol media yang terpasang di komputer Anda, maka Anda dapat mengubah tombol putar telepon antik menjadi kontrol volume untuk PC Windows Anda.

Perangkat kontrol volume ini dihubungkan ke komputer Anda melalui USB, dan secara otomatis akan mengatur volume setiap program yang terbuka ke nomor apa pun yang Anda panggil. Jika Anda menekan "2", volume akan diatur ke 20%. Tekan "8" dan itu akan diatur ke 80%. Memutar "0" menyetelnya ke 0% dan bertindak seperti bisu. Ini cepat, memuaskan, dan lebih menyenangkan daripada mengeklik kontrol volume di bilah tugas Anda.

Perlengkapan

  • Sistem Bel Vintage Trimline telepon putar
  • Arduino Nano
  • Sisipan heat-set berulir M3
  • Sekrup mesin M3
  • Resistor (470 ohm dan 10k ohm)
  • Kabel
  • Akses ke printer 3D

Langkah 1: Teori Operasi

Telepon putar, termasuk Bell Systems Trimline yang digunakan dalam proyek ini, adalah perangkat elektromekanis analog murni. Saat Anda memutar dial, pegas memutar dial kembali ke posisi semula. Saat melewati setiap nomor, sakelar terputus (atau terhubung) untuk sesaat, menciptakan pulsa. Yang harus kita lakukan adalah menghitung pulsa-pulsa itu untuk menentukan nomor yang dipanggil.

guidomax memiliki tutorial Instructables fantastis yang membahas secara mendalam tentang bagaimana tepatnya ini bekerja, dan Anda dapat menemukan lebih banyak detail di sana.

Untuk proyek ini, kami menggunakan Arduino Nano untuk menghitung pulsa. Arduino kemudian mengirimkan nomor tersebut ke PC melalui koneksi serial. Saya menulis skrip Python dasar yang berjalan di latar belakang dan memantau koneksi serial itu. Ketika menerima bit, dibutuhkan nomor dan menggunakan perpustakaan Python Core Audio Windows untuk mengatur volume yang sesuai.

Karena keterbatasan dengan Windows dan perpustakaan itu, skrip tidak mengatur volume sistem secara keseluruhan (penggeser utama di bilah tugas Anda). Sebagai gantinya, ini mengatur volume individu untuk setiap program yang sedang berjalan. Efeknya sama, kecuali bahwa Anda tidak dapat mempertahankan tingkat volume relatif yang berbeda antar program.

Langkah 2: Lepaskan Dial

Hapus Dial
Hapus Dial

Langkah ini sangat mudah: cukup bongkar handset telepon Trimline Anda untuk menghapus mekanisme panggilan. Ini pada dasarnya adalah modul mandiri, jadi Anda hanya perlu melepaskannya dari handset.

Saya memilih model Trimline untuk proyek ini, karena modul dial itu lebih ringkas daripada yang Anda temukan di kebanyakan telepon putar lainnya.

Jika Anda memberikannya beberapa putaran percobaan, Anda akan mendengar tombol diklik saat kembali ke posisi awal.

Langkah 3: Cetak Lampiran

Cetak Lampiran
Cetak Lampiran

Gunakan dua file STL yang disediakan untuk mencetak bagian enklosur. Anda dapat menggunakan bahan filamen apa pun yang Anda inginkan (saya menggunakan PLA). Pengaturan khusus yang Anda gunakan tidak begitu penting, tetapi saya menyarankan untuk menggunakan dukungan untuk bagian "Rotary_Top". Anda dapat mencetak dua bagian ini saat Anda mengerjakan sisa proyek.

Langkah 4: Program Arduino Anda

Program Arduino Anda
Program Arduino Anda

Kode yang akan Anda unggah ke Arduino Nano Anda diambil langsung dari tutorial guidomax, karena ini berfungsi dengan baik untuk proyek ini:

int needToPrint = 0;int jumlah; int dalam = 2;

int status terakhir = RENDAH;

int trueState = RENDAH;

long lastStateChangeTime = 0;

int dihapus = 0;

// konstanta

int dialHasFinishedRotatingAfterMs = 100;

int debounceDelay = 10;

batalkan pengaturan() {

Serial.begin(9600);

pinMode(dalam, INPUT); }

lingkaran kosong() {

int membaca = digitalBaca(dalam);

if ((millis() - lastStateChangeTime) > dialHasFinishedRotatingAfterMs) { // dial tidak dihubungi, atau baru saja selesai dihubungi.

if (needToPrint) { // jika baru saja selesai dipanggil, kita perlu mengirimkan nomor ke baris // serial dan mengatur ulang hitungan. Kami mod hitungan dengan 10 karena '0' akan mengirim 10 pulsa.

Serial.print(hitung % 10, DES);

needToPrint = 0;

menghitung = 0;

dibersihkan = 0; } }

if (membaca != lastState) { lastStateChangeTime = milis();

}

if ((millis() - lastStateChangeTime) > debounceDelay) { // debounce - ini terjadi setelah distabilkan

if (membaca != trueState) { // ini berarti sakelar baru saja beralih dari tertutup->terbuka atau sebaliknya. trueState = membaca; if (trueState == HIGH) { // menambah jumlah pulsa jika sudah tinggi.

menghitung++;

needToPrint = 1; // kita perlu mencetak nomor ini (setelah dial selesai berputar)

}

}

}

lastState = membaca; }

Langkah 5: Hubungkan Semuanya

Hubungkan Semuanya
Hubungkan Semuanya
Hubungkan Semuanya
Hubungkan Semuanya
Hubungkan Semuanya
Hubungkan Semuanya

Pengkabelan untuk proyek ini sangat sederhana. Modul dial harus memiliki dua tiang heksagonal di bagian belakang dengan sekrup di dalamnya. Itu adalah koneksi sakelar. Polaritas tidak masalah.

Catatan: Abaikan warna kabel saya di foto. Saya mencampur ground dan 5V, jadi ini sebenarnya terbalik.

Hubungkan satu kabel dari Post A (GND) dan hubungkan ke pin ground pada Arduino Nano Anda. Ambil kabel kedua dan solder dan kabel ketiga ke satu sisi resistor 470 ohm. Kabel kedua akan menuju ke Post B (+) pada dial. Kawat ketiga akan disolder ke satu sisi resistor 10k ohm. Ambil kabel keempat dan solder dari sisi lain resistor 470 ohm ke Pin 2 pada Arduino Nano. Akhirnya, kabel kelima harus menghubungkan sisi lain resistor 10k ohm ke pin 5V pada Arduino Nano.

Kami menggunakan resistor dan pin 5V untuk menarik pin ke tinggi ketika sakelar terbuka (seperti selama setiap "denyut").

Langkah 6: Perakitan

perakitan
perakitan
perakitan
perakitan

Anda harus memperhatikan bahwa bagian Rotary_Top dari enklosur memiliki enam lubang kecil. Ini untuk insert heat-set berulir Anda. Tiga teratas (di bagian bawah permukaan atas) adalah untuk memasang tombol putar. Tiga bagian bawah adalah untuk memasang Rotary_Base ke Rotary_Top.

Sisipan pemanas dapat dipanaskan dengan besi solder (atau alat khusus) dan kemudian didorong ke dalam lubang. Panas akan melelehkan plastik, yang akan mengeras setelah panas dihilangkan untuk menahan sisipan dengan aman di tempatnya. Menggunakan sisipan pemanas jauh lebih menyenangkan daripada memasang sekrup langsung ke plastik.

Masukkan enam sisipan pengatur panas. Kemudian gunakan beberapa sekrup mesin M3 pendek (10mm atau lebih) untuk memasang dial. Perhatikan takik di guntingan, yang akan menjadi tempat pemberhentian jari logam. Kemudian dengan hati-hati letakkan Arduino Nano-dengan kabel USB yang terhubung-di dalam enklosur (longgar, tidak terpasang), dan kencangkan alasnya ke tempatnya.

Anda mungkin ingin menggunakan selotip dua sisi atau Strip Perintah 3M untuk menempelkan enklosur ke meja Anda, sehingga tidak akan bergerak saat Anda memutar tombol.

Langkah 7: Siapkan Skrip Python

Siapkan Skrip Python
Siapkan Skrip Python

Pertama, pastikan Anda telah menginstal Python (gunakan Python 3, karena Python 2 sedang dihapus).

Anda kemudian harus menginstal dua pustaka yang diperlukan: PyCAW dan PySerial.

Menggunakan:

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

Kemudian periksa untuk melihat port apa yang terhubung dengan Arduino Nano Anda. Anda dapat memeriksanya dari dalam Arduino IDE. Pastikan Anda telah memilih port tersebut, lalu buka monitor serial. Pastikan baud rate Anda diatur ke 9600, lalu tekan beberapa nomor untuk memastikan nomor tersebut muncul di monitor serial.

Jika ya, edit kode "rotary.py" dengan nomor port Anda. Jika Anda menjalankan skrip, maka Anda sekarang dapat mengubah volume dengan menekan nomor.

Langkah terakhir adalah mengatur skrip agar berjalan di latar belakang secara otomatis saat Anda mem-boot PC Anda.

Untuk melakukannya, ubah "rotary.py" menjadi "rotary.pyw" yang memungkinkannya berjalan di latar belakang. Kemudian letakkan skrip tersebut di folder berikut: C:\Users\current_user\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Jelas Anda harus mengubah "current_user" menjadi nama folder pengguna Anda yang sebenarnya.

Itu dia! Setiap kali komputer Anda dinyalakan, skrip Python itu akan mulai berjalan. Ini akan memantau koneksi serial dari Arduino, dan akan mengatur semua volume program ke apa pun yang Anda panggil!

Kontes Arduino 2020
Kontes Arduino 2020
Kontes Arduino 2020
Kontes Arduino 2020

Runner Up di Kontes Arduino 2020

Direkomendasikan: