Acabo de comenzar en esto de arduino, me he interesado mucho en el tema, compre arduino uno R3 LCD 16x2 con I2C, y en mis pruebas para adquirir conocimiento me topé con que el LCD me comenzó a mostrar caracteres raros o solo mostraba los cuadritos de arriba iluminados, estaba a punto de comprar un LCD nuevo, cada que estoy aprendiendo de algo daño muchos componentes pero aprendo de prueba y error, el caso es que pensando mucho en el tema y buscando en la web, me encontré que muchos tienen el mismo problema, pues a mí la lógica me dijo que investigara sobre esos LCD y encontré que tienen una rutina de encendido y no se les puede enviar todos los comandos al mismo tiempo, es por eso que empecé probando todas las rutinas de encendido del LCD hasta que encontré una que me funciono, en la rutina me asegure de no enviar todas instrucciones al mismo tiempo, les di un segundo de diferencia entre una instrucción y otra, aunque lo más aconsejable es darles dos segundos, después de instalarle más de tres veces el sketch la pantalla comenzó a mostrar uno que otro carácter legible, pero deje encendido el arduino mientras cenaba y cuando regrese ya estaba mostrando los caracteres normalmente, luego para asegurarme de que era lo que lo había vuelto loco, le mande muchas instrucciones al mismo tiempo y en desorden de encendido, y de nuevo se volvió loco, pero había guardado el sketch con las rutinas correctas y de nuevo después de instalarlo 3 veces y esperar un poco, bwala, eureka, funciono normalmente, lo he dañado varias veces a propósito y de nuevo cargo las rutinas correctas y de nuevo trabaja correctamente, voy a dejar el sketch que uso para reparar el LCD, espero les ayude o que este sea su caso.