Daftar Isi:

Antarmuka PIC Rotary Dialer: 7 Langkah
Antarmuka PIC Rotary Dialer: 7 Langkah

Video: Antarmuka PIC Rotary Dialer: 7 Langkah

Video: Antarmuka PIC Rotary Dialer: 7 Langkah
Video: Rotary encoder or: How to build a digital servo using an Arduino and photo sensors 2024, November
Anonim
Antarmuka PIC Pemutar Putar
Antarmuka PIC Pemutar Putar

Saya telah menemukan diri saya dengan banyak telepon putar. Bahkan, mereka ada di mana-mana saya melihat. Dengan harapan suatu hari nanti saya dapat melihat lebih sedikit dari mereka, saya mulai memisahkan mereka dan menggunakan kembali bagian-bagiannya untuk tujuan lain.

Untuk beberapa alasan saya memasukkannya ke dalam otak saya bahwa menghubungkan kontrol putar dengan chip PIC akan menjadi ide yang bagus. Saya hanya dapat memikirkan beberapa kegunaan yang tidak jelas untuk itu saat ini dan tidak ada yang sangat berguna, tetapi saya berharap dapat melakukan sesuatu yang keren dengan ini di masa depan.

Langkah 1: Pergi Dapatkan Barang

Pergi Dapatkan Barang
Pergi Dapatkan Barang

Anda akan membutuhkan:1 - Telepon putar3 - Resistor 220 ohm2 - Kapasitor 0,1uF Resistor 2 - 20K (dapat menggantikan apa pun antara 10K dan 47K)2 - LED1 - Papan pengembangan PIC (Saya menggunakan lingkungan pengembangan Mikro Dasar)1 - Resonator 20 MHZ atau kristal1 - Papan tempat memotong roti1 - Sumber daya 5V1 - Kawat pengait satu kaki atau lebih1 - Obeng1 - Pengupas kawat

Langkah 2: Bedah Telepon

Membedah Telepon
Membedah Telepon
Membedah Telepon
Membedah Telepon
Membedah Telepon
Membedah Telepon

Buka telepon putar Anda. Di bagian dalam Anda akan melihat beberapa bagian dasar; tombol putar, dering, dua jack, sakelar pengait, dan sirkuit dasar yang biasanya terbungkus dalam benda seperti kotak sambungan logam.

Akan ada empat kabel yang mengalir dari dialer putar ke benda seperti kotak persimpangan ini. Kabel harus dipegang di tempatnya dengan sedikit lebih dari sekrup yang dikencangkan. Kendurkan sekrup dan lepaskan kabel. Setelah itu, lepaskan dialer putar dari telepon itu sendiri.

Langkah 3: Tentukan Apa yang Dilakukan Kabel

Tentukan Apa yang Dilakukan Kabel
Tentukan Apa yang Dilakukan Kabel
Tentukan Apa yang Dilakukan Kabel
Tentukan Apa yang Dilakukan Kabel

Hubungkan dua LED seperti yang ditunjukkan pada diagram di bawah ini.

Dua kabel putih harus menjadi pasangan yang menutup sakelar yang memberi tahu Anda kapan tombol diputar. Kabel biru dan hijau harus menjadi pasangan yang memungkinkan Anda mengetahui nomor yang dihubungi. Dengan demikian, ketika Anda memutar tombol, LED yang terhubung ke kabel putih akan menyala, dan ketika Anda melepaskan tombol, LED yang terhubung ke kabel biru dan hijau akan berkedip dan mati sebanyak nomor yang Anda pilih. dipanggil (lihat video). Misalnya, jika Anda menekan 8, LED yang terhubung ke kabel hijau dan biru akan mati dan menyala 8 kali. Ini terjadi karena salah satu cara untuk memanggil nomor telepon adalah dengan cepat memutuskan sambungan berapa kali angka yang Anda coba panggil. Jadi, sekali lagi, untuk memutar nomor 8 Anda harus memutus sambungan dengan cepat sebanyak 8 kali.

Langkah 4: Hubungkan Dialer ke Chip PIC

Hubungkan Dialer ke Chip PIC
Hubungkan Dialer ke Chip PIC
Hubungkan Dialer ke Chip PIC
Hubungkan Dialer ke Chip PIC

Hubungkan dialer putar ke chip PIC seperti yang terlihat pada diagram. Perhatikan bahwa saya membaca dalam keadaan dialer putar dengan menggunakan RC-timing. Dengan kata lain, chip PIC menghitung berapa kali kapasitor untuk melepaskan (yang berubah ketika resistansi ditambahkan).

Di situlah resistor 20K masuk. Menambahkan ini ke input memungkinkan perbedaan yang jelas antara sinyal dari koneksi sakelar putar tertutup dan terbuka.

Langkah 5: Merakit Kode

Merakit Kode
Merakit Kode

Untuk memprogram chip, saya menggunakan lingkungan pengembangan MBasic yang tersedia dari Basic Micro. MBasic, cukup sederhana, adalah variasi dari Basic yang dirancang untuk digunakan dengan chip PIC. Ini mudah diubah menjadi bahasa yang lebih universal (berguna). Kode ini pada dasarnya menentukan kapan seseorang telah memutar tombol dan kemudian melakukan deteksi tepi pada sinyal (menentukan transisi rendah-tinggi) hingga panggilan mundur ke keadaan awalnya. Setelah menghitung berapa kali ia mengukur transisi sinyal, ia kemudian mengedipkan LED sesuai dengan itu. Misalnya, jika Anda menekan 3, PIC akan menghitung tiga transisi rendah-tinggi dan kemudian mengedipkan LED 3 kali. LED, seperti yang mungkin telah Anda simpulkan, tidak diperlukan untuk pengoperasian ini dan hanya ada untuk memberi Anda umpan balik yang terlihat. Anda dapat mengganti perangkat output apa pun yang Anda anggap perlu. ********************* Berikut adalah beberapa kode: *********************CPU = 16F877MHZ = 20CONFIG 16254clicker var wordstartcountin var wordcountclicks var wordrepvar var wordclacker var wordlargefig var wordmain:countclicks = 0repvar = 0'set/reset valueshigh B2rctime B2, 1, startcountincountclicks = 0if startcountin > 10 lalu goto countmeup' cek untuk melihat pergi ke subrutin jika memiliki ke main'================countmeup:high B1rctime B1, 1, clacker'sets compare valuegoto countmeuploop'============ =====countmeuploop:high B1rctime B1, 1, clicker'checks counting valuelargefig = clacker + 100'menetapkan nilai untuk ambang yang akan lebih besar 'dari 0 tetapi lebih kecil dari nilai pin-high yang mungkin jika bigfig < clicker thencountclicks = countclicks + 1endif'menambahkan 1 nilai setiap kali transisi rendah ke tinggi dicatat tinggi B2rctime B2, 1, startcountinif startcountin < 10 maka jika countclicks > 0 thengoto blinkelsegoto mainendifendif'memeriksa untuk melihat apakah dial telah mundur kembali ke i status awal'jika ada dan nomor dipanggil, ia menuju ke rutin LED'jika tidak, jika tidak ada nomor yang dipanggil, ia pergi ke mainclacker = clicker'mengatur ulang nilai perbandingan ke nilai pin saat inigoto countmeuploop'tidak ada jeda SAMA SEKALI dalam rutinitas ini !'================Blinker:repvar = repvar + 1'menghitung setiap pengulangan rutin ini tinggi B3pause 1000low B3pause 1000'mengedipkan LEDjika repvar = menghitung klik lalurepvar = 0goto mainendif'jika pengulangan sama dengan berapa kali LED harus berkedip'lalu kembali ke rutinitas utama ke lampu tanda bahaya

Langkah 6: Pengujian

Pengujian
Pengujian

Jika Anda melakukan semuanya sama seperti saya, itu akan berhasil (lihat video).

Jika tidak berhasil, pastikan Anda menghubungkan semuanya dengan benar dan kode disalin dengan benar. Juga, pastikan bahwa resonator (atau kristal) Anda adalah 20 MHz. Jika Anda menulis kode Anda sendiri, pastikan tidak ada jeda dalam rutinitas yang memeriksa transisi rendah-tinggi.

Langkah 7: Melampaui

Melampaui
Melampaui

Cari tahu kegunaan lain untuk tombol putar selain mengedipkan LED.

Direkomendasikan: