Daftar Isi:

Pemancar dan Penerima Infra-Merah USB NEC: 4 Langkah (dengan Gambar)
Pemancar dan Penerima Infra-Merah USB NEC: 4 Langkah (dengan Gambar)

Video: Pemancar dan Penerima Infra-Merah USB NEC: 4 Langkah (dengan Gambar)

Video: Pemancar dan Penerima Infra-Merah USB NEC: 4 Langkah (dengan Gambar)
Video: Infra Red Receiver Universal Ide Kreatif DIY 2024, Juni
Anonim
Pemancar dan Penerima Infra-Merah USB NEC
Pemancar dan Penerima Infra-Merah USB NEC

Proyek ini adalah spin-off dari proyek lain yang sedang saya kerjakan dan karena ada kontes Remote Control 2017 di Instructables, saya pikir saya memposting proyek ini. Jadi jika Anda menyukai proyek ini, silakan pilih itu. Terima kasih.

Seperti yang Anda ketahui, saya penggemar berat pengontrol PIC Microchip 8-bit, lihat:

Saya menggunakan bahasa pemrograman JAL karena terlihat seperti Pascal (yang saya juga suka). Kompiler JAL dan perpustakaan dapat diunduh dari: https://www.justanotherlanguage.org/downloads (gulir ke bawah untuk versi terbaru yang dirilis).

Biasanya saya menulis semua kode sendiri untuk benar-benar memahami apa yang saya lakukan tetapi untuk proyek ini saya perlu menghubungkan PIC ke port USB pada PC dan jadi saya memerlukan driver serial USB JAL untuk pengontrol PIC ini. Saya menggunakan driver serial USB dalam paket unduhan JAL yang tampaknya berfungsi dengan baik. Karena driver serial USB ini ditulis untuk satu PIC tertentu, saya menggunakan PIC yang merupakan PIC18F14K50. Kontroler ini memiliki lebih banyak fungsi daripada yang saya butuhkan untuk proyek ini, jadi saat ini saya sedang dalam proses membuat driver USB ini bekerja pada versi PIC yang lebih sederhana, PIC16F1455, yang juga lebih murah.

Jadi untuk apa proyek ini? Dengan perangkat yang disebutkan dalam Instruksi ini, Anda dapat mengirim dan menerima perintah Remote Control Infra Merah dari dan ke PC Anda melalui port USB menggunakan protokol Infra-Red NEC yang populer. Dengan cara ini Anda dapat memantau perintah Infra-Red dan Anda dapat mengontrol perangkat apa pun yang menggunakan protokol Remote Control Infra-Red NEC. Proyek mendekode dan menerjemahkan pesan Infra-Red menjadi byte alamat dan byte perintah atau menjadi pesan berulang. Alamat – tentu saja – digunakan untuk mengalamatkan perangkat tertentu seperti TV atau Radio di mana byte perintah menunjukkan fungsi yang perlu dilakukan seperti Volume Naik, Volume Turun. Selain decoding pesan-pesan ini, mereka juga dapat dikirim melalui Infra-Red menggunakan perangkat ini.

Langkah 1: Beberapa Info Tentang Protokol Infra-Red NEC

Beberapa Info Tentang Protokol Infra-Merah NEC
Beberapa Info Tentang Protokol Infra-Merah NEC

Pengantar singkat untuk protokol ini. Protokol NEC Infra Red Remote Control digunakan di banyak perangkat dan Remote Control yang dapat Anda beli. Ini memodulasi sinyal Infra Merah pada pembawa 38 kHz dan menggunakan pengkodean jarak pulsa untuk pengkodean logis '1' dan logis '0'. Protokol menggunakan pemeriksaan sederhana untuk melihat apakah pesan tersebut OK dengan mengirimkan alamat dan byte perintah dan versi terbalik dari keduanya dalam satu dan pesan yang sama dan memeriksa apakah keduanya sama setelah penerimaan. Ketika sebuah tombol ditekan pada Remote Control, ia akan mengirimkan pesan Infra Merah lengkap dengan alamat dan perintah sekali. Menekan tombol akan menghasilkan pengiriman pesan berulang yang lebih pendek tanpa informasi alamat dan perintah. Waktu pengulangan pesan yang ditransmisikan sambil terus menekan tombol adalah tetap.

Informasi lebih lanjut tentang protokol Infra Red NEC misalnya dapat ditemukan di:

Langkah 2: Komponen yang Diperlukan

Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan

Anda harus memiliki komponen berikut untuk proyek ini:

  • PIC mikrokontroler PIC18F14K50, lihat:
  • Kristal 12 MHz
  • Kapasitor keramik: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Kapasitor elektrolit 47 uF/16V
  • Penerima Infra Merah TSOP4838, lihat:
  • Resistor: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
  • LED: 2 * Infra Merah, 1 Kuning, 1 Hijau, 1 Merah
  • Transistor BC640, lihat:
  • Pelompat (opsional)
  • Konektor USB

Lihat diagram skema tentang cara menghubungkan komponen. Saya menggunakan papan tempat memotong roti untuk proyek ini seperti yang Anda lihat di gambar dan di video. Sirkuit mendapatkan kekuatannya dari port USB PC.

Langkah 3: Perangkat Lunak dan Pengoperasian Perangkat

Seperti yang telah disebutkan, perangkat lunak ini ditulis untuk PIC18F14K50. Itu ditulis di JAL. File Intel Hex untuk memprogram PIC Anda terlampir. Perangkat lunak melakukan fungsi-fungsi berikut:

  • Decoding pesan Infra-Red NEC dan kirimkan ke PC melalui USB. Pesan didekodekan dari aliran bit yang dihasilkan oleh penerima Infra-Red dan diterjemahkan ke alamat + pesan perintah atau pesan berulang.
  • Mengirim pesan NEC Infra Red yang diterima dari PC melalui USB. Perhatikan bahwa perangkat lunak juga menciptakan frekuensi pembawa 38 kHz yang secara langsung menggerakkan LED Infra-Merah. Secara paralel dengan LED Infra-Merah, LED Kuning dihubungkan untuk membuat transmisi pesan terlihat.

Secara default sirkuit ini akan membisukan penerima Infra-Red selama transmisi pesan Infra-Red. Jika jumper ditempatkan pada posisi 'Unmute', itu akan menonaktifkan fungsi mute ini. Dalam hal ini pesan Infra-Red yang ditransmisikan juga akan didekodekan secara paralel dengan transmisi dan setelah penerimaan lengkap, pesan tersebut dikirim sebagai pesan Infra-Red yang diterima ke PC. Jika pesan NEC Infra-Red yang valid diterima, LED Merah 'IR OK' akan menyala.

Untuk mengoperasikan perangkat ini, Anda harus memiliki program Terminal Emulator di PC Anda. Saya menggunakan 'Rayap' untuk tujuan ini. Ketika perangkat terhubung ke PC, maka secara otomatis akan dikenali sebagai port COM tambahan oleh Windows 10 karena tampaknya ada driver Microchip untuk perangkat ini di Windows 10 yang sudah diinstal sebelumnya. Setting untuk COM port ini harus: 19200 baud 8 bit, 1 stop-bit, no parity dan menggunakan flow control RTS/CTS. Baud rate dapat diatur ke nilai lain jika diperlukan sehingga baud rate 115200 juga akan berfungsi. Setelah perangkat dikonfigurasi melalui port USB dengan menghubungkannya melalui program Terminal Emulator, LED Hijau 'Dikonfigurasi' akan menyala.

Menerima pesan Infra-Merah

Ketika pesan Infra-Red diterima, berikut ini akan ditampilkan di program Terminal Emulator:

  • 'A:xx C:xx' dalam kasus pesan lengkap, di mana xx adalah nomor heksadesimal dari alamat (A) dan perintah (C). Nilai untuk keduanya dapat berkisar dari 0x00 (0) hingga 0xFF (255).
  • 'Ulangi' jika ada pesan yang berulang.

Mengirim pesan Infra-Merah

Untuk ini saya perlu mendefinisikan protokol yang memberi tahu perangkat apa yang harus dilakukan. Karena kami menggunakan Emulator Terminal, saya menggunakan karakter ASCII untuk mendefinisikan pesan. Protokol untuk mengirim perintah ke perangkat menggunakan format berikut: ‘!AACCRR#’, di mana (semua karakter tidak peka huruf besar/kecil):

  • '!' menunjukkan awal pesan.
  • 'AA' adalah nilai alamat dalam notasi heksadesimal jadi '0' hingga '9' dan 'A' hingga 'F',
  • 'CC' adalah nilai perintah dalam notasi heksadesimal jadi '0' hingga '9' dan 'A' hingga 'F'
  • 'RR' adalah jumlah pesan berulang yang perlu ditransmisikan dalam notasi heksadesimal sehingga '0' hingga '9' dan 'A' hingga 'F'. Nilai '00' berarti tidak ada pesan berulang yang dikirim.

Contoh pesan dengan alamat 0x07, perintah 0x05 dan 3 pengulangan kemudian harus diketik sebagai berikut pada program Terminal Emulator: !070503#

Perangkat memiliki respons yang berbeda setelah perintah dikirim dari PC:

  • 'Y' berarti pesan telah dikirim. Perhatikan bahwa respons ini diberikan setelah semua pesan - termasuk semua pengulangan - ditransmisikan sehingga mungkin perlu beberapa saat sebelum respons ini diberikan ketika banyak pesan berulang perlu dikirimkan.
  • 'N' berarti ada karakter ilegal dalam pesan yang dikirim ke PC.
  • 'B' berarti transmisi Infra-Red masih sibuk saat perintah diberikan.
  • ?' berarti perangkat mengharapkan '!' tetapi menerima sesuatu yang lain.

Langkah 4:

Saya membuat video pendek tentang perangkat yang sedang beraksi. Untuk video ini saya menggunakan Lampu LED komersial dengan Remote Control untuk melihat transmisi dan penerimaan berfungsi. Video tersebut menunjukkan sebagai berikut:

  • Mengonfigurasi perangkat USB dari program Terminal Emulation. Saat perangkat dikonfigurasi, perangkat akan merespons dengan pesan 'Pemancar dan Penerima Infra Merah USB NEC'. Pada perangkat, LED Hijau menyala menunjukkan bahwa perangkat telah dikonfigurasi oleh PC.
  • Lampu dinyalakan dengan Remote Control. Untuk ini Remote Control menggunakan alamat 0x00 dan perintah 0x07 yang diterjemahkan oleh perangkat dan ditampilkan pada PC.
  • Lampu dimatikan dengan Remote Control. Untuk ini Remote Control menggunakan alamat 0x00 dan perintah 0x06 yang diterjemahkan oleh perangkat dan ditampilkan pada PC.
  • Lampu dinyalakan dengan mengetikkan perintah Remote Control yang sama di PC dengan nilai pengulangan 0 (tidak ada pengulangan) jadi dengan mengetik '!000700#'. Lampu menyala.
  • Mengubah warna lampu menjadi biru dengan menggunakan alamat 0x00 dan perintah 0x0A dan menggunakan pengulangan 0x30. Led Kuning, yang terhubung secara paralel dengan LED Infra Merah berkedip menunjukkan transmisi pesan berulang melalui Infra Merah. Pesan yang diketik adalah ‘!000A30#’.

Perhatikan bahwa selama perekaman video ini, sambungan jumper 'Bersuara' aktif sehingga Anda juga dapat melihat pesan yang dikirimkan '!000700#', yang diterima sebagai 'A:00 C:07' pada program Emulasi Terminal. Dalam demo warna biru lampu Anda juga dapat melihat bahwa LED Merah menyala selama valid – ulangi – pesan ditransmisikan sejak diterima dan diterjemahkan secara paralel dengan transmisi pesan berulang.

Bersenang-senang membangun proyek Anda sendiri dan menantikan reaksi Anda. Jangan lupa untuk memilih proyek ini dalam kontes Remote Control 2017 jika Anda menyukainya. Terima kasih lagi.

Direkomendasikan: