Hi!
I'm i an middle of an amplifier project, and this amp is going to have an i2c driven LCD.
I've hooked it up, and got everything working, but i have one issue. (i'm using the LiquidCrystal_i2c.h library)
when the amp is running normally, the LCD is showing the source (AUX, CD, TAPE etc.), but when I turn up the volume (with a remote or a rotary switch) I want the LCD to show "Vol: x". the thing is that I want the current volume to be shown i a couple of seconds, and then turn back to normal (show the source input). if I continue ut adjust the volume while the LCD is showing "Vol: x", the LCD updates and print immediately the new volume value "Vol: x+-1"
You need to take a look at the BlinkWithoutDelay example.
Record the time when you adjust the volume, and when that time differs from the current time by 2 seconds (or whatever you choose) switch the display back to the source display.
Personally I usually have a "display mode" variable which defines what should be shown at the time, then a function which displays what should be displayed depending on the display mode selected. Then the main routine just selects a different display mode as and when it needs to.
Write down, in words, not code, what you need to do, and when you need to do it. Translating that to code is easy. Knowing what to do is the hard(er) part. It's time for you to demonstrate that you DO know what needs to be done.