Gustavo_Murta:
Diego, esse analisador Lógico com Arduino poderá ajudá-lo.
Analisador Lógico com Arduino - Português - Arduino ForumVeja essa aplicação com sensores de infra-vermelho:
http://letsmakerobots.com/node/31422
Valeu pela dica Gustavo_Murta, assim que chegar em casa vou analisar e posto o resultado. Todos meu outros aparelhos estão funcionando normalmente com esta biblioteca exemplo: TV, Som e Receptor SKY, somente os A/C que estão com esse problema.
@ bubulindo
Tive que modificar o RAWBUF da biblioteca IRRemote de 100 para 200 pois meu controle tem um protocolo muito grande.
IRRemote.h
#define USECPERTICK 50
#define RAWBUF 200
#define MARK_EXCESS 100
#endif
@ bubulindo
Estou usando o Arduíno mega e o array consegui com este sketch:
#include <IRremote.h>
int RECV_PIN = 11;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{
Serial.begin(9600);
irrecv.enableIRIn(); // Start the receiver
}
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(); // Receive the next value
}
}