Daftar Isi:

Menghubungkan Rotary Phone Dial ke Arduino: 6 Langkah (dengan Gambar)
Menghubungkan Rotary Phone Dial ke Arduino: 6 Langkah (dengan Gambar)

Video: Menghubungkan Rotary Phone Dial ke Arduino: 6 Langkah (dengan Gambar)

Video: Menghubungkan Rotary Phone Dial ke Arduino: 6 Langkah (dengan Gambar)
Video: 3 Bocah Terlindas Truk Saat Selfie Di Atas Motor 2024, November
Anonim
Menghubungkan Rotary Phone Dial ke Arduino
Menghubungkan Rotary Phone Dial ke Arduino
Menghubungkan Rotary Phone Dial ke Arduino
Menghubungkan Rotary Phone Dial ke Arduino

Telepon putar lama dapat digunakan untuk sejumlah tujuan dalam proyek Arduino Anda - gunakan sebagai perangkat input baru, atau gunakan Arduino untuk menghubungkan telepon putar ke komputer Anda. Ini adalah panduan yang sangat mendasar yang menjelaskan cara menghubungkan dial ke Arduino, dan dapatkan nomor yang dihubungi diteruskan ke komputer melalui tautan serial Arduino.

Langkah 1: Lepaskan Dial Dari Telepon

Lepaskan Dial Dari Telepon
Lepaskan Dial Dari Telepon
Lepaskan Dial Dari Telepon
Lepaskan Dial Dari Telepon
Lepaskan Dial Dari Telepon
Lepaskan Dial Dari Telepon

Langkah pertama adalah melepas unit dial dari telepon. Saya menggunakan telepon GPO dari beberapa jenis dari tahun 1970-an. Pada telepon ini, dial muncul langsung - saya hanya perlu memberikan tarikan. Jika tidak, Anda mungkin harus membuka telepon dan mencari cara untuk melepaskannya. Ada lima kabel yang terhubung ke bagian belakang unit dial. Di ponsel saya, ini adalah koneksi sekop biasa, jadi saya melonggarkan sekrup dan menariknya keluar. Jika Anda ingin memasang kembali ponsel Anda, ingatlah untuk mencatat kabel warna mana yang terhubung ke koneksi mana.

Langkah 2: Identifikasi Sakelar

Identifikasi Saklar
Identifikasi Saklar

Setelah dial keluar, seharusnya relatif mudah untuk melihat bagaimana dial mengubah gerakan putar menjadi pulsa. Coba putar dial dengan tangan dan perhatikan gerakan di bagian belakang. Anda akan melihat sakelar membuat dan memutus sirkuit dengan cepat - jadi jika Anda menekan '9', sakelar tersebut akan aktif sembilan kali. Bagi Anda yang mungkin belum pernah menggunakan pemutar putar sebelumnya - ingat bahwa panggilan hanya terjadi ketika Anda membiarkan buka nomornya dan biarkan berputar kembali. Saya telah mendokumentasikan cara kerjanya untuk ponsel saya di Catatan foto di bawah ini. Ada juga video buram tentang mekanisme kerja.

Langkah 3: Buat Sirkuit

Membuat Sirkuit
Membuat Sirkuit
Membuat Sirkuit
Membuat Sirkuit

Setelah Anda menemukan sakelar yang sedang dibuat dan rusak, Anda harus dapat mengidentifikasi koneksi dengan mengikuti kabel kembali ke terminal koneksi. Dalam kasus saya, kedua sisi sakelar terhubung ke dua terminal paling kiri. Hubungkan terminal ini ke beberapa kabel jumper, dan buat prototipe! Sakelar di dial saya selalu aktif, dan rusak untuk setiap pulsa saat melakukan panggilan, jadi saya menggunakan rangkaian yang sangat sederhana di bawah ini. Pin 2 akan menjadi TINGGI untuk setiap pulsa saat dial berputar. Ketika telepon tidak dihubungi, sakelar di unit dial ditutup (disebut sakelar NORMAL TERTUTUP, untuk alasan yang jelas) sehingga sirkuit menghubungkan pin 2 ke ground (yang ke Arduino RENDAH). Ini karena hambatan yang melalui resistor 470 ohm jauh lebih sedikit daripada resistor 10K. Ketika telepon dihubungi, sakelar membuka dan menutup dengan cepat (untuk 9, ia akan membuka dan menutup lagi sembilan kali, ingat). Ketika sakelar terbuka, pin 2 tidak terhubung ke ground - melainkan terhubung ke suplai 5V melalui resistansi 10470 ohm. Ini ditafsirkan oleh Arduino sebagai TINGGI. Jika dial Anda memiliki sakelar NORMALLY OPEN, maka menukar posisi resistor 10K dan dial harus berhasil.

Langkah 4: Kembangkan Kode

Kembangkan Kode
Kembangkan Kode

Sekarang kita memerlukan beberapa kode untuk Arduino untuk menghitung pulsa dan mengirim nomor total per nomor yang dipanggil kembali melalui port serial. Kode saya di bawah ini. Karena kita berurusan dengan mekanik di sini, Anda mungkin berbeda. Cobalah bermain-main dengan konstanta debounce dan konstanta 'berapa lama kita menunggu sebelum menganggap dial telah selesai berputar'. Saya sudah mencoba mengomentarinya serapi mungkin. Mudah-mudahan cukup sederhana.int needToPrint = 0;int count;int in = 2;int lastState = LOW;int trueState = LOW;long lastStateChangeTime = 0;int clear = 0;// constantsint dialHasFinishedRotatingAfterMs = 100;int debounceDelay = 10; void setup(){ Serial.begin(9600); pinMode(dalam, INPUT);}void loop(){ int membaca = digitalRead(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 = reading;}

Langkah 5: Periksa Berhasil

Periksa bekerja dengan membuka jendela serial (saya menggunakan layar pada mesin unix, Anda mungkin ingin menggunakan Hyperterm atau serupa pada Windows), dan coba tekan beberapa nomor. Pastikan bahwa program serial diatur untuk membaca dari USB- > adaptor serial di Arduino Anda (periksa menu Tools->Serial Port di perangkat lunak Arduino jika Anda lupa apa itu), dan baud rate 9600 bps. Anda akan melihat nomor yang benar muncul saat dipanggil.

Langkah 6: Kaitkan Ini Menjadi Sesuatu yang Berguna

Kaitkan Menjadi Sesuatu yang Berguna!
Kaitkan Menjadi Sesuatu yang Berguna!

Saya datang dengan file Quartz Composer di Mac saya untuk mengambil input dan menampilkannya dengan baik ke layar. Setelah di mesin sebagai data serial, Anda dapat melakukan apa saja dengan itu. Menunggu untuk mendengar ide-ide Anda!Saya akan membuat video 'beraksi' dan mencetak nomor ke layar segera setelah saya bisa mendapatkan seseorang untuk memegang kamera untuk saya - berharap saya memiliki tiga tangan.

Direkomendasikan: