Sirkuit Remote Control IR Arduino

Coba Instrumen Kami Untuk Menghilangkan Masalah





Dalam posting ini kita akan membuat saklar remote control nirkabel berbasis Arduino berbasis IR (inframerah) yang dapat disesuaikan, yang terdiri dari remote IR dan penerima, Anda dapat memodifikasi sesuai dengan kebutuhan Anda. Di bagian selanjutnya dari artikel ini, kita mempelajari tentang versi remote control IR yang sangat mudah diperbaiki yang hanya akan merespons ke frekuensi yang ditetapkan secara unik.

Jika Anda berada di atas level pemula, Anda dapat melakukannya dengan mudah. Sirkuit yang diusulkan yang diilustrasikan di sini hanya memiliki tiga kontrol pada remote dan 3 relai pada ujung penerima. Anda dapat memodifikasi kode dan diagram sirkuit untuk memenuhi kebutuhan Anda.



Anda memerlukan dua papan Arduino, yang berfungsi sebagai remote dan satu lagi sebagai penerima. Saya akan merekomendasikan Arduino pro mini untuk proyek ini, karena ukurannya cukup kecil dan ukuran keseluruhan remote dapat diabaikan.

Anda dapat menggunakan Arduino pro mini berbasis 3.3V untuk remote sehingga Anda dapat menggunakan dua sel tombol atau dua baterai ukuran AA, sesuai dengan kebutuhan Anda.



Sirkuit pemancar IR memiliki 3 tombol tekan dan satu LED IR untuk mengirim perintah ke penerima. Setiap tombol telah diprogram dengan kode heksadesimal yang unik, kode heksadesimal yang sama juga diprogram di sisi penerima.

Ketika sebuah tombol ditekan, LED IR mengirimkan kode heksadesimal ke penerima, penerima akan mengenali tombol mana yang ditekan dan itu mengubah relai yang sesuai ON / OFF.

Remote yang diusulkan menggunakan protokol RC5 untuk berkomunikasi dengan penerima, Anda dapat mengubah segalanya dengan memodifikasi kode.

Jika Anda baru pemula di Arduino, Anda masih dapat melakukannya cukup ikuti diagram dan unggah kode tanpa memodifikasi.

Sirkuit dan program:

Pemancar Jarak Jauh Arduino:

Sirkuit Remote Control IR Foolproof

Rangkaian di atas menggambarkan bagaimana membangun pemancar jarak jauh Arduino IR.

Tiga resistor 10K adalah resistor pull down, yang mencegah pemicuan remote secara tidak sengaja karena muatan statis dan resistor pembatas arus 220ohm digunakan untuk LED IR.

Program untuk Pemancar Jarak Jauh:

//---------Program developed by R.Girish--------//
#include
IRsend irsend
const int button1 = 4
const int button2 = 5
const int button3 = 6
void setup() {
pinMode(button1, INPUT)
pinMode(button2, INPUT)
pinMode(button3, INPUT)
}
void loop()
{
if (digitalRead(button1) == HIGH)
{
delay(50)
irsend.sendRC5(0x80C, 32)
delay(200)
}
if (digitalRead(button2) == HIGH)
{
delay(50)
irsend.sendRC5(0x821, 32)
delay(200)
}
if (digitalRead(button3) == HIGH)
{
delay(50)
irsend.sendRC5(0x820, 32)
delay(200)
}
}
//---------Program developed by R.Girish--------//

Penerima Arduino:

Rangkaian penerima IR Arduino seperti gambar diatas terdiri dari Sensor TSOP1738 beberapa transistor, resistor pembatas arus untuk transistor, relai dan dioda untuk menyerap lonjakan tegangan tinggi dari kumparan relai.

Diagram sirkuit sudah cukup jelas.

Program untuk penerima Arduino:

//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x80C // code received from button A
#define output2 0x821 // code received from button B
#define output3 0x820 // code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

Dengan mengikuti penjelasan di atas Anda dapat mencapai tiga kontrol, jika Anda ingin menambahkan lebih banyak kontrol dan relay, Anda perlu mengedit kode dan diagram sirkuit.

Anda dapat menetapkan output dan input untuk pin yang tidak digunakan di penerima dan remote dalam program dan menghubungkan jumlah transistor dan relai untuk masing-masing pin di penerima dan juga menghubungkan jumlah sakelar dan menarik resistor di remote.

Anda dapat menggunakan kode heksadesimal acak untuk menetapkan lebih banyak tombol.

Contoh: 0xA235, 0xFFFF, 0xBA556 dan seterusnya. Dan juga tambahkan nilai heksadesimal yang sama di kode penerima juga. Misalnya: #define output4 0xA235, #define outout5 0xFFFF dan seterusnya.

Membuat Remote Control IR dengan Frekuensi Unik

Pada bagian di atas kita mempelajari tentang remote control IR sederhana yang akan bekerja dengan pemancar jarak jauh IR apa pun.
Pada artikel berikut, kita akan mempelajari cara membuat versi yang ditingkatkan dari konsep di atas untuk kontrol peralatan rumah tangga yang sangat mudah menggunakan mikrokontroler arduino, yang akan bekerja dengan frekuensi unik dan tidak pernah beroperasi dengan handset IR umum.

Remote Control IR Foolproof

Sirkuit ini dapat menghidupkan / mematikan gadget Anda menggunakan tombol remote TV yang tidak digunakan atau remote lain yang tidak terpakai yang mungkin ada di dalam kotak sampah Anda selama berabad-abad.

Moto proyek ini adalah untuk membantu orang-orang dengan keterbatasan fisik, dan membantu mereka mengakses tombol ON / OFF peralatan rumah tangga dasar seperti kipas angin atau lampu secara mandiri.

Tujuan kedua adalah untuk memungkinkan pengguna mengontrol gadget 'Seperti bos' tanpa harus berpindah dari posisinya saat ini.

Rangkaian ini menggunakan komunikasi berbasis IR tradisional antara pemancar dan penerima.

Sirkuit ini adalah sen persen sangat mudah untuk remote IR lain, dan sumber IR lain dan kurang rentan terhadap kesalahan.

Masalah utama dengan berbasis non-mikrokontroler Sirkuit remote control IR , yang ditemukan di sekitar internet, adalah ia dapat MENGAKTIFKAN / MENONAKTIFKAN dengan remote berbasis IR dan hanya dapat mengontrol satu perangkat dalam sekejap dan juga lebih rentan terhadap kesalahan.

Sirkuit ini mengatasi masalah yang ditentukan di atas, dan kami bisa mengontrol beberapa gadget pada satu remote dan tetapkan kunci untuk gadget tertentu.

Sebelum melanjutkan proyek ini, Anda perlu mengunduh file perpustakaan untuk arduino dari tautan ini dan ikuti instruksi yang diberikan di bawah ini: github.com/z3t0/Arduino-IRremote

Instruksi:

1) Klik tombol 'klon atau unduh' dari tautan yang diberikan dan tekan 'Unduh ZIP'.

2) Ekstrak file dan pindahkan folder 'IRremote' ke folder perpustakaan Arduino Anda.

3) Hapus folder 'RobotIRremote' dari perpustakaan Arduino Anda. 'RobotIRremote' memiliki definisi serupa dari library 'IRremote' yang bentrok dan tidak dapat mengupload kode ke Arduino jadi, penghapusan / penghapusan adalah wajib.

Dengan menduplikasi instruksi di atas, perangkat lunak Arduino IDE Anda siap untuk setiap / sebagian besar proyek berbasis IR.

Tetapkan kunci untuk remote:

Di remote TV kami, setiap tombol memiliki kode heksadesimal unik, yang digunakan untuk mengenali tombol mana yang ditekan untuk suatu operasi. Sebelum mengunggah kode terakhir ke Arduino, Anda perlu menemukan kode heksadesimal untuk kunci Anda.

Untuk melakukan ini, buat sirkuit berikut di papan tempat memotong roti dan ikuti instruksinya.

1) Buka Arduino IDE dan unggah kode contoh 'IRrecv Demo'

2) Buka monitor serial dan tekan tombol pada remote yang ingin Anda gunakan.

Anda akan melihat kode heksadesimal muncul segera setelah Anda menekan tombol. Itu adalah kode heksadesimal untuk kunci tersebut.

3) Lakukan hal yang sama untuk dua kunci lainnya (3 kunci diberikan dalam proyek ini untuk mengendalikan 3 perangkat)

· Kami akan menggunakan kode heksadesimal ini di program utama dan mengunggahnya ke arduino.

Program:
//-----------------Program developed by R.Girish-----------//
#include
int input = 11
int op1 = 8
int op2 = 9
int op3 = 10
int intitial1
int intitial2
int intitial3
IRrecv irrecv(input)
decode_results dec
#define output1 0x111 // place your code received from button A
#define output2 0x112 // place your code received from button B
#define output3 0x113 // place your code received from button C
void setup()
{
irrecv.enableIRIn()
pinMode(op1,1)
pinMode(op2,1)
pinMode(op3,1)
}
void loop() {
if (irrecv.decode(&dec)) {
unsigned int value = dec.value
switch(value) {
case output1:
if(intitial1 == 1) {
digitalWrite(op1, LOW)
intitial1 = 0
} else {
digitalWrite(op1, HIGH)
intitial1 = 1
}
break
case output2:
if(intitial2 == 1) {
digitalWrite(op2, LOW)
intitial2 = 0
} else {
digitalWrite(op2, HIGH)
intitial2 = 1
}
break
case output3:
if(intitial3 == 1) {
digitalWrite(op3, LOW)
intitial3 = 0
} else {
digitalWrite(op3, HIGH)
intitial3 = 1
}
break
}
irrecv.resume()
}
}
//--------------Program developed by R.Girish-----------//

CATATAN:

Dalam program:

#define output1 0x111 // tempatkan kode Anda yang diterima dari tombol A

#define output2 0x111 // tempatkan kode Anda yang diterima dari tombol B

#define output3 0x111 // tempatkan kode yang Anda terima dari tombol C

· Tempatkan 3 kode unik Anda dari remote di tempat 111, 112, dan 113 ini dan unggah kodenya. Kode heksadesimal akan dari 0 hingga 9 dan A ke F, misalnya: 20156, 26FE789, FFFFFF.

· Letakkan kode Anda dengan “0x” (nol x).

Diagram sirkuit:

· Menekan tombol akan membuat relai ON dan dengan menekannya lagi akan mematikan relai.




Sepasang: Pengusir Nyamuk Alami Menggunakan Resistor Watt Tinggi Berikutnya: Sirkuit Detektor Logam Tanah Dalam - Pemindai Tanah