kankarrio los lcd esos con muchos pines son un rollo de configuración siempre.
Si me permites una sugerencia, en vez de comprarte más arduinos para probar, cómprate una pantalla nueva con interfaz I2C.
Estas pantallas sólo llevan 4 cables.
- 2 son de alimentación.
- Los otros 2 son la línea de datos. Se conectan a dos pines del arduino, llamados SDA y SCL, que en el MEGA son el 20 y 21 respectivamente.
Y ya está.
Si buscas "LCD 1602 I2C" en las webs más comunes, los encuentras a patadas.
Desventajas: que no se pincha en la placa (tienes que cablearlo), aunque a mi eso me parece una ventaja. También, que no lleva botones, pero también me parece una ventaja. Si sólo necesitas 2 botones, no te hace falta ocupar todos los pines, y de todas formas un botón es algo que cuesta 5 céntimos y ocupa un pin (+ ground).
Además, y ya que estás, compra una de 20 caracteres x 4 líneas, así puedes poner más cosas. Por ejemplo:
https://es.aliexpress.com/store/product/Serial-IIC-I2C-TWI-2004-204-20-4-Larger-Character-LCD-Module-Display-Yellow-Green-Blue/900905_32969474110.htmlhttps://es.aliexpress.com/store/product/1pcs-LCD-Board-2004-20-4-20X4-LCD-20X4-5V-Blue-screen-LCD2004-display-LCD-module/133690_1951660570.htmlEn cuanto a las librerías, en vez de "LiquidCrystal", se usa "LiquidCrystal _I2C", así:
LiquidCrystal_I2C lcd(0x3F, 20, 4); // dirección I2C, cols, líneas
La dirección de la pantalla suele venir en la web, o las instrucciones, comentarios de los usuarios...
y la API es la misma.
Saludos
Paco