#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
esp32-devkit-c-v4
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
btn1:1.l
btn1:2.l
btn1:1.r
btn1:2.r