Ардуино ИР даљински управљачки круг

Испробајте Наш Инструмент За Елиминисање Проблема





У овом посту ћемо створити прилагодљиви ИР (инфрацрвени) бежични даљински управљач заснован на Ардуину, који се састоји од ИЦ даљинског управљача и пријемника, а можете га прилагодити према вашим потребама. У каснијем делу чланка сазнајемо о надограђеној сигурносној верзији ИЦ даљинског управљача која ће реаговати само на јединствено додељену фреквенцију.

Ако сте изнад почетничког нивоа, то можете постићи с лакоћом. Овде илустровани предложени склоп има само три команде на даљинском и 3 релеја на крају пријемника. Можете да измените код и шему кола како бисте задовољили своје потребе.



Требаће вам две Ардуино плоче које делују као даљинске, а друга као пријемник. За овај пројекат бих препоручио Ардуино про мини, јер су њихове величине прилично мале и укупна величина даљинског управљача може се смањити.

За даљински можете користити Ардуино про мини заснован на 3.3В, тако да се према вашим потребама можете напајати помоћу ћелије са два дугмета или две батерије величине АА.



Круг ИР предајника има 3 тастера за укључивање и ИР ЛЕД за слање команди на пријемник. Свако дугме је програмирано јединственим хексадецималним кодом, исти хексадецимални код је програмиран и на страни пријемника.

Када се притисне дугме, ИР ЛЕД шаље хексадецимални код пријемнику, пријемник ће препознати које је дугме притиснуто и укључује / искључује одговарајући релеј.

Предложени даљински управљач користи РЦ5 протокол за комуникацију са пријемником. Можете променити све модификовањем кода.

Ако сте тек почетник у Ардуину, и даље то можете да постигнете, само пратите дијаграм и отпремите код без модификовања.

Коло и програм:

Ардуино даљински предајник:

Безбедни ИР даљински управљачки круг

Горњи круг илуструје како се прави Ардуино ИР даљински предајник.

Три 10К отпорника су отпорници на доле, који спречавају случајно покретање даљинског управљача због статичког наелектрисања, а за ИР ЛЕД се користи отпорник за ограничавање струје од 220 охма.

Програм за даљински предајник:

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

Ардуино пријемник:

Као што је приказано горе, склоп ИР Ардуино пријемника састоји се од ТСОП1738 сензор неколико транзистора, отпорници за ограничавање струје за транзистор, релеји и диоде за апсорбовање високонапонског шиљка из калема релеја.

Шема кола је сама по себи објашњена.

Програм за Ардуино пријемник:

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

Пратећи горња објашњења можете остварити три контроле, ако желите додати још контрола и релеја, морате уредити код и шему кола.

Можете доделити излаз и улаз за неискоришћене пинове у пријемнику и даљинском управљачу у програму и повезати број транзистора и релеја за одговарајуће пинове у пријемнику и слично повезати број прекидача и повући отпорник у даљинском управљачу.

Можете користити случајни хексадецимални код за додељивање већег броја тастера.

На пример: 0кА235, 0кФФФФ, 0кБА556 и тако даље. А такође додајте исту хексадецималну вредност и коду пријемника. На пример: #дефине оутпут4 0кА235, #дефине оутоут5 0кФФФФ и тако даље.

Израда ИР даљинског управљача са јединственом фреквенцијом

У горњим одељцима сазнали смо о једноставном ИР даљинском управљачу који ће радити са било којим ИР даљинским предајником.
У следећем чланку научићемо како да направимо надограђену верзију горе наведеног концепта за поуздану контролу кућних апарата помоћу ардуино микроконтролера, који ће радити са јединственом фреквенцијом и никада неће радити са уобичајеном ИР слушалицом.

ИР даљински управљач отпоран на превара

Ово коло може да укључи / искључи ваше уређаје помоћу неискоришћених дугмади даљинског управљача ТВ-а или било ког другог неискоришћеног даљинског управљача који вековима лежи у вашем смећу.

Мото овог пројекта је да помогне особама са инвалидитетом и помогне им да самостално приступе УКЉУЧЕЊУ / ИСКЉУЧЕЊУ основних кућних уређаја као што су вентилатори или светла.

Други циљ је омогућити кориснику да контролише уређаје „Као шеф“, без потребе да се помера са свог постојећег положаја.

Коло користи традиционалну ИЦ комуникацију између предајника и пријемника.

Овај круг је цент одсто постојан према осталим ИР даљинским управљачима и осталим ИР изворима и мање подложан грешкама.

Главни проблем са не-микроконтролером ИЦ даљински управљачки круг , која се налази широм Интернета, јесте да би могао да се УКЉУЧИ / ИСКЉУЧИ са било којим даљинским управљачем заснованим на ИЦ-у и може истовремено да контролише само један уређај и такође је подложнији грешкама.

Ово коло превазилази горе наведена питања, а ми то можемо контролишите неколико уређаја на једном даљинском управљачу и доделите кључеве за одређене уређаје.

Пре него што наставите са овим пројектом, потребно је да преузмете датотеке библиотеке за ардуино са ове везе и следите упутства дата у наставку: гитхуб.цом/з3т0/Ардуино-ИРремоте

Упутства:

1) Кликните дугме „клонирај или преузми“ на датој вези и притисните „Преузми ЗИП“.

2) Издвојите датотеку и преместите директоријум „ИРремоте“ у директоријум своје библиотеке Ардуино.

3) Избришите фасциклу „РоботИРремоте“ из своје ардуино библиотеке. „РоботИРремоте“ има сличну дефиницију „ИРремоте“ библиотеке која се сукобљава и није у могућности да учита код у Ардуино, па је брисање / уклањање обавезно.

Дуплирањем горњих упутстава ваш Ардуино ИДЕ софтвер је спреман за било који / већину пројеката заснованих на ИР-у.

Доделите кључеве за даљински управљач:

У нашем даљинском управљачу за телевизор сваки тастер има јединствени хексадецимални код који се користи за препознавање притиснутог тастера за неку операцију. Пре отпремања коначног кода у Ардуино, морате пронаћи који су хексадецимални кодови ваших кључева.

Да бисте то урадили, направите следећи круг у плочи и следите упутства.

1) Отворите Ардуино ИДЕ и отпремите пример кода „ИРрецв Демо“

2) Отворите серијски монитор и притисните тастер на даљинском управљачу који желите да користите.

Видећете да се појављује хексадецимални код чим притиснете тастер. То је хексадецимални код за тај одређени кључ.

3) Урадите исто за друга два тастера (у овом пројекту су дата 3 тастера за управљање 3 уређаја)

· Користићемо ове хексадецималне кодове у главном програму и учитати их у ардуино.

Програм:
//-----------------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-----------//

БЕЛЕШКА:

У програму:

#дефине оутпут1 0к111 // поставите свој код примљен са дугмета А

#дефине оутпут2 0к111 // поставите код примљен са дугмета Б.

#дефине оутпут3 0к111 // поставите код примљен са дугмета Ц.

· Поставите своја 3 јединствена кода са даљинског управљача на ово место 111, 112 и 113 и отпремите код. Хексадецимални кодови ће бити од 0 до 9 и од А до Ф, на пример: 20156, 26ФЕ789, ФФФФФФ.

· Поставите код са „0к“ (нула к).

Шема кола:

· Притиском на тастер релеј се искључује и поновним притиском искључује релеј.




Претходни: Природно средство против комараца помоћу отпорника високог вата Следеће: Дееп Прил Детецтор Метал Детецтор Цирцуит - Гроунд Сцаннер