/* * IRremote: IRreceiveDemo - demonstrates receiving 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 * http://arcfn.com */ #include #if defined(ESP32) int IR_RECEIVE_PIN = 15; #elif defined(ARDUINO_AVR_PROMICRO) int IR_RECEIVE_PIN = 10; #else int IR_RECEIVE_PIN = 11; #endif IRrecv IrReceiver(IR_RECEIVE_PIN); // On the Zero and others we switch explicitly to SerialUSB #if defined(ARDUINO_ARCH_SAMD) #define Serial SerialUSB #endif void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(115200); #if defined(__AVR_ATmega32U4__) || defined(SERIAL_USB) || defined(SERIAL_PORT_USBVIRTUAL) delay(2000); // To be able to connect Serial monitor after reset and before first printout #endif // Just to know which program is running on my Arduino Serial.println(F("START " __FILE__ " from " __DATE__)); // In case the interrupt driver crashes on setup, give a clue // to the user what's going on. Serial.println("Enabling IRin"); IrReceiver.enableIRIn(); // Start the receiver IrReceiver.blink13(true); // Enable feedback LED Serial.print(F("Ready to receive IR signals at pin ")); Serial.println(IR_RECEIVE_PIN); } void loop() { if (IrReceiver.decode()) { IrReceiver.printResultShort(&Serial); Serial.println(); IrReceiver.resume(); // Receive the next value } delay(100); }