boa noite amigos..

ja andei lendo bastante mas nao encontrei nada concreto até agora...alguem ja conseguiu decodificar os codigos de um controle de ar condicionado slipt e controlar o ar codicionado com o arduino?

todos os tópicos que li ninguem obteve sucesso...

aqui em ksa ja controlo as tvs, sky.......

Exibições: 19126

Responder esta

Respostas a este tópico

luis estou com um codigo aqui que ja esta funcionando em quase todas as tvs, mas ainda não pude testar em samsung e nem ar condicionado.

 

o codigo está funcioanndo automaticamente pelo RAW vc pode testa-lo pra mim?

seu AC é daqueles que o controle manda a programação completa?

isso...é um ar da midea...tentei usar o codigo que usei pra captura dos controles das tvs e sky mas nao aceita o codigo do controle do ar..

ola Luis Paulo

tente este código;

#include <IRemote.h>

//pino que recebe os dados
int RECV_PIN = 2;
IRrecv irrecv(RECV_PIN);
decode_results resultado;

void setup(){
Serial.begin(9600);
//inicia o receptor
irrecv.enableIRIn();
}

void loop(){
if (irrecv.decode(&resultado)){
long int decCode = resultado.value;
Serial.println(decCode);
//recebe o proximo valor
irrcv.resume();
}

delay(500);
}

esse eh o receiv padrao.....ele nao entende os codigos do controle do ar...creio que tenha q ser feita uma modificação na bliblioteca irremote.h....

Luis, se poder fazer alguns testes junto comigo para ir me passando os erros estou com um código quase finalizado

Quando vc diz que o código padrão não reconhece, qual erro ocorre?
Estou lhe enviando meu skype caso queria realizar os testes o código que desenvolvi esta postado em outro fórum e agora estou no celular, mas dps posto aqui.

opa...blz

aguardo seu skype.

o erro gerado quando pressiono o controle pro receptor ir é aquele:

("Could not decode message");

Luis, 

Você conseguiu ver os códigos do AR ? também estou testando com o LG e aparece 

Could not decode message

opa cara de tanto pesquisar acabei achando os codigos prontos pro AC da midea....tentei bastante mesmo mas sem sucesso...repetir em raw, etc....esse código q achei é quase uma biblioteca pronta...ligar os AC é bem mais complexo q uma tv....

Achei um video no youtube que a pessoa esta controlando um split LG (que é o que eu tenho), eu só tenho o IR receiver, ,estou esperando receber o emiter, para testar, depois lhe falo.

http://www.youtube.com/watch?v=RLon0u5YVGc

O desenvolvimento de um script para detectarmos os comandos usados por determinadas marcas de produtos como, TV, Ar condicionado, Som, e demais, seriam ideal para ajudar os membros do labdegaragem.

cara faz a copia do código em raw 

eu tive a mesma dificuldade com o meu ar 

segue o codigo


#include <IRremote.h>

int RECV_PIN = 3;
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
Serial.begin(9600);
irrecv.enableIRIn();
}

int c = 1;

void dump(decode_results *results) {
int count = results->rawlen;
Serial.println(c);
c++;
Serial.println("For IR Scope: ");
for (int i = 1; i < count; i++) {

if ((i % 2) == 1) {
Serial.print("+");
Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
}
else {
Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC);
}
Serial.print(" ");
}
Serial.println("");
Serial.println("For Arduino sketch: ");
Serial.print("unsigned int raw[");
Serial.print(count, DEC);
Serial.print("] = {");
for (int i = 1; i < count; i++) {

if ((i % 2) == 1) {
Serial.print(results->rawbuf[i]*USECPERTICK, DEC);
}
else {
Serial.print((int)results->rawbuf[i]*USECPERTICK, DEC);
}
Serial.print(",");
}
Serial.print("};");
Serial.println("");
Serial.print("irsend.sendRaw(raw,");
Serial.print(count, DEC);
Serial.print(",38);");
Serial.println("");
Serial.println("");
}

void loop() {
if (irrecv.decode(&results)) {
dump(&results);
irrecv.resume();
}
}

Consegui copiar, mas não funcionou....

Exemplo do código de ligar  (o que significa o número 38 ?, depois da virgula) irsend.sendRaw(raw,60,38);

1

For IR Scope:

+8500 -4150 +600 -1650 +550 -550 +550 -550 +600 -550 +550 -1650 +600 -550 +550 -550 +550 -550 +600 -550 +500 -600 +550 -550 +600 -500 +550 -600 +550 -550 +550 -550 +550 -600 +550 -550 +550 -550 +550 -1700 +550 -1700 +550 -500 +600 -1700 +500 -550 +600 -550 +550 -550 +550 -1700 +550 -1650 +600 -1650 +550

For Arduino sketch:

unsigned int raw[60] = {8500,4150,600,1650,550,550,550,550,600,550,550,1650,600,550,550,550,550,550,600,550,500,600,550,550,600,500,550,600,550,550,550,550,550,600,550,550,550,550,550,1700,550,1700,550,500,600,1700,500,550,600,550,550,550,550,1700,550,1650,600,1650,550,};

irsend.sendRaw(raw,60,38);

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço