- Penjelasan Kerja:
- Menyahkod Isyarat Kawalan Jauh IR menggunakan Arduino:
- Penerangan Litar:
- Penerangan Kod:
Sebelumnya kami telah membahas banyak jenis automasi Rumah menggunakan teknologi yang berbeza seperti Automasi Rumah Berasaskan DTMF, Automasi Rumah Terkawal PC menggunakan Arduino, Automasi Rumah Terkawal Bluetooth. Dalam projek ini, kami menggunakan komunikasi tanpa wayar berasaskan IR untuk mengawal perkakas rumah. Dalam projek ini, Arduino digunakan untuk mengawal keseluruhan proses. Kami mengirim beberapa perintah ke sistem pengendalian dengan menggunakan alat kawalan jauh IR TV / DVD / MP3 untuk mengendalikan peralatan rumah AC. Setelah menerima isyarat dari alat kawalan jauh IR, Arduino menghantar isyarat yang berkaitan ke relay yang bertanggungjawab untuk menghidupkan atau mematikan perkakas rumah melalui pemacu relay.
Penjelasan Kerja:
Kerja projek ini mudah difahami. Apabila kita menekan mana-mana butang IR Remote maka jarak jauh akan menghantar kod dalam bentuk tren denyut yang dikodkan menggunakan frekuensi modulasi 38Khz. Nadi ini diterima oleh sensor TSOP1738 dan dibaca oleh Arduino dan kemudian Arduino menyahkodkan gelombang nadi yang diterima menjadi nilai heksa dan membandingkan nilai yang disahkod itu dengan nilai hex yang telah ditentukan dari butang yang ditekan. Sekiranya ada perlawanan, Arduino melakukan operasi relatif dan hasil yang sesuai juga dipaparkan pada LCD 16x2 dengan menggunakan perintah yang sesuai. Di sini, dalam projek ini kami telah menggunakan 3 mentol warna yang berbeza, untuk demonstrasi yang menunjukkan Kipas, Cahaya dan TV.
Terdapat banyak jenis Jarak Jauh IR yang tersedia untuk peranti yang berbeza tetapi kebanyakannya dikendalikan pada isyarat Frekuensi sekitar 38KHz. Di sini, dalam projek ini kita mengendalikan peralatan rumah tangga menggunakan alat kawalan jauh TV IR. Untuk mengesan isyarat jauh IR, kami menggunakan Penerima IR TSOP1738. Sensor TSOP1738 ini dapat merasakan isyarat Frekuensi 38Khz. Pengoperasian alat kawalan jauh IR dan TSOP1738 dapat dibahas secara terperinci dalam artikel ini: Pemancar dan Penerima IR
Komponen:
- Arduino UNO
- TSOP1738
- Jauh TV IR / DVD
- ULN2003
- Relay 5 volt
- Mentol dengan pemegang
- Menyambung wayar
- Papan roti
- LCD 16x2
- Bekalan kuasa
- PVT
- IC 7805
Di sini, dalam projek ini kami telah menggunakan butang nombor 7, 8 dan 9 dari remote IR, untuk mengendalikan Kipas, Cahaya dan TV masing-masing dan butang ON / OFF (butang Power) digunakan untuk menghidupkan dan mematikan semua peralatan secara serentak.
Di sini kami telah menggunakan kaedah beralih untuk ON dan OFF perkakas rumah tunggal. Kaedah togol tidak lain adalah untuk mendapatkannya sama ada butang ditekan walau tidak berkali-kali atau bilangan kali ganjil. Ini dijumpai dengan mendapatkan peringatan setelah membaginya dengan 2 (i% 2), jika terdapat beberapa peringatan maka peranti akan dihidupkan dan jika peringatan 0 maka ia akan dimatikan. Katakan Kekunci 7 ditekan pada alat kawalan jauh kemudian alat kawalan jauh menghantar isyarat ke Arduino melalui Penerima IR TSOP. Kemudian Arduino menyahkodnya dan menyimpan nilai yang dikodkan ke dalam pemboleh ubah hasil. Kini pemboleh ubah hasil mempunyai nilai hex 0x1FE00FF, setelah memadankannya dengan nilai hex yang telah ditentukan dari kunci 7 (lihat gambar di atas), Arduino menghidupkan Kipas. Sekarang apabila kita menekan kekunci yang sama (kunci 7) sekali lagi, IR akan menghantar kod yang sama. Arduino mendapat kod yang sama dan dipadankan dengan kod yang sama seperti sebelumnya tetapi kali ini Fan dimatikan kerana menukar bit (i% 2).
Menyahkod Isyarat Kawalan Jauh IR menggunakan Arduino:
Berikut adalah senarai kod output decoded jenis DVD NEC:
Sekiranya anda tidak mengetahui output Decoded untuk remote IR anda, ia dapat dijumpai dengan mudah, ikuti langkah-langkah berikut:
- Muat turun perpustakaan jauh IR dari sini
- Buka zip, dan letakkan di folder 'Perpustakaan' Arduino anda. Kemudian ganti nama folder yang diekstrak menjadi IRremote.
- Jalankan program di bawah dari Arduino anda dan buka tetingkap Serial Monitor di Arduino IDE. Sekarang tekan mana-mana butang IR Remote dan lihat output hex yang disahkod yang sesuai di tetingkap Serial Monitor.
* IRremote: IRrecvDemo - menunjukkan penerimaan kod IR dengan IRrecv * Pengesan / demodulator IR mesti disambungkan ke input RECV_PIN. * Versi 0.1 Julai 2009 * Hak Cipta 2009 Ken Shirriff * http://arcfn.com * / #include
Program di atas diambil dari folder 'contoh' perpustakaan IRremote, anda boleh melihat lebih banyak contoh untuk mengetahui lebih lanjut mengenai penggunaan alat kawalan jauh IR. Jadi itulah bagaimana kami menyahkod output jauh IR.
Penerangan Litar:
Sambungan litar ini sangat mudah di sini paparan kristal cecair digunakan untuk memaparkan status perkakas rumah yang disambungkan secara langsung ke arduino dalam mod 4-bit. Pin data LCD iaitu RS, EN, D4, D5, D6, D7 disambungkan ke pin digital arduino nombor 6, 7, 8, 9, 10, 11. Dan pin output TSOP1738 disambungkan secara langsung pada nombor pin digital 14 (A) Arduino. Dan pin Vcc disambungkan pin +5 volt dan pin GND disambungkan di terminal litar Ground. Pemacu relay iaitu ULN2003 juga digunakan untuk relay memandu. Relay 5 volt SPDT 3 digunakan untuk mengawal LIGHT, FAN dan TV. Dan geganti disambungkan ke pin arduino nombor 3, 4 dan 5 melalui pemacu relay ULN2003 masing-masing untuk mengawal LIGHT, FAN dan TV.
Penerangan Kod:
Dalam pengaturcaraan bahagian projek ini Pertama sekali dalam pengaturcaraan kami menyertakan perpustakaan untuk IR jarak jauh yang mudah didapati di Google. Dan tentukan pin dan nyatakan pemboleh ubah.
#sertakan
Dan kemudian sertakan tajuk untuk paparan kristal cair dan kemudian kami menentukan data dan pin kawalan untuk peralatan LCD dan rumah.
#sertakan
Selepas itu kita perlu menginisialisasi LCD dan memberikan arah pin yang digunakan untuk kipas, lampu dan TV.
persediaan tidak sah () {Serial.begin (9600); lcd.begin (16,2); pinMode (Kipas, OUTPUT); pinMode (Ringan, OUTPUT); pinMode (TV, OUTPUT);
Seperti yang telah dijelaskan, bahagian bawah kod digunakan untuk membandingkan nilai hex yang diterima dengan kod hex yang sudah ditentukan dari butang itu. Sekiranya sesuai, operasi relatif dilakukan dengan menggunakan fungsi yang sesuai yang diberikan dalam kod.
gelung void () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); kelewatan (100); lcd.setCursor (0,0); lcd.print ("Fan Light TV"); jika (hasil.value == 0x1FE00FF) {i ++; int x = i% 2; digitalWrite (Kipas, x);