Using IR Remote with LCD

Complete newby here. I’m having a problem getting my code to respond in the way that I expect it. I imagine it probably has to do with my variable use.

What I’m trying to accomplish:
I’m using the IR Remote and LiquidCrystal libraries, basically using the tutorial’s code with a few modifications. I’m trying to build a simple reader that will read a variety of IR codes from remotes. I need to be able to take it to a location and read the response from dozens of remotes in different locations. Because of that, want my 1602 LCD to display the code so that I can make note of it for later. I plan to use the codes to create an IR blaster button box that will turn on all of my devices at once (multiple projectors and TVs, multiple manufacturers).

My questions/problems:
Question #1: will this even work to get the codes that I can create a IR transmitter?

Question #2: The Serial Monitor responds fine (formatted the way I want and everything). The LCD simply returns “0”. So I know that it is looping properly, but is somehow not interpreting the data. My gut says that it’s in the variable value “results” somewhere, but I really don’t know. How can I get the LCD to give me a meaningful reading of my remote’s code?

Question #3: Is there a way to store the inputs to retrieve later? For instance, if I go around and gather all of my remotes and get all of their codes, is there any way to download the data when I get back to my computer?

Here is my code:

#include <IRremote.h>
#include <LiquidCrystal.h>
int IR_RECEIVE_PIN = 7; // Receive on pin 11
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
decode_results results;

void setup()
{
  Serial.begin(9600);
  lcd.begin(16,2);
  lcd.print("New Line");
  IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // Start the receiver, enable feedback LED, take LED feedback pin from the internal boards definition

}

void loop() {
  if (IrReceiver.decode()) {
    IrReceiver.printIRResultShort(&Serial);
    lcd.clear();
    lcd.print(results.value, HEX); 
    delay(500);
    IrReceiver.resume(); // Continue receiving
  }
}

Don’t use delay() in your projects as it stops program execution for that amount of time.

Look at the examples that come with each library and fully understand them before you proceed with the final project.

What you are proposing is all doable.

@ender40003

Your topic was Moved to it’s current location / section as it is more suitable.

Could you also take a few moments to Learn How To Use The Forum.

Other general help and troubleshooting advice can be found here.
It will help you get the best out of the forum in the future.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.