#include <WiFi.h>

#include <LiquidCrystal_I2C.h>
#include "Button.h"

#define BUTTON 2

LiquidCrystal_I2C display(0x27, 16, 2);
int wifiNetworksCount = 0;

void showNextNetwork()
{
  static int wifiNetworkNumber = 0;

  if(wifiNetworksCount > 0)
  {
    display.clear();
    display.setCursor(0,0);
    display.print(WiFi.SSID(wifiNetworkNumber));
    display.setCursor(0,1);
    display.print("dBm = ");
    display.print(WiFi.RSSI(wifiNetworkNumber));

    ++wifiNetworkNumber;
    if(wifiNetworkNumber >= wifiNetworksCount)
    {
      wifiNetworkNumber = 0;
    }
  }  
};

Button button(BUTTON, showNextNetwork);

void setup() 
{
  Wire.begin(21,22);
  display.begin(16,2);
  WiFi.begin();
  wifiNetworksCount = WiFi.scanNetworks();
  if(wifiNetworksCount > 0)
  {
    display.print("Nets count: ");
    display.print(wifiNetworksCount);
    display.setCursor(0,1);
    display.print("Push to view");
  }
  else
  {
    display.print("No available");
    display.setCursor(0,1);
    display.print("networks");
  }
}

void loop() 
{
  button.process();
  delay(10); // this speeds up the simulation
}
Loading
esp32-devkit-c-v4
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r