Arduino: Clonando Controle de Ar Condicionado

Resolva problemas de clonagem de sinais de controles de ar condicionado usando códigos raw longos

Arduino: Clonando Controle de Ar Condicionado

Ola Gente

Automação residencial é fascinante, começas a automatizar coisas e não paras mais.

Se você tentou clonar o controle de um ar condicionado notou que nem sempre funciona!

Nos meus testes inicias o código retornado não funcionava quando eu emitia o mesmo sinal.

Mas afinal qual era o problema?

O código raw do ar condicionado é muito longo!

Meu ar condicionado possui um código raw grande, que ultrapassa o limite da biblioteca do IRremote, veja o código para ligar:

unsigned int rawData_Ligar[139] = {8850,4450, 650,550, 600,550, 650,1650, 650,1600, 650,1600, 700,1550, 700,1600, 600,600, 650,500, 650,1650, 650,1600, 600,1650, 700,500, 650,550, 650,500, 650,550, 600,600, 650,500, 700,500, 700,500, 600,1650, 700,1550, 700,1600, 650,550, 650,500, 700,500, 650,500, 650,550, 650,1600, 700,500, 650,1600, 700,550, 650,500, 650,1600, 700,500, 650,19650, 700,1600, 600,1650, 700,1600, 650,500, 700,500, 650,550, 600,600, 650,500, 700,500, 650,550, 600,550, 650,550, 650,550, 600,1650, 650,550, 650,550, 650,500, 700,500, 650,550, 600,550, 700,500, 650,550, 650,500, 700,550, 650,500, 650,550, 650,550, 650,500, 650,550, 650,1600, 650,1600, 650,600, 600};

Como Resolver:

Abre o arquivo IRremoteInt.h localizando na pasta libraries do arduino

Exemplo: C:\Users\[SeuUser]\Documents\Arduino\libraries\IRremote\IRremoteInt.h

Na variável RAWBUF altere para:

#define RAWBUF 200

Na variavel _GAP altere para:

#define _GAP 50000

Pronto! Agora tente clonar novamente os sinais do controle do ar condicionado e note que os Raw gerado será muito maior!

E como ficou meu script para emitir este código raw gigante?

Observe que o KHZ varia da frequência utilizada pelo controle, no meu caso é NEC onde a frequência de operação é 38 khz (Esta informação você ontem quando for capturar os comandos do controle via exemplo IRrecvDump)

irsend.sendRaw(rawData_Desligar, sizeof(rawData_Desligar) / sizeof(rawData_Desligar[0]), khz);
 delay(1000);
}

Ainda não funcionou?

Se seu ar condicionado estiver meio longe o sinal pode não chegar, coloque um resistor com menor resistividade e teste novamente (Para o meu caso, onde o ar esta a cerca de 2 metros, utilizei um resistor de 330 Ω.

Por hoje é isto, queridos desenvolvedores! 👩‍💼

Até logo! 👋