Taxa de erro muito alta ao receber sinal infravermelho

Garagistas,

 

Estou com alguns problemas ao montar arduinos que recebem códigos infravermelhos. Os sinais tem uma taxa de erros de recebimento muito alta. Já montei outros projetos que recebem sinal razoavelmente bem, mas ainda apresentam taxa de erro média e sensibilidade média.

Não consigo entender como o receptor é tão pouco sensível ao receber um sinal. Os meus aparelhos da sala, basta apenas um reflexo do sinal do controle na parede por exemplo que já funciona, enquanto o arduino as vezes preciso me levantar e ter linha visada perfeita para funcionar, e quando funciona...

 

Para tentar descobrir a origem do problema, estou usando esse código super simplificado que indica o protocolo e o código recebido. Carreguei o sketch em um duemillanove e liguei um dos receptores, mas o resultado foi pior ainda... Não conseguiu decodificar nada, a não ser as repetições FFFFFFFF do protocolo NEC

 

Eis o código:

#include <IRremote.h>
#include <IRremoteInt.h>


const int RECV_PIN = 6;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
  irrecv.blink13(true);
  Serial.println("init");
}

void loop() {
  if (irrecv.decode(&results)) {
    if (results.decode_type == NEC) {
      Serial.print("NEC: ");
    } else if (results.decode_type == SONY) {
      Serial.print("SONY: ");
    } else if (results.decode_type == RC5) {
      Serial.print("RC5: ");
    } else if (results.decode_type == RC6) {
      Serial.print("RC6: ");
    } else if (results.decode_type == UNKNOWN) {
      Serial.print("UNKNOWN: ");
    }
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}

 

O que recebo na serial é isso:

init
UNKNOWN: 6BA470EF
NEC: FFFFFFFF
UNKNOWN: 4CB0FADD
NEC: FFFFFFFF
UNKNOWN: 24AE7D4F
NEC: FFFFFFFF
NEC: FFFFFFFF
NEC: FFFFFFFF
UNKNOWN: C503CECF
UNKNOWN: 25AE7EE0
UNKNOWN: 71ED18FC
UNKNOWN: DCB07354
UNKNOWN: A57305FD
NEC: FFFFFFFF
NEC: FFFFFFFF
UNKNOWN: 892614D9
NEC: FFFFFFFF
NEC: FFFFFFFF
UNKNOWN: 61AEB848
NEC: FFFFFFFF
NEC: FFFFFFFF
UNKNOWN: 60CFF56D

 

O protocolo desse controle em particular é NEC em todas as teclas, muitos dos "UNKNOWN" eram a mesma tecla pressionada várias vezes, porém teve um código totalmente diferente e aparentemente desconhecido.
O controle remoto não tem defeitos, pois uso o mesmo controle em outro aparelho e funciona perfeitamente

Eu tenho o palpite de que o problema pode ser esse componente de recepção que uso. Se não me engano é o TSOP1738.

O curioso é que no passado os meus projetos funcionavam muito bem e ultimamente tem dado muitos problemas.
Segue imagem:

Grato

Tags: alta, arduino, erro, erros, infrared, infravermelho, ir, receive, taxa

Exibições: 315

Responder esta

Respostas a este tópico

Eu ia dizer exatamente pra vc tentar com outro receptor...

Olá arthur,
Como você está alimentando o arduino? Pelo porta usb mesmo? A pouco tempo eu estava fazendo testes com um receptor de IR, e o mesmo apresentava bastante interferência que eu não sabia de onde. Quando alimentei o arduino com uma fonte externa as interferências sumiram. Tenta isso e vê se consegue algum resultado...

Eu liguei agora uma fonte de 12V na entrada mas não mudou absolutamente nada. O curioso é que como esse código mostra qualquer coisa que recebe, ele me parece que detecta de fato com facilidade que houve uma transmissão infravermelha, até com um alcance e angulo muito superiores, mas o problema é que ele 99,9% das vezes erra o código mesmo nas melhores situações de recebimento. Vocês que tiverem projetos com receptores infravermelhos que funcionem bem, poderiam me mandar fotos ou modelos de receptores bons?

Em paralelo a isso, no passado eu tinha criado um tópico aqui sobre Capturar sinal "RAW" Infravermelho, apesar de várias respostas que tive, eu jamais consegui obter o resultado desejado (controles de ar-condicionado nunca funcionaram com o arduino). É bem provável que a origem do meu insucesso venha do receptor que eu uso, não é?

Pessoal, vocês poderiam dizer quais são os sensores infravermelhos que vocês usam?

Sempre usei desses comuns, pretinhos. :)

http://www.soldafria.com.br/receptor-infravermelho-irm2638-p-3402.html

Ou recebe o sinal, ou não recebe. Nunca vi receber sinal errado.

Abraços!

já olhou o datasheet do receptor? qual a modulação que ele aceita? no datasheet tambem pede pra usar um resistor mais um capacitor para minimizar interferencia. 

Aqui há uma explicação para o provavel ocorrido, arduino post.

O mesmo assunto aqui.

RSS

Publicidade

Convide um amigo para o Lab!

 Loja Lab de Garagem

Novo!

Garagino Rev1

Por: R$ 29,00

Ou em até 6x de

R$ 5,18 

Novo!

Estação de Solda

Temperatura Ajustável - 50W

Por: R$ 150,00

Ou em até 18x de

R$ 10,00

 

Exclusividade do LdG!

Android 4.0 Mini PC

Por: R$ 195,00

Ou em até 18x de

R$ 13,00

Osciloscópio Digital

(ADS1102C) - 100MHz - 2 Canais

Por: R$ 1920,00

Ou em até 18x de

R$ 127,96

© 2013   Criado por Marcelo Rodrigues.

Badges  |  Relatar um incidente  |  Termos de serviço