Isi kandungan:

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, Jun
Anonim
Pemancar dan Penerima USB NEC Infra-Red
Pemancar dan Penerima USB NEC Infra-Red

Projek ini adalah hasil dari projek lain yang sedang saya jalankan dan kerana terdapat peraduan Remote Control 2017 mengenai Instructables, saya fikir saya menyiarkan projek ini. Oleh itu, jika anda menyukai projek ini, sila pilih. Terima kasih.

Seperti yang anda ketahui, saya peminat besar pengawal PIC Microchip 8-bit, lihat:

Saya menggunakan bahasa pengaturcaraan JAL kerana ia kelihatan seperti Pascal (yang saya juga suka). Penyusun JAL dan perpustakaan boleh dimuat turun dari: https://www.justanotherlanguage.org/downloads (tatal ke bawah untuk versi terbaru yang dikeluarkan).

Biasanya saya menulis semua kod sendiri untuk memahami sepenuhnya apa yang saya lakukan tetapi untuk projek ini, saya perlu menyambungkan PIC ke port USB PC dan oleh itu saya memerlukan pemacu bersiri USB JAL untuk pengawal PIC ini. Saya menggunakan pemacu bersiri USB dalam pakej muat turun JAL yang nampaknya berfungsi dengan baik. Oleh kerana pemacu bersiri USB ini ditulis untuk satu PIC tertentu, saya menggunakan PIC itu iaitu PIC18F14K50. Pengawal ini mempunyai fungsi yang jauh lebih banyak daripada yang saya perlukan untuk projek ini, jadi saya kini sedang dalam proses untuk mendapatkan pemacu USB ini menggunakan versi PIC yang lebih mudah, PIC16F1455, yang juga lebih murah.

Oleh itu, apakah projek ini? Dengan peranti yang disebutkan dalam Instruksional ini, Anda dapat mengirim dan menerima perintah Kontrol Jauh Infra Red dari dan ke PC anda melalui port USB menggunakan protokol NEC Infra-Red yang terkenal. Dengan cara ini anda dapat memantau arahan Infra-Red dan anda dapat mengawal mana-mana peranti yang menggunakan protokol Remote Control NEC Infra-Red. Projek ini menyahkod dan menerjemahkan mesej Infra-Red menjadi bait alamat dan bait arahan atau menjadi mesej berulang. Alamatnya - tentu saja - digunakan untuk mengatasi perangkat tertentu seperti TV atau Radio di mana bait arahan menunjukkan fungsi yang perlu dilakukan seperti Volume Naik, Volume Turun. Di sebelah penyahkodan pesan-pesan ini, mereka juga dapat dikirim melalui Infra-Red menggunakan perangkat ini.

Langkah 1: Beberapa Maklumat Mengenai Protokol Infra-Merah NEC

Beberapa Maklumat Mengenai Protokol Infra-Merah NEC
Beberapa Maklumat Mengenai Protokol Infra-Merah NEC

Pengenalan ringkas mengenai protokol ini. Protokol Kawalan Jauh Infra Red NEC digunakan dalam banyak peranti dan Alat Kawalan Jauh yang boleh anda beli. Ia memodulasi isyarat Infra Red pada pembawa 38 kHz dan menggunakan pengekodan jarak nadi untuk pengekodan ‘1’ dan ‘0’ logik. Protokol menggunakan pemeriksaan sederhana untuk melihat apakah mesej itu baik-baik saja dengan menghantar alamat dan bait arahan dan versi terbalik kedua-duanya dalam satu dan mesej yang sama dan memeriksa apakah ia sama setelah penerimaan. Apabila butang ditekan pada Alat Kawalan Jauh, ia akan menghantar mesej Infra Red lengkap dengan alamat dan perintah sekali. Menekan butang akan menyebabkan menghantar pesanan berulang yang lebih pendek tanpa alamat dan maklumat arahan. Masa pengulangan mesej yang dihantar sambil menekan butang tetap.

Maklumat lebih lanjut mengenai protokol NEC Infra Red misalnya boleh didapati di:

Langkah 2: Komponen yang Diperlukan

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

Anda perlu mempunyai komponen berikut untuk projek ini:

  • PIC mikrokontroler PIC18F14K50, lihat:
  • Kristal 12 MHz
  • Kapasitor seramik: 2 * 100nF, 1 * 220 nF, 2 * 18pF
  • Kapasitor elektrolitik 47 uF / 16V
  • Penerima Infra Merah TSOP4838, lihat:
  • Perintang: 2 * 33k, 1 * 4k7, 1 * 1k, 3 * 330 Ohm, 1 * 22 Ohm
  • LED: 2 * Infra Red, 1 Amber, 1 Green, 1 Red
  • Transistor BC640, lihat:
  • Pelompat (pilihan)
  • Penyambung USB

Lihat rajah skematik mengenai cara menyambungkan komponen. Saya menggunakan papan roti untuk projek ini seperti yang anda lihat dalam gambar dan video. Litar mendapat kuasa dari port USB PC.

Langkah 3: Perisian dan Pengoperasian Peranti

Seperti yang telah disebutkan, perisian ditulis untuk PIC18F14K50. Ia ditulis dalam JAL. Fail Intel Hex untuk memprogram PIC anda dilampirkan. Perisian ini menjalankan fungsi berikut:

  • Menyahkod mesej NEC Infra-Red dan hantar ke PC melalui USB. Mesej didekodkan dari aliran bit yang dihasilkan oleh penerima Infra-Red dan diterjemahkan ke alamat + pesanan pesanan atau mesej berulang.
  • Menghantar mesej NEC Infra Red yang diterima dari PC melalui USB. Perhatikan bahawa perisian juga menghasilkan frekuensi pembawa 38 kHz yang secara langsung menggerakkan LED Infra-Merah. Selari dengan Infra-Red LED, Amber LED disambungkan untuk menjadikan penghantaran mesej dapat dilihat.

Secara lalai litar ini akan mematikan penerima Infra-Red semasa penghantaran mesej Infra-Red. Sekiranya pelompat diletakkan pada kedudukan ‘Tidak Bersuara’, ia akan mematikan fungsi bisu ini. Dalam hal itu, pesan Infra-Red yang dikirimkan juga akan didekodekan selari dengan transmisi dan setelah penerimaan lengkap dikirimkan sebagai pesan Infra-Red yang diterima ke PC. Sekiranya mesej NEC Infra-Red yang sah diterima, LED Merah 'IR OK' akan menyala.

Untuk mengendalikan peranti ini, anda perlu mempunyai program Terminal Emulator pada PC anda. Saya menggunakan ‘Rayap’ untuk tujuan ini. Apabila peranti disambungkan ke PC, ia secara automatik akan dikenali sebagai port COM tambahan oleh Windows 10 kerana nampaknya terdapat pemacu Microchip untuk peranti ini pada Windows 10 yang telah dipasang sebelumnya. Tetapan untuk port COM ini adalah: 19200 baud 8 bit, 1 stop-bit, tanpa paritas dan menggunakan kawalan aliran RTS / CTS. Kadar baud boleh ditetapkan ke nilai lain jika diperlukan, maka kadar baud 115200 juga akan berfungsi. Setelah peranti dikonfigurasi melalui port USB dengan menyambungkannya melalui program Terminal Emulator, LED Hijau ‘Configured’ akan menyala.

Menerima mesej Infra-Red

Apabila mesej Infra-Red diterima, berikut akan dipaparkan dalam program Terminal Emulator:

  • ‘A: xx C: xx’ sekiranya terdapat mesej lengkap, di mana xx adalah nombor heksadesimal alamat (A) dan perintah (C). Nilai untuk kedua-duanya boleh berkisar antara 0x00 (0) hingga 0xFF (255).
  • 'Ulangi' sekiranya terdapat pesanan berulang.

Menghantar mesej Infra-Red

Untuk ini, saya perlu menentukan protokol yang memberitahu peranti apa yang harus dilakukan. Oleh kerana kami menggunakan Terminal Emulator, saya menggunakan watak ASCII untuk menentukan mesej. Protokol untuk menghantar arahan ke peranti menggunakan format berikut: ‘! AACCRR #’, di mana (semua watak tidak peka huruf besar-kecil):

  • ‘!’ Menunjukkan permulaan mesej.
  • ‘AA’ adalah nilai alamat dalam notasi heksadesimal sehingga ‘0’ hingga ‘9’ dan ‘A’ hingga ‘F’,
  • ‘CC’ adalah nilai perintah dalam notasi heksadesimal sehingga ‘0’ hingga ‘9’ dan ‘A’ hingga ‘F’
  • ‘RR’ adalah jumlah pesan berulang yang perlu dihantar dalam notasi heksadesimal sehingga ‘0’ hingga ‘9’ dan ‘A’ hingga ‘F’. Nilai ‘00’ bermaksud tiada mesej berulang dihantar.

Contoh mesej dengan alamat 0x07, perintah 0x05 dan 3 ulangan kemudian harus ditaip seperti berikut pada program Terminal Emulator:! 070503 #

Peranti mempunyai tindak balas yang berbeza setelah arahan dihantar dari PC:

  • ‘Y’ bermaksud bahawa mesej dihantar. Perhatikan bahawa respons ini diberikan setelah semua pesan - termasuk semua pengulangan - dikirimkan sehingga mungkin memerlukan beberapa saat sebelum respons ini diberikan ketika banyak pesan berulang perlu dikirimkan.
  • ‘N’ bermaksud bahawa terdapat watak tidak sah dalam mesej yang dihantar ke PC.
  • ‘B’ bermaksud transmisi Infra-Red masih sibuk ketika perintah itu diberikan.
  • ? '' Bermaksud bahawa peranti itu menjangkakan '!' Tetapi ia menerima sesuatu yang lain.

Langkah 4:

Saya membuat video pendek peranti dalam keadaan beraksi. Untuk video ini, saya menggunakan Lampu LED komersial dengan Alat Kawalan Jauhnya untuk melihat bahawa penghantaran dan penerimaan berfungsi. Video menunjukkan perkara berikut:

  • Mengkonfigurasi peranti USB dari program Terminal Emulasi. Apabila peranti dikonfigurasi, ia bertindak balas dengan mesej ‘USB NEC Infra Red Transmitter and Receiver’. Pada peranti LED Hijau dihidupkan menunjukkan bahawa peranti itu dikonfigurasi oleh PC.
  • Lampu dihidupkan dengan Alat Kawalan Jauh. Untuk ini Remote Control menggunakan alamat 0x00 dan perintah 0x07 yang disahkod oleh peranti dan ditunjukkan pada PC.
  • Lampu dimatikan dengan Alat Kawalan Jauh. Untuk ini Remote Control menggunakan alamat 0x00 dan perintah 0x06 yang disahkod oleh peranti dan ditunjukkan pada PC.
  • Lampu dihidupkan dengan mengetik arahan Alat Kawalan Jauh yang sama pada PC dengan nilai ulangan 0 (tanpa ulangan) jadi dengan menaip '! 000700 #'. Lampu menyala.
  • Menukar warna lampu menjadi biru dengan menggunakan alamat 0x00 dan perintah 0x0A dan menggunakan pengulangan 0x30. Amber Led, yang disambungkan selari dengan LED Infra Red berkelip menunjukkan penghantaran mesej berulang melalui Infra Red. Mesej yang ditaip adalah ‘! 000A30 #’.

Perhatikan bahawa semasa rakaman video ini, sambungan jumper ‘Unmute’ aktif sehingga anda juga dapat melihat pesan yang dihantar ‘! 000700 #’, diterima sebagai ‘A: 00 C: 07’ pada program Terminal Emulation. Dalam demo lampu pewarna biru, anda juga dapat melihat bahawa LED Merah menyala selagi mesej - ulangan - yang sah dihantar kerana ia diterima dan disahkod selari dengan penghantaran mesej berulang.

Selamat membina projek anda sendiri dan nantikan reaksi anda. Jangan lupa untuk memilih projek ini dalam peraduan Remote Control 2017 jika anda menyukainya. Terima kasih sekali lagi.

Disyorkan: