Iklan

Sembunyikan ini di ruang tamu Anda dan tertawa ketika kotak TiVo tampaknya dimiliki oleh setan yang menuntut untuk menonton saluran belanja murahan. Apakah tujuan utama Anda adalah mematikan setiap TV di lingkungan atau membangun universal Remote yang dikontrol oleh Siri, proyek ini berfungsi sebagai titik awal yang bagus untuk mempelajari dasar-dasar kontrol IR dan penerima.

Dalam "lelucon" ini, kami akan membuat perangkat yang merekam, lalu memutar ulang, serangkaian perintah jarak jauh IR. Ini akan bekerja dengan perangkat apa pun yang menggunakan remote control IR, atau bahkan campuran perangkat sekaligus - merekam hingga 10 penekanan tombol.

Komponen

Berikut daftar hal-hal yang Anda perlukan untuk proyek ini:

  • Arduino dan kabel patch
  • Penerima IR, seperti TSOP382 - tetapi Anda harus dapat menemukan yang kompatibel dalam elektronik lama. Saya mengeluarkan milik saya dari pengontrol pencahayaan RGB cadangan. Mereka biasanya memiliki 3 kaki dan berwarna hitam, dengan satu sisi tampak seperti LED yang dipotong menjadi dua dan menempel. Saya yakin ada kata teknis untuk itu.
  • instagram viewer
  • LED pemancar IR, seperti TIL38 - sekali lagi, ini sangat umum, tetapi saya membeli yang daya tinggi baru dari Maplin; mereka terlihat identik dengan LED lain, jadi pastikan untuk tidak membuatnya tercampur dalam kit elektronik Anda!
  • Resistor yang sesuai untuk LED IR Anda - gunakan ini Kalkulator LED diberikan tegangan suplai (5 V dari Arduino), dan tegangan maju dan arus dari lembar data LED (biasanya sekitar 1,2 V @ 20 mA). Ini keluar sebagai 220 ohm dalam kasus saya.
  • Tombol, dan pull-down 10k dan resistor 100 ohm.
  • Unduh Perpustakaan jarak jauh IR oleh Ken Shirriff dari Github dan tempatkan di Arduino / Perpustakaan map. Ada juga beberapa contoh kode yang akan kami gunakan yang kemudian dapat diakses dari Arduino Buka -> Perpustakaan Tidak bisa.
komponen

Pengkabelan

Atasi sirkuit ini dalam tiga bagian - sakelarnya agak cerewet, tetapi yang lainnya mudah. Ingat kaki pendek dari LED dengan wajah datar adalah katoda (negatif atau tanah); kaki panjang adalah anoda (positif).

sirkuit-diagram-ir-prank

Menerima Sinyal

Silakan buka perpustakaan / IRremote / IRrecvDemo contoh kode. Pastikan RECV_Pin diatur dengan benar, kompilasi dan unggah, kemudian buka konsol Serial pada 9600 baud. Raih kendali jarak jauh yang Anda miliki, arahkan ke penerima Anda dan mulai menekan tombol. Tombol yang berbeda akan menghasilkan kode yang berbeda; beberapa akan menunjukkan pers lama dengan kode awal itu FFFFFF, sementara remote yang berbeda mungkin hanya mengulangi kode lagi.

irrecv

Untuk tampilan lebih detail dari data yang diterima, lihat IRrecvDump Contohnya, yang akan menunjukkan kedua jenis sinyal yang diterima (NEC 32-bit dalam kasus ini), dan nilai mentah. Baik untuk diketahui, tetapi dalam sebagian besar kasus, Anda hanya ingin nilai yang diterjemahkan.

irdump

Mengulangi Sinyal

Kami tidak akan menulis lelucon kami hari ini dari awal, jadi silakan dan periksa IRCatatan contoh. Kompleksitas kode sangat meningkat di sini, tetapi sebagian besar untuk mengatasi menangani berbagai jenis kode IR - pada dasarnya, inilah yang terjadi di dalam loop:

  • Periksa tombol yang ditekan, putar ulang sinyal yang disimpan saat ini jika itu dan ulangi setiap 50 ms sampai tertekan.
  • Jika tidak ditekan dan sinyal terdeteksi, catat itu.

Keterbatasan terbesar dari contoh ini adalah ia hanya bekerja dengan satu kode pada satu waktu, jadi jika Anda menekan tombol remote lain, itu akan menimpa yang terakhir. Tombol hanya memutar ulang sinyal terakhir yang diterimanya. Kompilasi dan jalankan kode sehingga Anda dapat mencoba repeater sinyal dasar ini. Untuk memutar ulang sinyal tunggal, ini berfungsi dengan baik, tetapi itu tidak banyak berguna secara praktis dalam lelucon atau sebaliknya.

Prank!

Mari kita modifikasi sedikit untuk merekam 10 atau lebih sinyal nakal. Anda dapat menemukan kode modifikasi penuh di sini, tapi di sini adalah garis besar dari perubahan yang saya buat jika Anda ingin memrogram ini sendiri:

  • Tentukan 3 array baru ukuran 10 untuk menyimpan satu set sinyal setiap kali terdeteksi, dan integer untuk menyimpan ukuran array tersebut.
  • Simpan indeks di mana kita saat ini berada dalam array itu. Tambah indeks setiap kali sinyal terdeteksi - tetapi jangan naik jika sinyal tersebut adalah kode berulang.
  • Nilai boolean yang berhenti lebih banyak direkam setelah kami mencapai maksimum.
  • Boolean untuk menunjukkan apakah kita dalam mode pemutaran atau tidak, daripada harus menahan tombol; juga memodifikasi logika tombol untuk beralih ini.

Perhatikan bahwa LED indikator pada Arduino (pin 13) akan aktif setelah memori penuh. Saat ini, Anda harus merekam 10 penekanan tombol - tidak kurang - dan mode replay akan menunggu 1 detik antara setiap replay tombol. Ini dia sedang beraksi:

Anda bisa bermain dengan membuat lebih banyak prank IR, atau menganggap ini sebagai awal yang baik pada epik yang lebih proyek otomatisasi rumah Panduan Otomatisasi Rumah Dengan Raspberry Pi dan ArduinoPasar otomatisasi rumah dibanjiri dengan sistem konsumen yang mahal, tidak kompatibel satu sama lain dan mahal untuk dipasang. Jika Anda memiliki Raspberry Pi dan Arduino, Anda pada dasarnya dapat mencapai hal yang sama di ... Baca lebih banyak ; dan jangan lupa untuk memeriksa yang lainnya Proyek Arduino. Bagikan kreasi (atau masalah) Anda di komentar, dan harap tunjukkan penghargaan Anda untuk artikel ini dengan membagikannya di jejaring sosial favorit Anda!

Kredit gambar: DaGoaty

James memiliki gelar BSc dalam Artificial Intelligence, dan bersertifikat CompTIA A + dan Network +. Dia adalah pengembang utama MakeUseOf, dan menghabiskan waktu luangnya bermain VR paintball dan boardgames. Dia telah membangun PC sejak dia masih kecil.