Go Down

Topic: [RESOLVIDO] Regulagem receptor IR (Read 2 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?

lucaslimaduarte

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

Go Up