I've attached an I2C version that works with a 16x2 LCD display that has an I2C piggy-back board with the label FC-113. Different I2C boards have different addresses and different orders for the pin-out from the 12C chip on the board to the LCD module, so you may need to edit one line of the sketch to suit your I2C - see below.
Make a folder named SingleChannelTx in your Arduino sketches folder and unzip the files into there.
You need to download the Newliquidcrystal library from here
https://bitbucket.org/fmalpartida/new-l ... downloads/
Get the latest version which was 1.3.5 at the time of writing. I've also attached that version to this post in case the original version ever disappears.
Put the folder from the download inside your Arduino libraries folder. You can leave the folder with its original name of Newliquidcrystal_1.3.5 or rename it to LiquidCrystal_I2C or similar. The name of the folder doesn't matter as long as it doesn't clash with the standard library names: if the name does clash, then the IDE will keep bugging you to update it - and if you do update it, you'll lose the I2C functionality that you need.
The line that you'll probably need to edit to get it working with your I2C LCD is this one:
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);
If your I2C LCD is one of the more common types then you don't need the list of numbers (that specifies the pin order and whether the backlight pin has to be high or low to make the backlight, if fitted, operate).
But you do have to get the first number right, the I2C address. Common I2C addresses are 0x20 and 0x38. Mine happens to use 0x27.
So the line might be as simple as
LiquidCrystal_I2c lcd(0x20);
If you have some example code that came with your display and works, copy the address, and the pin order from there. If not you have to resort to googling and/or trial and error.
As attached, this version has a rotary encoder with the two encoder pins A0 and A1, and the push button of the rotary encoder to pin 10. A2 is the battery monitor (via potential divider).
You can't use the 'link A5 to GND' trick to reset the EEPROM, as A5 is being used as the SCL line for the I2C display. Easiest way to reset the eeprom, if you need to, is to load up the standard sketch and run that with A5 linked to GND - even though you won't have a working display the reset will still happen, and then you can reload this special I2C sketch afterwards. I could have used one of the now unused pins that used to drive the parallel LCD as a reset pin, but I've not bothered at the moment as I'm not sure how many people will ever want to use this version.