You are on page 1of 4

2/1/2016

ArduinoeCia:ControleremotoIRnoArduino

ControleremotoIRnoArduino
JvimosaquinoArduinoeCiacomocontrolarremotamenteoArduinousandobluetooth(aindanoviu?ento
vejaoartigoAcionandoportasdoArduinousandoAndroidebluetooth).
HojevouapresentarumoutromtodoparacontroleremotodasportasdoArduinoUnoR3,destavezusando
umKitControleRemotoIR,mostradonafotoabaixo,quechegouhojedaFILIPEFLOP:

Okitcompostopor1mduloreceptorIR,1ledinfravermelho,1cabodeconexoe1controleremoto(com
bateriaCR2025).
Noexemplodehoje,voufocarnarecepodosinaldocontroleremoto,acendendoeapagandoleds,conforme
asequnciaabaixo:
Tecla1:Acendeledvermelho
Tecla2:Apagaledvermelho
Tecla4:Acendeledverde
Tecla5:Apagaledverde
Tecla9:Apagaos2leds
EntendendooprincipiodefuncionamentodoreceptorIR,ficafcilcontrolarqualquerportadoArduinoepartir
paraoacionamentoderels,motoreseoutrosdispositivos.
Atualizado:VejatambmnesteoutroartigocomoutilizarocontroleremotoIRparacontrolarummdulorel
4canais.

CircuitoArduinoemduloIRinfravermelho
AligaodomduloreceptorIRsegueoesquemamostradonaimagemabaixo,esquerda,queconsistena
ligaodospinosdomduloporta11doArduino(sinal),5veGND.Naimagemdadireita,podemosvero
mduloemfuncionamento,comumledquepiscaquandoomduloestrecebendosinaisinfravermelhos:

http://www.arduinoecia.com.br/2013/09/controleremotoirnoarduino.html

1/4

2/1/2016

ArduinoeCia:ControleremotoIRnoArduino

Paraocircuito,vamosutilizar2leds,2resistoresde330ohmseoreceptorIR,tomandoocuidadodeobservar
aligaocorretadospinosdomdulo,evitandoaqueimadocomponente:

CrieiumprogramaquefazaleituradosinalIRrecebido,ecombasenovalorlido,acionaasportas5e7,onde
estoligadososleds.EsseprogramatambmapresentanomonitorserialosvaloreslidospeloreceptorIR:

http://www.arduinoecia.com.br/2013/09/controleremotoirnoarduino.html

2/4

2/1/2016

ArduinoeCia:ControleremotoIRnoArduino

Destaformaconsigodescobrirosvalores,emhexadecimal,dosinalrecebidoportodasasteclasdocontrole
remoto.Noprograma,useiosvaloresFF30CF(Tecla1),FF18E7(tecla2),FF10EF(tecla4),FF38C7(tecla5),
eFF52AD(tecla9).
Finalmente,noloop,eutestoovalorrecebidopeloreceptorIR,ecomalgunscomandosIFeuverificoqualtecla
foiacionada,acendendoeapagandooledcorrespondente.Useiatecla9paraapagaros2ledsdeumasvez.
Paraesteprograma,vamosutilizarabibliotecaIRremote,quevocepodebaixarclicandoaqui:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

//Programa:TesteControleRemotoIR
//Autor:ArduinoeCia

#include<IRremote.h>

intRECV_PIN=11;
floatarmazenavalor;
intpinoledvermelho=5;
intpinoledverde=7;

IRrecvirrecv(RECV_PIN);
decode_resultsresults;

voidsetup()
{
pinMode(pinoledvermelho,OUTPUT);
pinMode(pinoledverde,OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn();//InicializaoreceptorIR
}

voidloop()
{
if(irrecv.decode(&results))
{

http://www.arduinoecia.com.br/2013/09/controleremotoirnoarduino.html

3/4

2/1/2016

26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52

ArduinoeCia:ControleremotoIRnoArduino

Serial.print("Valorlido:");
Serial.println(results.value,HEX);
armazenavalor=(results.value);
if(armazenavalor==0xFF30CF)//Verificaseatecla1foiacionada
{
digitalWrite(pinoledvermelho,HIGH);//Acendeoledvermelho
}
if(armazenavalor==0xFF18E7)//Verificaseatecla2foiacionada
{
digitalWrite(pinoledvermelho,LOW);//Apagaoledvermelho
}
if(armazenavalor==0xFF10EF)//Verificaseatecla4foiacionada
{
digitalWrite(pinoledverde,HIGH);//Acendeoledverde
}
if(armazenavalor==0xFF38C7)//Verificaseatecla5foiacionada
{
digitalWrite(pinoledverde,LOW);//Apagaoledverde
}
if(armazenavalor==0xFF52AD)//Verificaseatecla9foiacionada
{
digitalWrite(pinoledvermelho,LOW);//Apagatodososleds
digitalWrite(pinoledverde,LOW);
}
irrecv.resume();//Leoprximovalor
}
}

http://www.arduinoecia.com.br/2013/09/controleremotoirnoarduino.html

4/4

You might also like