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

Replikator Inframerah Terhubung Internet

Komponen dan persediaan

Foton Partikel
× 1
Dioda Penerima IR Adafruit
× 1
Adafruit LED - Inframerah 950nm
× 1
Arduino UNO
× 1
Teensy 3.1
× 1
Teknologi Microchip ATmega328
× 1
Teknologi Microchip ATtiny85
× 1
Espressif ESP8266 ESP-01
× 1
Bluz DK
× 1
RedBear Duo
× 1

Aplikasi dan layanan online

porter

Tentang proyek ini

Beberapa waktu lalu saya melakukan decoding remote AC inframerah dengan tujuan untuk mengontrol AC melalui WIFI.

Saya belajar banyak hal di sepanjang jalan dan saya ingin berbagi pengetahuan itu dengan Anda semua jika itu dapat membantu Anda dalam proyek-proyek masa depan (masa depan-saya:Saya juga melihat Anda). Saya menggunakan Foton Partikel tetapi Anda dapat memilih untuk menggunakan MCU yang berbeda karena Perpustakaan Arduino IRremote (dari Ken Shirriff) yang digunakan dalam proyek ini mendukung banyak lainnya. Ini juga halaman resminya.

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

Beberapa latar belakang kode IR

Berikut ini adalah transkripsi dari postingan asli penulis:

Remote IR bekerja dengan menyalakan dan mematikan LED dalam pola tertentu. Namun, untuk mencegah interferensi dari sumber IR seperti sinar matahari atau lampu, LED tidak dinyalakan terus-menerus, tetapi dinyalakan dan dimatikan pada frekuensi modulasi (biasanya 36, ​​38, atau 40KHz). Waktu saat sinyal termodulasi sedang dikirim akan disebut tanda, dan saat LED mati akan disebut spasi.

Setiap tombol pada remote memiliki kode tertentu (biasanya 12 hingga 32 bit) yang terkait dengannya, dan menyiarkan kode ini saat tombol ditekan. Jika tombol ditekan, remote biasanya berulang kali menyiarkan kode kunci. Untuk remote NEC, kode ulangi khusus dikirim saat kunci ditekan, daripada berulang kali mengirim kode. Untuk remote Philips RC5 atau RC6, sedikit kode berubah setiap kali tombol ditekan; penerima menggunakan bit sakelar ini untuk menentukan kapan tombol ditekan untuk kedua kalinya.

Di sisi penerima, detektor IR mendemodulasi sinyal ini, dan mengeluarkan sinyal tingkat logika yang menunjukkan apakah ia menerima sinyal atau tidak. Detektor IR akan bekerja paling baik jika frekuensinya cocok dengan frekuensi pengirim, tetapi dalam praktiknya hal itu tidak terlalu berpengaruh.

Anda sekarang siap untuk langkah selanjutnya...

Bangun sirkuit penerima IR

Untuk memecahkan kode sinyal inframerah, Anda memerlukan dioda penerima inframerah:

Dan Anda membangun sirkuit penerima seperti yang dinyatakan di perpustakaan:

Ini pinoutnya:

Papan tempat memotong roti saya akhirnya terlihat seperti ini:

Untuk saat ini, fokus pada menghubungkan dioda penerima (yang hitam) dan lupakan pemancar (yang transparan) - kami akan mengurusnya nanti.

Dekode beberapa sinyal IR

Karena proyek akan membuang kode yang diterima melalui jalur serial, kita perlu menghubungkannya ke komputer. Nyalakan Foton dengan kabel USB dan sambungkan ke port USB komputer Anda. Sekarang adalah waktu yang tepat untuk mem-flash firmware yang terpasang.

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

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

Di Ubuntu Linux, ini yang harus saya ketik untuk memantau port serial Foton:

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

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

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

Setelah melakukannya, Anda dapat mengarahkan remote yang ingin Anda dekode ke dioda penerima IR (komponen serupa LED hitam) Mulai tekan tombol di atasnya dan periksa apa yang tercetak di konsol.

Jika semuanya berjalan dengan baik, Anda akan mendapatkan sesuatu seperti ini:

1FEA05F29168950,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,550,150,1500,550 ,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  
  • Baris pertama (1FEA05F) dan baris ketiga:lupakan saja untuk saat ini
  • Baris kedua:baris ini mencetak perintah IR yang dikirim oleh remote

Perintah IR pertama kami yang didekode

Mari kita bicara 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. 

Kita dapat membuang nilai pertama, 29168950 dalam kasus ini, karena perpustakaan IR menyatakan sebagai berikut:"buffer penerimaan dimulai dengan durasi ruang celah sebelum tanda pertama ". Kami tidak peduli dengan durasi itu, karena merupakan waktu yang berlalu di antara pengujian kami, atau waktu yang Anda perlukan untuk menekan tombol di remote.

Maka dari output yang diterima inilah yang sangat menarik dan apa 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,550,550,550 

Angka-angka tersebut mewakili durasi pulsa inframerah dalam mikrodetik. Jika kita mau, kita bisa mengirimkan 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,550,500,500. ,500,500,550,500,500,500,550,450,550}; irsend.sendRaw(ircommand,59,38); } 

Tetapi untuk itu, kita perlu membangun sirkuit pemancar. Ayo lakukan selanjutnya.

Bangun sirkuit pemancar IR

Rangkaian paling sederhana terlihat seperti ini:

Namun sirkuit ini hanya akan memberi Anda jangkauan kurang dari satu meter.

Jika Anda bisa, sambungkan sirkuit seperti ini di bawah ini untuk jangkauan yang lebih baik (sekitar 10 meter):

Ini adalah sisi pemancar dari sirkuit saya:

Menguji sirkuit pemancar IR

Saya telah menambahkan beberapa fungsi dalam firmware untuk mengontrol volume pada TV Samsung. Ini agar Anda dapat menguji apakah sirkuit pemancar berfungsi jika Anda memiliki TV Samsung.

Arahkan saja LED pemancar ke TV dan tekan fungsi sendSamsungVolumeUp() dan sendSamsungVolumeDown().

CATATAN: Ingatlah bahwa Anda dapat menggunakan kamera ponsel untuk memeriksa apakah LED IR memancarkan, karena IR muncul di sana:

Membuat perintah IR lebih mudah dibaca

Jika kita mengidentifikasi nilai sekitar 500 dengan 0 dan 1500 dengan 1, pemilihan ini bersifat arbitrer, juga menetapkan 3 ke nilai di atas 5000 dan 2 ke nilai sekitar 4000, kita akan 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 ingat bahwa dalam pengkodean yang benar-benar arbitrer ini:

  • 3 berarti pulsa 8500 mikrodetik
  • 2 berarti pulsa 4000 mikrodetik
  • 1 berarti pulsa 1500 mikrodetik
  • 0 berarti pulsa 500 mikrodetik

Mengapa pengkodean dalam angka, Anda mungkin bertanya?

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

Contoh:Anda ingin membandingkan perubahan apa antara perintah untuk mengatur suhu ke 18 dan 19 derajat dalam hal remote control AC? Lebih mudah jika Anda memiliki 1 dan 0.

Saya juga menyukai format ini untuk menyimpan perintah IR dalam kode firmware. Ingatlah untuk mengonversinya menjadi pulsa tepat sebelum mengirim (dengan memanggil fungsi convertToPulseDuration() di firmware).

Sumber bacaan

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

  • Merekayasa balik protokol remote control IR AC
  • Menggunakan remote sewenang-wenang dengan arduino IRremote library
  • utas ini di komunitas Partikel
  • Memahami Protokol IR dari Remote AC
  • blog ini di adafruit

Kesimpulan

Dengan beberapa pekerjaan, MCU dan beberapa komponen Anda akan dapat memecahkan kode dan mereplikasi banyak remote yang Anda miliki di sekitar rumah Anda. Dengan beberapa batasan, ini memungkinkan Anda untuk mengontrol semua perangkat tersebut dari ponsel, tablet, laptop, komputer, dan bahkan membuat beberapa otomatisasi sederhana untuk perangkat tersebut. Keren ya?

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

Saya berencana menerapkan pengetahuan ini untuk mengontrol beberapa perangkat di sekitar rumah, dan saya berharap dapat membuat lebih banyak artikel di masa mendatang. Tetap disini!

Pembaruan pada 5 Februari 2018:

Berikut salah satu implementasi proyek ini:perapian inframerah yang dikendalikan dari internet.

Butuh bantuan?

Jika Anda memerlukan bantuan profesional dengan proyek Anda, jangan ragu untuk menulis kepada saya tentang kebutuhan Anda di [email protected]. Terima kasih!

Kode

replikator inframerah
kode sumberhttps://github.com/gusgonnet/infraredReplicator

Skema


Proses manufaktur

  1. Bagaimana gerbong barang terhubung ke internet
  2. Internet of Things dan peran 5G dalam kendaraan yang terhubung
  3. Keamanan siber dan Internet of Things:Waktunya untuk biometrik?
  4. Internet of Things:Web of Connected World
  5. Bagaimana Kita Dapat Mempermudah Pendidikan dengan Internet of Things?
  6. Tank Laser Leap Motion!
  7. UnifiedWater v1
  8. Radio Internet Pi-Arduino
  9. Kompresor Udara Terhubung, Industri 4.0 dan Internet of Things
  10. Udara dan Gas Terkompresi A-Z Vlog:IOT, Internet 4.0, dan Kompresor Terhubung