After uploading the code and press one button, the signal received on Serial Monitor was unstable. For example, when I press the 0 button twice, the first hex signal received was '98AD50CC'; however, the second signal was '13CF8905'.
Someone please gives me a favor and thank you for your help.
Compared to the signal list on the Internet I have found, non of the received signal was correct.
The situation repeated with each press was a different response.
It happened with all the buttons.
5V power made the situation worse. It seems like IR receiver with 5V power receive signals not only from my IR remote control but also other IR sources.
I used to work with set top boxes, and one team missed out the power supply decoupling shown, and while it first appeared to work we got thousands of returns from the field, and the customer for the box they were making sued for epidemic failure.
So my conclusion is that the breakout board you have is a very poor implementation of what is needed.
This might be my computer fault at very first. I always use 2400 baud Serial Monitor when Serial.begin(9600) and it works better than 9600 baud Serial Monitor. If I change to 9600 baud, the received signals will go unrecognised like this.
Well, I can't tell you exactly what your problem is with the IR receiver then, but I would say that investigating your baud settings is a great place to start. It seems like something is seriously wrong here between your device, your Arduino, your computer, and your Arduino IDE. It's hardly worth trying anything else until you can your serial monitor baud rate to match your Serial.begin baud rate.