Waarom werkt de lcd nog niet goed in wokwiki ?

Ja.

Inderdaad. Dit is een screenshot van je wokwi. Waar is de tweede regel die je print met LCD.print(menuItems[counter + 1]); als choice 2 is?

image

Dat je geen probleem ziet betekent niet dat er geen bug is. Het is altijd moeilijk na te bootsen (gewoonlijk kom je de fout tegen en ga je kijken war er fout kan zijn, nu is het omgekeerd).

Kun je het met me eens zijn dat het toevoegen van de regel char buffer[128]; zoals hieronder getoond

char buffer[128];
const char *menuItems[] = {
  "Sweep",
  "Staart",
  "Twee keer",
};

in combinatie met het gebruik van die buffer in setup() geen invloed zou mogen hebben op wat showMenu() toont op het display?

void setup() {

  LCD.begin(16, 2);

  for (uint8_t cnt = 0; cnt < NUMELEMENTS(buttonList); cnt++) {
    pinMode(buttonList[cnt].pin, INPUT_PULLUP);
  }
  Serial.begin(9600);
  showMenu(choice);
  Serial.println("RW");

  Serial.println("RW");
  sprintf(buffer, "Het adres van menuItems[0] = %p", &menuItems[0]);
  Serial.println(buffer);
  sprintf(buffer, "Het adres van menuItems[1] = %p", &menuItems[1]);
  Serial.println(buffer);
  sprintf(buffer, "Het adres van menuItems[2] = %p", &menuItems[2]);
  Serial.println(buffer);
}

Wat dit doet is het printen naar de seriële monitor van de adressen van de elementen van je menuItems array.