Arduino IR tālvadības shēma

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā amatā mēs izveidosim pielāgojamu Arduino bāzes IR (infrasarkanā) bāzes bezvadu tālvadības slēdzi, kas sastāv no IR tālvadības pults un uztvērēja. Jūs varat modificēt atbilstoši savām vajadzībām. Raksta nākamajā daļā mēs uzzinām par modernizētu IR tālvadības pults versiju, kas reaģēs tikai uz unikāli piešķirtu frekvenci.

Ja esat augstāks par iesācēju līmeni, to varat paveikt viegli. Piedāvātajai ķēdei, kas ilustrēta šeit, ir tikai trīs vadības ierīces uz tālvadības pults un 3 releji uztvērēja galā. Jūs varat modificēt kodu un shēmu, lai tas atbilstu jūsu vajadzībām.



Jums būs nepieciešami divi Arduino dēļi, kas darbojas kā tālvadība, bet cits - kā uztvērējs. Es ieteiktu šim projektam izmantot Arduino pro mini, jo to izmēri ir diezgan mazi un tālvadības pults kopējais izmērs varētu tikt aplaupīts.

Jūs varat izmantot 3,3 V bāzes Arduino pro mini tālvadībai, lai jūs varētu darbināt ar divām pogu šūnām vai divām AA izmēra baterijām atbilstoši jūsu vajadzībām.



IR raidītāja ķēdē ir 3 ieslēgšanas pogas un IR gaismas diode komandu nosūtīšanai uz uztvērēju. Katra poga ir ieprogrammēta ar unikālu heksadecimālo kodu, tas pats heksadecimālais kods ir ieprogrammēts arī uztvērēja pusē.

Kad tiek nospiesta poga, IR gaismas diode izsūta heksadecimālo kodu uztvērējam, uztvērējs atpazīs, kura no pogām ir nospiesta, un tas ieslēdz attiecīgo releju ON / OFF.

Piedāvātais tālvadības tālrunis saziņai ar uztvērēju izmanto RC5 protokolu. Jūs varat visu mainīt, modificējot kodu.

Ja jūs esat tikai iesācējs Arduino, jūs joprojām varat to paveikt, vienkārši izpildiet diagrammu un augšupielādējiet kodu, nemainot.

Ķēde un programma:

Arduino attālais raidītājs:

Nepatīkams IR tālvadības ķēde

Iepriekš minētā shēma parāda, kā izveidot Arduino IR tālvadības raidītāju.

Trīs 10K rezistori ir nolaižami rezistori, kas novērš nejaušu tālvadības pults iedarbināšanu statiskā lādiņa dēļ, un IR LED tiek izmantots 220ohm strāvas ierobežojošais rezistors.

Attālā raidītāja programma:

//---------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 uztvērējs:

IR Arduino uztvērēja ķēde, kā parādīts iepriekš, sastāv no TSOP1738 sensors maz tranzistoru, strāvas ierobežojošie rezistori tranzistoriem, releji un diodes augstsprieguma smailes absorbēšanai no releja spolēm.

Shēmas shēma ir pašsaprotama.

Arduino uztvērēja programma:

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

Ievērojot iepriekš minētos paskaidrojumus, jūs varat veikt trīs vadības ierīces, ja vēlaties pievienot vairāk vadības ierīču un releja, jums ir jārediģē kods un shēma.

Jūs varat piešķirt izeju un ieeju neizmantotajām tapām uztvērējā un tālvadības pults programmā, kā arī pievienot tranzistora un releja skaitu attiecīgajām uztvērēja tapām un līdzīgi savienot slēdžu skaitu un novilkt rezistoru tālvadības pultī.

Lai piešķirtu vairāk pogu, varat izmantot nejaušo heksadecimālo kodu.

Piemēram: 0xA235, 0xFFFF, 0xBA556 un tā tālāk. Pievienojiet to pašu heksadecimālo vērtību arī uztvērēja kodā. Piemēram: #define output4 0xA235, #define outout5 0xFFFF un tā tālāk.

IR tālvadības pults izgatavošana ar unikālu frekvenci

Iepriekšējās sadaļās mēs uzzinājām par vienkāršu IR tālvadības pulti, kas darbosies ar jebkuru IR tālvadības raidītāju.
Nākamajā rakstā mēs uzzināsim, kā izveidot uzlabotu iepriekšminētās koncepcijas versiju, lai kontrolētu sadzīves tehniku ​​bez viltības, izmantojot arduino mikrokontrolleru, kas darbosies ar unikālu frekvenci un nekad nedarbosies ar kopīgu IR klausuli.

Droša IR tālvadības pults

Šī ķēde var ieslēgt / izslēgt jūsu sīkrīkus, izmantojot neizmantotās TV tālvadības pults pogas vai jebkuru citu neizmantotu tālvadības pulti, kas, iespējams, gulēja jūsu nevēlamajā kastē uz ilgu laiku.

Šī projekta moto ir palīdzēt personām ar fiziskām grūtībām un palīdzēt tām patstāvīgi piekļūt pamata sadzīves tehnikas, piemēram, ventilatoru vai gaismas, ieslēgšanai / izslēgšanai.

Otrais mērķis ir ļaut lietotājam kontrolēt sīkrīkus “Tāpat kā priekšnieks”, nepārvietojoties no esošās pozīcijas.

Shēma izmanto tradicionālo infrasarkano staru sakarus starp raidītāju un uztvērēju.

Šī ķēde ir procentuāli izturīga pret citiem IR tālvadības pultiem un citiem IR avotiem, un tā ir mazāk pakļauta kļūdām.

Galvenā problēma, kas balstīta uz mikrokontrolleru IR tālvadības shēma , kas ir atrodams visā internetā, ir tas, ka tas var ieslēgt / izslēgt jebkuru IR balstītu tālvadības pulti un vienā mirklī var vadīt tikai vienu ierīci, kā arī vairāk pakļauts kļūdām.

Šī ķēde pārvar iepriekš norādītās problēmas, un mēs varam kontrolēt vairākus sīkrīkus vienā tālvadības pultī un piešķirt atslēgas konkrētiem sīkrīkiem.

Pirms turpināt šo projektu, jums ir jāielādē šīs saites bibliotēkas faili arduino un jāievēro tālāk sniegtie norādījumi: github.com/z3t0/Arduino-IRremote

Instrukcijas:

1) Noklikšķiniet uz pogas “klonēt vai lejupielādēt”, izveidojot norādīto saiti, un nospiediet “Lejupielādēt ZIP”.

2) Izvelciet failu un pārvietojiet mapi “IRremote” uz savu Arduino bibliotēkas mapi.

3) Izdzēsiet mapi “RobotIRremote” no savas arduino bibliotēkas. “RobotIRremote” ir līdzīga “IRremote” bibliotēkas definīcija, kas saduras un nespēj augšupielādēt kodu Arduino, tāpēc dzēšana / noņemšana ir obligāta.

Dublējot iepriekš minēto instrukciju, jūsu Arduino IDE programmatūra ir gatava jebkuram / lielākajai daļai IR balstītu projektu.

Piešķirt tālvadības atslēgas:

Mūsu televizora tālvadības pultī katram taustiņam ir unikāls heksadecimālais kods, kas tiek izmantots, lai atpazītu, kurš taustiņš ir nospiests operācijai. Pirms augšupielādējat galīgo kodu vietnē Arduino, jums jāatrod, kādi ir jūsu atslēgu heksadecimālie kodi.

Lai to izdarītu, uz maizes paneļa izveidojiet šādu ķēdi un izpildiet norādījumus.

1) Atveriet Arduino IDE un augšupielādējiet koda paraugu “IRrecv Demo”

2) Atveriet sērijveida monitoru un nospiediet tālvadības pults taustiņu, kuru vēlaties izmantot.

Tiklīdz nospiedīsit taustiņu, redzēsit uznirstošu sešpadsmito ciparu kodu. Tas ir konkrētās atslēgas heksadecimālais kods.

3) Dariet to pašu arī pārējiem diviem taustiņiem (šajā projektā ir norādītas 3 atslēgas, lai kontrolētu 3 ierīces)

· Mēs izmantosim šos heksadecimālos kodus galvenajā programmā un augšupielādēsim to arduino.

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

PIEZĪME:

Programmā:

#define output1 0x111 // ievietojiet kodu, kas saņemts no pogas A

#define output2 0x111 // ievietojiet kodu, kas saņemts no pogas B

#define output3 0x111 // ievietojiet kodu, kas saņemts no pogas C

· Novietojiet savus 3 unikālos kodus no tālvadības pults šajā 111, 112 un 113 vietā un augšupielādējiet kodu. Heksadecimālie kodi būs no 0 līdz 9 un A līdz F, piemēram: 20156, 26FE789, FFFFFF.

· Ievietojiet kodu ar “0x” (nulle x).

Ķēdes shēma:

· Nospiežot taustiņu, relejs tiek ieslēgts un, nospiežot vēlreiz, relejs tiks izslēgts.




Pāri: Dabīgais moskītu atbaidīšanas līdzeklis, izmantojot augsta vata rezistoru Nākamais: Dziļās augsnes metāla detektora shēma - zemes skeneris