The Address_Search.ino program should search for 32 locations (0x020 - 0x3F); why is it searching only 31 locations; it is missing 0x3F which is probably the address of your LCD. Please, run this program (attached). In this program, I have set the address range : x20 - 0x4F. Please, report back what address value you have got.
Address_Search.ino (520 Bytes)