Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Komponen dan Perlengkapan

Aplikasi dan Layanan Online

Tentang Proyek Ini

Beberapa waktu lalu saya terjun ke dalam decoding remote inframerah AC dengan tujuan mengontrol pendingin udara melalui WIFI.

Saya belajar banyak hal dalam proses ini dan saya ingin membagikan pengetahuan itu dengan kalian semua jika bisa membantu Anda dalam proyek masa depan (masa depan saya: saya juga melihat Anda). Saya menggunakan Particle Photon tetapi Anda dapat memilih untuk menggunakan MCU yang berbeda karena IRremote Arduino Library (dari Ken Shirriff) yang digunakan dalam proyek ini mendukung banyak yang lain. Ini juga halaman resminya.

Ada banyak sekali informasi di halaman itu, pastikan untuk membaca beberapa untuk pemahaman mendalam tentang cara kerja sinyal IR, tetapi saya akan mereproduksi beberapa poin penting di bagian selanjutnya.

Beberapa latar belakang tentang kode IR

Berikut adalah transkripsi postingan asli penulis:

Remote IR bekerja dengan menyalakan dan mematikan LED dalam pola tertentu. Namun, untuk mencegah gangguan dari sumber IR seperti sinar matahari atau lampu, LED tidak dihidupkan secara konstan, tetapi dihidupkan dan dimatikan pada frekwensi modulasi (biasanya 36, 38, atau 40KHz). Waktu ketika sinyal ter-modulasi sedang dikirim akan disebut mark, dan ketika LED mati akan disebut space.

Setiap tombol pada remote memiliki kode tertentu (biasanya 12 hingga 32 bit) yang terkait dengannya, dan siaran kode ini saat tombol ditekan. Jika tombol ditekan tahan, remote biasanya secara berulang mengirimkan kode tombol. Untuk remote NEC, kode ulang khusus dikirim saat tombol ditekan tahan, daripada terus menerus mengirimkan kode. Untuk remote Philips RC5 atau RC6, bit dalam kode diubah setiap kali tombol ditekan; penerima menggunakan bit toggle ini untuk menentukan kapan tombol ditekan kalinya kedua.

Di sisi penerima, detektor IR mendemodulasi sinyal ini, dan mengeluarkan sinyal logika yang menunjukkan apakah menerima sinyal atau tidak. Detektor IR akan bekerja paling baik ketika frekvensinya cocok dengan frekwensi pengirim, tetapi dalam praktiknya tidak terlalu penting.

Anda sekarang siap untuk langkah berikutnya...

Bangun sirkuit penerima IR

Untuk mendekode sinyal inframerah, Anda perlu dioda penerima inframerah:

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Dan Anda membangun sirkuit penerima seperti yang dinyatakan dalam perpustakaan:

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Ini adalah pinout-nya:

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Breadboard saya akhirnya terlihat seperti ini:

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Untuk saat ini, fokuslah pada menghubungkan dioda penerima (yang hitam) dan lupakan tentang pengirim (yang transparan) - kita akan mengaturnya nanti.

Dekode beberapa sinyal IR

Karena proyek akan membuang kode yang diterima melalui baris serial, kita perlu menghubungkannya ke komputer. Nyalakan Photon dengan kabel USB dan hubungkan ke port USB komputer Anda. Sekarang akan menjadi waktu yang sangat baik untuk flash firmware yang dilampirkan.

Buka konsol atau terminal, dan gunakan Particle CLI untuk memonitor port USB.

CATATAN: Jika Anda belum menginstal Particle CLI, silakan lakukan dengan mengikuti dokumentasi di sini.

Di Ubuntu Linux, ini adalah apa yang harus saya ketik untuk memonitor port serial Photon:

$ sudo chmod 666 /dev/ttyACM0 $ particle serial monitor 

Bergantung pada komputer dan sistem operasi Anda, port mungkin memiliki nama yang berbeda dan/atau chmod mungkin tidak perlu dieksekusi.

CATATAN: Anda dapat menggunakan perangkat lunak lain untuk menerima data di port serial USB komputer Anda.

Setelah itu, Anda dapat mengarahkan remote yang ingin Anda dekode ke dioda penerima IR (komponen seperti LED hitam) Mulai menekan tombol pada remote dan periksa apa yang dicetak di konsol.

Jika semuanya berjalan baik Anda akan mendapatkan sesuatu seperti ini:

1FEA05F 29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550,END 3,3,2,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,END 

Perintah IR pertama yang kita dekode

Mari kita bicarakan tentang perintah IR yang diterima:

29168950,8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550,END 

Kita dapat membuang nilai pertama, 29168950 dalam hal ini, karena perpustakaan IR menyatakan: "the receive buffer starts with the duration of the gap space before the first mark". Kita tidak peduli dengan durasi itu, karena adalah waktu yang berlalu di antara pengujian kita, atau waktu yang Anda butuhkan untuk menekan tombol pada remote.

Oleh karena itu dari output yang diterima ini yang benar-benar menarik dan yang membentuk perintah IR:

8500,4050,500,1500,550,500,550,450,550,500,500,1550,500,500,550,500,500,500,550,500,500,500,550,450,550,500,550,1500,500,500,550,500,500,500,550,500,500,550,500,1500,550,1500,550,450,550,1500,550,500,500,1500,550,500,550,450,550,500,500,500,550,END 

Angka-angka ini mewakili durasi pulsa inframerah dalam mikrodetik. Jika kita ingin, kita dapat mengirim perintah ini dengan kode berikut:

function sendIt() { unsigned int ircommand[59]={8550,4000,550,1500,550,450,550,500,500,550,500,1550,500,500,500,500,550,500,500,500,550,500,500,500,550,500,500,1500,550,500,500,500,550,500,500,500,550,450,550,1500,550,1500,550,500,500,1500,550,500,550,1500,500,500,550,500,500,500,550,450,550}; irsend.sendRaw(ircommand,59,38); } 

Tetapi untuk itu, kita perlu membangun sirkuit pengirim. Mari kita lakukan selanjutnya.

Bangun sirkuit pengirim IR

Sirkuit paling sederhana terlihat seperti ini:

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Namun sirkuit ini hanya akan memberikan jarak kurang dari satu meter.

Jika bisa, rangsir sirkuit seperti di bawah ini untuk jarak yang lebih baik (sekitar 10 meter):

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Ini adalah sisi pengirim sirkuit saya:

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Uji coba sirkuit pengirim IR

Saya telah menambahkan beberapa fungsi dalam firmware untuk mengontrol volume pada TV Samsung. Ini adalah untuk Anda dapat menguji apakah sirkuit pengirim Anda bekerja dalam kasus Anda memiliki TV Samsung di sekitar.

Arahkan LED pengirim Anda ke TV dan tekan fungsi sendSamsungVolumeUp() dan sendSamsungVolumeDown().

CATATAN: Ingat bahwa Anda dapat menggunakan kamera ponsel Anda untuk memeriksa apakah LED IR sedang menyampaikan, karena IR akan muncul di sana:

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Membuat perintah IR lebih mudah dibaca

Jika kita mengidentifikasi nilai sekitar 500 dengan 0 dan 1500 dengan 1, pilihan ini bersifat sembrono, juga memberikan 3 untuk nilai di atas 5000 dan 2 untuk nilai sekitar 4000, kita akhirnya mendapatkan representasi berikut:

3,3,2,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,END 

Sekarang ingatlah bahwa dalam encoding yang sepenuhnya sembrono ini:

Mengapa encoding dalam angka, Anda mungkin tanya?

Ini membantu memvisualisasikan dan membandingkan perintah, saya harap. Dengan cara ini, lebih mudah untuk membandingkan pulsa yang berubah atau tetap sama di antara perintah yang berbeda.

Contoh: Anda ingin membandingkan apa yang berubah antara perintah untuk mengatur suhu ke 18 dan 19 derajat dalam kasus remote AC? Lebih mudah ketika Anda memiliki 1 dan 0.

Saya juga menyukai format ini untuk menyimpan perintah IR dalam kode firmware. Cukup ingat untuk mengonversinya ke pulsa segera sebelum menyampaikan (dengan memanggil fungsi convertToPulseDuration() dalam firmware).

Membaca sumber daya

Saya membaca banyak situs untuk dapat memahami topik ini. Berikut adalah daftar beberapa di antaranya:

Kesimpulan

Dengan sedikit kerja, sebuah MCU dan beberapa komponen Anda akan dapat mendekode dan mereplikasi banyak remote yang Anda miliki di rumah Anda. Dengan beberapa keterbatasan, ini dapat memungkinkan Anda untuk mengontrol semua perangkat tersebut dari ponsel, tablet, laptop, komputer Anda, dan bahkan membuat beberapa automasi sederhana untuk mereka. Keren, kan?

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Sekarang Anda dapat memikirkan untuk menambahkan Blynk, membuat aplikasi di Ionic Framework, berbicara dengannya dengan Google Now atau Alexa, atau mengontrolnya dengan Porter.

Saya berencana untuk menerapkan pengetahuan ini untuk mengontrol beberapa perangkat di sekitar rumah, dan saya berharap untuk membuat lebih banyak tulisan di masa depan. Tetaplah terhubung!

Update pada 5 Februari 2018:

Ini adalah satu implementasi dari proyek ini: sebuah placek inframerah yang dikontrol dari internet.

Butuh bantuan?

Jika Anda membutuhkan bantuan profesional dengan proyek Anda, jangan ragu untuk menulis saya tentang kebutuhan Anda di gusgonnet@gmail.com. Terima kasih!

Kode

infraredReplicator
the source codehttps://github.com/gusgonnet/infraredReplicator

Skematik

Replikator IR dengan Wi-Fi: Kontrol Perangkat dari Jarak Jauh

Proses manufaktur

  1. Bagaimana Gerbong Kereta Api Menjadi Aset IoT Cerdas dengan Sistem Pemantauan Kondisi Bosch
  2. Internet of Things dan 5G: Mendorong Masa Depan Kendaraan Terhubung
  3. Mengamankan Rumah Pintar: Mengapa Biometrik Esensial untuk Keamanan Siber IoT
  4. Internet of Things: Menjahit Dunia Terhubung
  5. Revolusi Pendidikan: Memanfaatkan IoT untuk Meningkatkan Pembelajaran dan Pengajaran
  6. Membuat Laser Tank Kendali Leap Motion – Arduino, Raspberry Pi, RGB LEDs
  7. UnifiedWater v1 – Kit Lengkap Sensor Kualitas Air Arduino
  8. Bangun Radio Internet Wi-Fi dengan Raspberry Pi dan Arduino: Streaming Stasiun Global
  9. Bagaimana Kompresor Udara Terkoneksi Mendorong Industry 4.0 dan IoT dalam Manufaktur Modern
  10. Episode 7: IoT & Industri 4.0 – Kompresor Cerdas Terhubung Dijelaskan