Litar Kawalan Jauh Arduino IR

Litar Kawalan Jauh Arduino IR

Dalam catatan ini, kami akan membina suis kawalan jauh tanpa wayar berasaskan IR (inframerah) Arduino yang disesuaikan, yang terdiri daripada alat kawalan jauh IR dan penerima, anda boleh ubah mengikut keperluan anda. Pada bahagian akhir artikel, kita belajar mengenai versi alat kawalan jauh IR yang diperbaiki yang boleh ditanggapi hanya untuk frekuensi yang diberikan secara unik.



Sekiranya anda berada di atas tahap pemula, anda boleh mencapainya dengan mudah. Litar yang dicadangkan yang digambarkan di sini hanya mempunyai tiga kawalan pada alat kawalan jauh dan 3 geganti pada hujung penerima. Anda boleh mengubah kod dan gambarajah litar untuk memenuhi keperluan anda.

Anda memerlukan dua papan Arduino, yang berfungsi sebagai alat kawalan jauh dan yang lain sebagai penerima. Saya akan mengesyorkan Arduino pro mini untuk projek ini, kerana ukurannya cukup kecil dan ukuran keseluruhan alat kawalan jauh dapat diabaikan.





Anda mungkin menggunakan Arduino pro mini berbasis 3.3V untuk alat kawalan jauh sehingga anda dapat dihidupkan dengan dua sel butang atau dua bateri bersaiz AA, sesuai dengan keperluan anda.

Litar pemancar IR mempunyai 3 butang push to on dan LED IR untuk menghantar perintah ke penerima. Setiap butang telah diprogram dengan kod heksadesimal yang unik, kod heksadesimal yang sama diprogramkan di sisi penerima juga.



Apabila butang ditekan, LED IR akan menghantar kod heksadesimal kepada penerima, penerima akan mengenali butang mana yang ditekan dan ia menghidupkan / mematikan geganti yang sesuai.

Alat kawalan jauh yang dicadangkan menggunakan protokol RC5 untuk berkomunikasi dengan penerima anda boleh mengubah segalanya dengan mengubah kod.

Sekiranya anda baru pemula di Arduino, anda masih boleh mencapainya ikuti rajah dan muat naik kodnya tanpa mengubah suai.

Litar dan program:

Pemancar Jauh Arduino:

Litar Kawalan Jauh IR Foolproof

Litar di atas menggambarkan cara membina pemancar jarak jauh Arduino IR.

Ketiga perintang 10K adalah perintang tarik ke bawah, yang menghalang pemicu alat kawalan jauh secara tidak sengaja kerana cas statik dan perintang penghad arus 220ohm digunakan untuk LED IR.

Program untuk Pemancar 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:

Litar penerima IR Arduino seperti yang ditunjukkan di atas terdiri daripada Sensor TSOP1738 beberapa transistor, perintang had semasa untuk transistor, relay dan diod untuk menyerap lonjakan voltan tinggi dari gegelung geganti.

Gambarajah litar adalah 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 menyelesaikan tiga kawalan, jika anda ingin menambahkan lebih banyak kawalan dan relay, anda perlu mengedit kod dan gambarajah litar.

Anda boleh menetapkan output dan input untuk pin yang tidak digunakan di penerima dan alat kawalan jauh dalam program dan menyambungkan bilangan transistor dan relay untuk pin masing-masing di penerima dan juga menyambungkan bilangan suis dan menolak perintang di jauh.

Anda boleh menggunakan kod heksadesimal rawak untuk memberikan lebih banyak bilangan butang.

Contohnya: 0xA235, 0xFFFF, 0xBA556 dan sebagainya. Dan tambahkan juga nilai heksadesimal yang sama dalam kod penerima. Contohnya: #define output4 0xA235, #define outout5 0xFFFF dan sebagainya.

Membuat Kawalan Jauh IR dengan Frekuensi Unik

Pada bahagian di atas, kami belajar mengenai alat kawalan jauh IR sederhana yang akan berfungsi dengan pemancar jarak jauh IR apa pun.
Dalam artikel berikut, kita akan belajar bagaimana membuat versi yang lebih baik dari konsep di atas untuk kawalan peralatan rumah yang sangat mudah menggunakan mikrokontroler arduino, yang akan berfungsi dengan frekuensi yang unik dan tidak akan beroperasi dengan telefon bimbit IR biasa.

Alat Kawalan Jauh IR Foolproof

Litar ini dapat menghidupkan / mematikan alat anda menggunakan butang alat kawalan jauh TV atau alat kawalan jauh yang tidak digunakan yang mungkin sudah lama berada di kotak sampah anda.

Moto projek ini adalah untuk membantu orang yang mengalami masalah fizikal, dan menolong mereka untuk mengakses ON / OFF peralihan peralatan rumah asas seperti kipas atau lampu secara bebas.

Objektif kedua adalah untuk membolehkan pengguna mengendalikan alat 'Seperti bos' tanpa harus berpindah dari posisi yang ada.

Litar menggunakan komunikasi berasaskan IR tradisional antara pemancar dan penerima.

Litar ini persen persen tahan terhadap remote IR lain, dan sumber IR lain dan kurang terdedah kepada kesalahan.

Masalah utama berasaskan bukan mikrokontroler Litar kawalan jauh IR , yang terdapat di internet, dapat mematikan / mematikannya dengan alat kawalan jauh berbasis IR dan hanya dapat mengendalikan satu peranti dalam sekejap dan juga lebih rentan terhadap kesalahan.

Litar ini mengatasi masalah yang dinyatakan di atas, dan kita dapat mengawal beberapa alat pada satu alat kawalan jauh dan berikan kunci untuk alat tertentu.

Sebelum meneruskan projek ini, anda perlu memuat turun fail perpustakaan untuk arduino dari pautan ini dan ikuti arahan yang diberikan di bawah: github.com/z3t0/Arduino-IRremote

Arahan:

1) Klik butang 'klon atau muat turun' dari pautan yang diberikan dan tekan 'Muat turun ZIP'.

2) Ekstrak fail dan pindahkan folder 'IRremote' ke folder perpustakaan anda Arduino.

3) Padam folder 'RobotIRremote' dari pustaka arduino anda. 'RobotIRremote' mempunyai definisi serupa untuk perpustakaan 'IRremote' yang berbenturan dan tidak dapat memuat naik kod ke Arduino jadi, penghapusan / penghapusan adalah wajib.

Dengan menduplikasi arahan di atas, perisian Arduino IDE anda siap untuk mana-mana / sebahagian besar projek berasaskan IR.

Tetapkan kunci untuk alat kawalan jauh:

Di alat kawalan jauh TV kami, setiap kunci mempunyai kod heksadesimal yang unik, yang digunakan untuk mengenali kunci mana yang ditekan untuk operasi. Sebelum memuat naik kod akhir ke Arduino, anda perlu mencari apa kod heksadesimal untuk kunci anda.

Untuk melakukan ini, buatlah litar berikut di papan roti dan ikuti arahannya.

1) Buka Arduino IDE dan muat naik kod contoh 'IRrecv Demo'

2) Buka monitor bersiri dan tekan kekunci pada alat kawalan jauh yang ingin anda gunakan.

Anda akan melihat kod heksadesimal muncul sebaik sahaja anda menekan kekunci. Itulah kod heksadesimal untuk kunci tersebut.

3) Lakukan perkara yang sama untuk dua kekunci lain (3 kunci diberikan dalam projek ini untuk mengawal 3 peranti)

· Kami akan menggunakan kod heksadesimal ini dalam program utama dan memuat naik 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 ini:

# tentukan output1 0x111 // letakkan kod anda yang diterima dari butang A

#tentukan output2 0x111 // masukkan kod anda dari butang B

# tentukan output3 0x111 // letakkan kod anda dari butang C

· Letakkan 3 kod unik anda dari alat kawalan jauh anda di tempat 111, 112, dan 113 ini dan muat naik kodnya. Kod heksadesimal adalah dari 0 hingga 9 dan A hingga F, misalnya: 20156, 26FE789, FFFFFF.

· Letakkan kod anda dengan “0x” (zero x).

Gambarajah litar:

· Menekan kekunci menghidupkan relay dan dengan menekan lagi ia akan mematikan geganti.




Sebelumnya: Penghalau Nyamuk Semula Jadi Menggunakan Perintang Watt Tinggi Seterusnya: Litar Pengesan Logam Tanah Dalam - Pengimbas Tanah