Go Down

Topic: [RESOLVIDO] Regulagem receptor IR (Read 2471 times) previous topic - next topic

leandrogs

Nov 09, 2012, 07:53 pm Last Edit: Nov 13, 2012, 12:51 am by leandrogs Reason: 1
Boa tarde. Estou tentando trabalhar com um controle remoto + receptor IR, porém o receptor parece n conseguir enviar corretamente as informações da tecla pressionada para o Arduino. Meu receptor é um KY-022 e estou testando com um controle de TV e de MP3 de carro.

Segue o código usado:

Code: [Select]
#include <IRremote.h>

int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
 Serial.begin(9600);
 irrecv.enableIRIn(); // Start the receiver
}

void loop() {
 if (irrecv.decode(&results)) {
   Serial.println(results.value, HEX);
   irrecv.resume(); // Receive the next value
 }
}


Já verifiquei as conexões e estão corretas. Tanto é que DE VEZ EM QUANDO o receptor resolve enviar algum dado. Alguém saberia me dizer se é necessário regular alguma coisa para funcionar normalmente?

leandrogs

Outra coisa que reparei é que o código exibido para uma mesma tecla varia muito... segue o que apareceu nas vezes em que aperto "0":

Quote
FCABFFBF
49B0F625
FDAC0152
4CB0FADC
FDAC0152
71B851EC
FDAC0152
6FB84EC6
32D19EA3
6FB84EC6
49B0F625
FEAC02E5
AAAEACC8
FDAC0152
FDAC0152
FCABFFBF
ED0E5738
FEAC02E5
FEAC02E5
6ADBBDCE
FDAC0152
70B8505B
FEAC02E5
4CB0FADC
FDAC0152
49B0F625


As vezes aparecem 4 linhas de uma vez só... Como eu sei qual o código da tecla 0?

Usar esse codigo para obter o valor do botao, ele vai le fornecer so numeros e sempre constantes
Code: [Select]
#include <IRremote.h> //ADICIONA A BIBLIOTECA IR

int receiver = A0; //DEFINE O PINO ANAÓGICO 0 COMO ENTRADA DOS SINAIS IR
IRrecv irrecv(receiver);
decode_results results;
void setup()
{
  Serial.begin(9600); //INICIA COMUNICAÇÃO SERIAL
  irrecv.enableIRIn(); // INICIA O RECEPTOR
}
void loop()
{
if (irrecv.decode(&results)) // DECODIFICA O SINAL DO RECEPTOR
{
Serial.println(results.value, DEC); //IMPRIME NA PORTA SERIAL OS VALORES OBTIDOS
   
   
  switch(results.value)
  {}
  delay(500);
  irrecv.resume(); // RECEBE O PRÓXIMO VALOR
  }
}


foi o que eu usei no robô controlado por controle IR e ele funciona muito bem

leandrogs

Consegui utilizar o receptor sem maiores problemas. Porém, hoje, quando fui ligar, inverti os pólos + e - sem querer. Será que queimou? Como faço para testar caso eu n tenha um multímetro?

HugoPT

Quote
Porém, hoje, quando fui ligar, inverti os pólos + e - sem querer. Será que queimou? Como faço para testar caso eu n tenha um multímetro?

Estas te a referir ao quê ? A alimentaçao do arduino ou do IR?
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

leandrogs

Alimentação do IR. O Arduino está alimentado pela porta USB. O IR deu uma esquentadinha, foi aí que reparei que havia invertido os polos.

HugoPT

Entao a forma mais facil é veres se com o programa  carregado se continua a ler os codigo IR como de antes. Se nao ler é porque provalvelmente o danificaste. :D
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

leandrogs

É, provavelmente estragou então... Vem um LED vermelho com ele para indicar que está recebendo sinal do controle, mas não liga quando aperto as teclas. Amanhã vou ver se encontro algum receptor IR para comprar aqui em minha cidade. Será que os de TV funcionam?

HugoPT

Dos tempos que reparava Tv's os receptores de IR eram quase todos a mesma coisa.Podem variar no encapsolamento mas internamente todos eles sao 99% das vezes compativeis. Se tiveres uma placa de Tv avariada arranca o e testa.
De salientar que o pin out pode variar.
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

leandrogs

Arrumei esse da direita



Vou testar mais a noite. Será que não é necessário ter aquela "capa" da metal por cima?

HugoPT

Nao deve fazer diferença
Debian,Mint,Ubuntu
Arduino Mega 2560
Arduino Nano
Arduino Duemilanove
MAC OS Montain Lion
Raspberry PI Model B

leandrogs

Funcionou certinho. Obrigado pessoal!

Go Up