0% found this document useful (0 votes)
177 views2 pages

IRrecv Dump

The document describes an Arduino library for receiving and decoding infrared signals. It explains how to connect an IR receiver to an Arduino pin and print decoded codes and raw signal data to the serial monitor. Protocol decoding is supported for many common IR remote control standards.

Uploaded by

joseplin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
177 views2 pages

IRrecv Dump

The document describes an Arduino library for receiving and decoding infrared signals. It explains how to connect an IR receiver to an Arduino pin and print decoded codes and raw signal data to the serial monitor. Protocol decoding is supported for many common IR remote control standards.

Uploaded by

joseplin
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

/*

* IRremote: IRrecvDump - dump details of IR codes with IRrecv


* An IR detector/demodulator must be connected to the input RECV_PIN.
* Version 0.1 July, 2009
* Copyright 2009 Ken Shirriff
* [Link]
* JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and
other people at the original blog post)
* LG added by Darryl Smith (based on the JVC protocol)
*/

#include <IRremote.h>

/*
* Default is Arduino pin D11.
* You can change this to another available Arduino Pin.
* Your IR receiver should be connected to the pin defined here
*/
int RECV_PIN = 11;

IRrecv irrecv(RECV_PIN);

decode_results results;

void setup()
{
[Link](9600);
[Link](); // Start the receiver
}

void dump(decode_results *results) {


// Dumps out the decode_results structure.
// Call this after IRrecv::decode()
int count = results->rawlen;
if (results->decode_type == UNKNOWN) {
[Link]("Unknown encoding: ");
}
else if (results->decode_type == NEC) {
[Link]("Decoded NEC: ");

}
else if (results->decode_type == SONY) {
[Link]("Decoded SONY: ");
}
else if (results->decode_type == RC5) {
[Link]("Decoded RC5: ");
}
else if (results->decode_type == RC6) {
[Link]("Decoded RC6: ");
}
else if (results->decode_type == PANASONIC) {
[Link]("Decoded PANASONIC - Address: ");
[Link](results->address, HEX);
[Link](" Value: ");
}
else if (results->decode_type == LG) {
[Link]("Decoded LG: ");
}
else if (results->decode_type == JVC) {
[Link]("Decoded JVC: ");
}
else if (results->decode_type == AIWA_RC_T501) {
[Link]("Decoded AIWA RC T501: ");
}
else if (results->decode_type == WHYNTER) {
[Link]("Decoded Whynter: ");
}
[Link](results->value, HEX);
[Link](" (");
[Link](results->bits, DEC);
[Link](" bits)");
[Link]("Raw (");
[Link](count, DEC);
[Link]("): ");

for (int i = 1; i < count; i++) {


if (i & 1) {
[Link](results->rawbuf[i]*USECPERTICK, DEC);
}
else {
[Link]('-');
[Link]((unsigned long) results->rawbuf[i]*USECPERTICK, DEC);
}
[Link](" ");
}
[Link]();
}

void loop() {
if ([Link](&results)) {
[Link]([Link], HEX);
dump(&results);
[Link](); // Receive the next value
}
}

You might also like