Arduino IR kaugjuhtimispult

Proovige Meie Instrumenti Probleemide Kõrvaldamiseks





Selles postituses ehitame kohandatava Arduino põhise IR (infrapuna) põhise traadita kaugjuhtimispuldi lüliti, mis koosneb IR kaugjuhtimispuldist ja vastuvõtjast, mida saate muuta vastavalt oma vajadustele. Artikli hilisemas osas saame teada IR-kaugjuhtimispuldi täiustatud lollikindla versiooni kohta, mis reageerib ainult kordumatult määratud sagedusele.

Kui olete algaja tasemest kõrgemal, saate seda hõlpsalt saavutada. Siin illustreeritud pakutud vooluringil on lihtsalt kolm juhtimispulti kaugjuhtimispuldil ja 3 releed vastuvõtja otsas. Oma vajaduste täitmiseks võite koodi ja elektriskeemi muuta.



Teil on vaja kahte Arduino tahvlit, mis toimivad kaugelt ja teine ​​toimib vastuvõtjana. Ma soovitaksin selle projekti jaoks Arduino pro mini, kuna nende suurused on üsna väikesed ja puldi üldmõõt võib olla halb.

Võite kaugjuhtimiseks kasutada 3,3 V põhinevat Arduino pro mini, et teid saaks vastavalt vajadusele toita kahe nööpelemendi või kahe AA-suurusega patareiga.



IR-saatja vooluringil on 3 sisselülitatavat nuppu ja IR-LED käskude saatmiseks vastuvõtjale. Iga nupp on programmeeritud kordumatu kuueteistkümnendkoodiga, sama kuueteistkümnendkood on programmeeritud ka vastuvõtja poolele.

Kui nuppu vajutatakse, saadab IR-LED vastuvõtjale kuueteistkümnendkoha koodi, vastuvõtja tunneb ära, millist nuppu vajutatakse, ja lülitab vastava relee sisse / välja.

Kavandatud kaugjuhtimispult kasutab vastuvõtjaga suhtlemiseks RC5-protokolli. Koodi muutmisega saate kõike muuta.

Kui olete Arduinos alles algaja, saate selle siiski täita, järgige lihtsalt skeemi ja laadige kood üles muutmata.

Vooluring ja programm:

Arduino kaugsaatja:

Lollikindel IR kaugjuhtimispult

Ülaltoodud vooluring näitab, kuidas Arduino IR kaugsaatjat ehitada.

Kolm 10K takistit on allakäidetakistid, mis välistavad staatilise laengu tõttu puldi juhusliku käivitamise ja IR-LED-i jaoks kasutatakse 220ohmi voolu piiravat takistit.

Kaugsaatja programm:

//---------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--------//

Arduino vastuvõtja:

Eespool näidatud IR Arduino vastuvõtja vooluring koosneb TSOP1738 andur vähesed transistorid, transistori voolut piiravad takistid, releed ja dioodid releemähistest kõrgepinge naelu neelamiseks.

Elektriskeem on iseenesestmõistetav.

Arduino vastuvõtja programm:

//-----------------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-----------//

Järgides ülaltoodud selgitusi, saate teha kolm juhtnuppu. Kui soovite lisada rohkem juhtnuppe ja relee, peate redigeerima koodi ja vooluringi skeemi.

Programmis saate määrata väljundi ja sisendi vastuvõtja ja kaugjuhtimispuldi kasutamata tihvtidele ning ühendada vastuvõtja vastavate pistikute transistori ja relee arv ning samamoodi ühendada lülitite arv ja tõmmata takisti kaugjuhtimispuldis.

Rohkemate nuppude arvu määramiseks võite kasutada juhuslikku kuueteistkümnendkoodi.

Näiteks: 0xA235, 0xFFFF, 0xBA556 ja nii edasi. Ja lisage ka vastuvõtja koodis sama kuueteistkümnendsüsteemi väärtus. Näiteks: #define output4 0xA235, #define outout5 0xFFFF ja nii edasi.

IR-kaugjuhtimispuldi valmistamine unikaalse sagedusega

Ülaltoodud jaotistes õppisime lihtsa IR-kaugjuhtimispuldi kohta, mis töötab mis tahes IR-kaugjuhtimispuldiga.
Järgmises artiklis õpime, kuidas teha ülaltoodud kontseptsiooni uuendatud versioon kodutehnika lollikindlaks juhtimiseks arduino mikrokontrolleri abil, mis töötab unikaalse sagedusega ja ei tööta kunagi ühise IR-telefoniga.

Lollikindel IR kaugjuhtimispult

See vooluring võib teie vidinaid sisse või välja lülitada, kasutades teleripuldi kasutamata nuppe või mõnda muud kasutamata kaugjuhtimispulti, mis võib teie rämpskastis lebada juba ammu.

Selle projekti moto on aidata füüsiliselt puudega inimesi ja aidata neil iseseisvalt juurde pääseda põhiliste kodumasinate, näiteks ventilaatorite või tulede ON / OFF lülitustele.

Teine eesmärk on võimaldada kasutajal juhtida vidinaid 'Nagu ülemus', ilma et peaks oma praeguselt positsioonilt eemalduma.

Vooluring kasutab traditsioonilist infrapunapõhist sidet saatja ja vastuvõtja vahel.

See vooluahel on sentimeetri ulatuses lollikindel teiste infrapunapultide ja muude infrapunaallikate suhtes ning vähem vastuvõtlik vigadele.

Suurim probleem mittekontrolleripõhiste probleemidega IR kaugjuhtimispult , mida Internetis leidub, on see, et see saab sisse / välja lülitada mis tahes infrapunapõhise kaugjuhtimispuldiga ja saab juhtida ainult ühte seadet korraga ning on ka vigadele vastuvõtlikum.

See vooluring ületab kindlaksmääratud probleemid ja saame hakkama juhtida mitut vidinat ühe puldiga ja määrake võtmed konkreetsete vidinate jaoks.

Enne selle projekti jätkamist peate selle lingi kaudu alla laadima arduino raamatukogu failid ja järgima alltoodud juhiseid: github.com/z3t0/Arduino-IRremote

Juhised:

1) Klõpsake nuppu „kloonige või laadige alla“, et moodustada antud link ja vajutage nuppu „Laadi alla ZIP“.

2) Pakkige fail välja ja teisaldage kaust „IRremote” Arduino raamatukogu kausta.

3) Kustutage kaust „RobotIRremote” oma arduino teegist. „RobotIRremote” määratlus on sarnane „IRremote” teegi määratlusega, mis põrkub ja ei suuda koodi Arduinosse üles laadida, seega on kustutamine / eemaldamine kohustuslik.

Kopeerides ülaltoodud juhiseid, on teie Arduino IDE tarkvara valmis kõigi / enamike IR-põhiste projektide jaoks.

Määrake kaugjuhtimispuldi võtmed:

Meie teleri kaugjuhtimispuldil on igal klahvil ainulaadne kuueteistkümnendsüsteemi kood, mida kasutatakse toimingu jaoks vajutatava klahvi tuvastamiseks. Enne lõpliku koodi Arduinosse üleslaadimist peate leidma, millised on teie võtmete kuueteistkümnendkoodid.

Selleks koostage leivaplaadile järgmine vooluring ja järgige juhiseid.

1) Avage Arduino IDE ja laadige üles näidiskood “IRrecv Demo”

2) Avage jademonitor ja vajutage kaugjuhtimispuldi klahvi, mida soovite kasutada.

Näete kuueteistkümnendsüsteemi koodi kohe, kui vajutate klahvi. See on selle konkreetse võtme kuueteistkümnendsüsteem.

3) Tehke sama ka kahe teise klahvi puhul (selles projektis antakse 3 võtit 3 seadme juhtimiseks)

· Kasutame neid kuueteistkümnendkoha koode põhiprogrammis ja laadime üles arduinosse.

Programm:
//-----------------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-----------//

MÄRGE:

Programmis:

#define output1 0x111 // asetage nupust A saadud kood

#define output2 0x111 // asetage nupust B saadud kood

#define output3 0x111 // sisestage kood, mis on saadud nupust C

· Asetage oma 3 unikaalset koodi kaugjuhtimispuldilt sellesse 111, 112 ja 113 kohta ja laadige kood üles. Kuueteistkümnendkoha koodid on vahemikus 0 kuni 9 ja A kuni F, näiteks: 20156, 26FE789, FFFFFF.

· Sisestage kood tähega „0x” (null ×).

Skeem:

· Klahvi vajutamine lülitab relee SISSE ja uuesti vajutades lülitab relee välja.




Paari: Looduslik sääsetõrjevahend suure vatttakisti abil Järgmine: Sügavmuldmetalli detektori vooluring - maaskanner