U8g2 display menu scoll

Hey guys, im find problem with oled menu scroll with library u8g2. i will show scroll menu, i make 5 menu but cant show all of menu, can anyone help me please

#include <U8g2lib.h>
#include "DHT.h"
#include <Wire.h>
#include <ESP8266WiFi.h>
#define btnup   D3
#define btndown D4
#define btnok   D5
#define btnback D6
#define DHTTYPE DHT11
#define DHTPIN  D7
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
int maxmenu       = 5  ;
int selected      = 0  ;
int entered       = 0  ;
int page          = 0  ;
int stats         = 0  ;
int contrast      = 50 ;
int optionSpacing = 10 ;
int frame         = 0  ;
bool scanning     = false;
int progress;
DHT dht(DHTPIN, DHTTYPE);

const unsigned char epd_bitmap__a_frm4_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x18, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x00, 0xc0, 0xcf, 0x01, 
	0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm6_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xe0, 0x1f, 0x00, 0xf0, 0x3c, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0x60, 0x00, 0x0c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x0c, 0x60, 0x00, 0x18, 0x60, 0x00, 0x38, 0x38, 0x00, 0xf0, 0xff, 0x00, 0xe0, 0xcf, 0x01, 
	0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x1c, 0x00, 
	0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm5_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0x60, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x18, 0x70, 0x00, 0x78, 0x38, 0x00, 0xf0, 0xff, 0x00, 0xc0, 0xcf, 0x01, 
	0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// '_a_frm7,40', 24x24px
const unsigned char epd_bitmap__a_frm7_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x0f, 0x00, 0xf0, 0x3f, 0x00, 0x38, 
	0x30, 0x00, 0x1c, 0x60, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x0c, 0xe0, 0x00, 0x1c, 0x60, 0x00, 0x38, 0x70, 0x00, 0xf0, 0x3f, 0x00, 0xe0, 0xef, 0x00, 
	0x00, 0xc1, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 
	0x00, 0x1c, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm8_50 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xf0, 0x1f, 0x00, 0x38, 
	0x38, 0x00, 0x18, 0x70, 0x00, 0x0c, 0x60, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x0c, 0xe0, 0x00, 0x1c, 0x60, 0x00, 0x38, 0x70, 0x00, 0x70, 0x3c, 0x00, 0xe0, 0xff, 0x00, 
	0x80, 0xe7, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 
	0x00, 0x1c, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm10_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x07, 0x00, 0xe0, 0x1f, 0x00, 0xf0, 
	0x38, 0x00, 0x38, 0x70, 0x00, 0x18, 0xe0, 0x00, 0x1c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x0c, 0xc0, 0x00, 0x18, 0xc0, 0x00, 0x38, 0x60, 0x00, 0x70, 0x70, 0x00, 0xe0, 0xff, 0x00, 
	0xc0, 0xcf, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x0e, 0x00, 
	0x00, 0x1e, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x08
};
const unsigned char epd_bitmap__a_frm9_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0xe0, 0x1f, 0x00, 0x70, 
	0x38, 0x00, 0x38, 0x70, 0x00, 0x1c, 0x60, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x0c, 0xc0, 0x00, 0x1c, 0xe0, 0x00, 0x18, 0x70, 0x00, 0x70, 0x38, 0x00, 0xe0, 0xff, 0x00, 
	0xc0, 0xcf, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x07, 0x00, 0x00, 0x0f, 0x00, 
	0x00, 0x1e, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm12_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0xc0, 0x3f, 0x00, 0xe0, 
	0x70, 0x00, 0x30, 0xe0, 0x00, 0x38, 0xc0, 0x00, 0x18, 0xc0, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 
	0x01, 0x18, 0x80, 0x01, 0x38, 0xc0, 0x00, 0x30, 0xe0, 0x00, 0xf0, 0x70, 0x00, 0xe0, 0xff, 0x01, 
	0x80, 0xdf, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x1e, 0x00, 
	0x00, 0x3c, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm13_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0xc0, 0x3f, 0x00, 0xe0, 
	0x70, 0x00, 0x70, 0xc0, 0x00, 0x38, 0xc0, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 
	0x01, 0x18, 0x80, 0x01, 0x38, 0xc0, 0x01, 0x70, 0xe0, 0x00, 0xe0, 0x70, 0x00, 0xc0, 0xff, 0x01, 
	0x80, 0x9f, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x38, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm11_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0xe0, 0x3f, 0x00, 0xf0, 
	0x78, 0x00, 0x30, 0x60, 0x00, 0x18, 0xc0, 0x00, 0x18, 0xc0, 0x00, 0x18, 0xc0, 0x01, 0x18, 0xc0, 
	0x01, 0x18, 0xc0, 0x00, 0x18, 0xc0, 0x00, 0x38, 0xe0, 0x00, 0x70, 0x70, 0x00, 0xe0, 0xff, 0x00, 
	0xc0, 0xdf, 0x01, 0x00, 0xc0, 0x03, 0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 
	0x00, 0x3c, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm15_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0xe0, 0x7f, 0x00, 0x60, 
	0xe0, 0x00, 0x30, 0xc0, 0x01, 0x30, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 
	0x01, 0x38, 0x80, 0x01, 0x30, 0xc0, 0x01, 0x70, 0xe0, 0x00, 0xe0, 0xfb, 0x01, 0xc0, 0xbf, 0x03, 
	0x00, 0x86, 0x07, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x78, 0x00, 
	0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm14_50 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0xc0, 0x7f, 0x00, 0xe0, 
	0xe0, 0x00, 0x30, 0xc0, 0x00, 0x38, 0xc0, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 
	0x01, 0x38, 0x80, 0x01, 0x30, 0xc0, 0x01, 0x70, 0xe0, 0x00, 0xe0, 0xf1, 0x00, 0xc0, 0xbf, 0x03, 
	0x00, 0x8f, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x78, 0x00, 
	0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm16_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0xc0, 0x3f, 0x00, 0xe0, 0x79, 0x00, 0x70, 
	0xe0, 0x00, 0x30, 0xc0, 0x01, 0x30, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 
	0x01, 0x30, 0x80, 0x01, 0x70, 0xc0, 0x01, 0xe0, 0xe0, 0x00, 0xc0, 0xff, 0x03, 0x80, 0xbf, 0x07, 
	0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x78, 0x00, 0x00, 0x70, 0x00, 
	0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm17_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x00, 0xc0, 0x7f, 0x00, 0xe0, 0xf1, 0x00, 0x70, 
	0xc0, 0x00, 0x30, 0xc0, 0x01, 0x38, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x38, 0x80, 
	0x01, 0x30, 0x80, 0x01, 0x70, 0xc0, 0x00, 0xe0, 0xf0, 0x00, 0xc0, 0xff, 0x03, 0x80, 0x1f, 0x0f, 
	0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x7c, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x60, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm18_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0xc0, 0x7f, 0x00, 0xe0, 0xf0, 0x00, 0x70, 
	0xc0, 0x00, 0x30, 0xc0, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 
	0x01, 0x30, 0xc0, 0x01, 0x70, 0xe0, 0x00, 0xe0, 0xf1, 0x01, 0xc0, 0xbf, 0x07, 0x00, 0x0f, 0x0f, 
	0x00, 0x00, 0x1f, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x78, 0x00, 0x00, 0x70, 0x00, 0x00, 0x60, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm19_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0xe0, 0x7f, 0x00, 0x70, 0xf0, 0x00, 0x30, 
	0xc0, 0x00, 0x18, 0xc0, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0xc0, 
	0x01, 0x38, 0xc0, 0x00, 0x70, 0xe0, 0x00, 0xe0, 0xf9, 0x01, 0xc0, 0xbf, 0x07, 0x00, 0x8f, 0x0f, 
	0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x78, 0x00, 0x00, 0x70, 0x00, 0x00, 0x20, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm20_50 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0xe0, 0x3f, 0x00, 0x70, 0x70, 0x00, 0x38, 
	0xe0, 0x00, 0x18, 0xc0, 0x00, 0x18, 0xc0, 0x01, 0x18, 0x80, 0x01, 0x18, 0x80, 0x01, 0x18, 0xc0, 
	0x00, 0x38, 0xc0, 0x00, 0x70, 0xe0, 0x00, 0xe0, 0xf9, 0x01, 0xc0, 0xbf, 0x03, 0x00, 0x87, 0x07, 
	0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x78, 0x00, 0x00, 0x30, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm22_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x3f, 0x00, 0x70, 0x70, 0x00, 0x38, 
	0x60, 0x00, 0x18, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x1c, 0xc0, 
	0x00, 0x18, 0xe0, 0x00, 0x38, 0x70, 0x00, 0xf0, 0x78, 0x00, 0xe0, 0xdf, 0x01, 0x80, 0xc7, 0x03, 
	0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x38, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm21_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x00, 0xe0, 0x3f, 0x00, 0x70, 0x70, 0x00, 0x38, 
	0xe0, 0x00, 0x18, 0xc0, 0x00, 0x1c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x1c, 0xc0, 0x00, 0x18, 0xc0, 
	0x00, 0x18, 0xe0, 0x00, 0x30, 0x60, 0x00, 0xf0, 0xf8, 0x00, 0xe0, 0xdf, 0x03, 0x00, 0x87, 0x07, 
	0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x78, 0x00, 0x00, 0x30, 0x00, 
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm23_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x3f, 0x00, 0x70, 0x78, 0x00, 0x38, 
	0x60, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x18, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xdf, 0x01, 0x80, 0xc7, 0x03, 
	0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x38, 0x00, 
	0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm24_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x60, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xdf, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0x80, 0x07, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x38, 0x00, 
	0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm25_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0xc0, 0x07, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm26_50 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0xc0, 0x07, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm27_50 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0xc0, 0x07, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm0_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0xc0, 0x07, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm1_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0xc0, 0x07, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm2_50 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0xc0, 0x07, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char epd_bitmap__a_frm3_40 [] PROGMEM = {
	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0xe0, 0x1f, 0x00, 0x70, 0x38, 0x00, 0x38, 
	0x70, 0x00, 0x1c, 0xe0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 0x00, 0x0c, 0xc0, 
	0x00, 0x1c, 0xe0, 0x00, 0x38, 0x70, 0x00, 0x70, 0x78, 0x00, 0xe0, 0xff, 0x01, 0xc0, 0xcf, 0x03, 
	0x00, 0xc0, 0x07, 0x00, 0x80, 0x0f, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x3c, 0x00, 
	0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char* epd_bitmap_allArray[28] = {
	epd_bitmap__a_frm0_40,
	epd_bitmap__a_frm10_40,
	epd_bitmap__a_frm11_40,
	epd_bitmap__a_frm12_40,
	epd_bitmap__a_frm13_40,
	epd_bitmap__a_frm14_50,
	epd_bitmap__a_frm15_40,
	epd_bitmap__a_frm16_40,
	epd_bitmap__a_frm17_40,
	epd_bitmap__a_frm18_40,
	epd_bitmap__a_frm19_40,
	epd_bitmap__a_frm1_40,
	epd_bitmap__a_frm20_50,
	epd_bitmap__a_frm21_40,
	epd_bitmap__a_frm22_40,
	epd_bitmap__a_frm23_40,
	epd_bitmap__a_frm24_40,
	epd_bitmap__a_frm25_40,
	epd_bitmap__a_frm26_50,
	epd_bitmap__a_frm27_50,
	epd_bitmap__a_frm2_50,
	epd_bitmap__a_frm3_40,
	epd_bitmap__a_frm4_40,
	epd_bitmap__a_frm5_40,
	epd_bitmap__a_frm6_40,
	epd_bitmap__a_frm7_40,
	epd_bitmap__a_frm8_50,
	epd_bitmap__a_frm9_40
};

void setup(void) {
  u8g2.begin();
  Serial.begin(115200);
  pinMode(btnup  , INPUT_PULLUP);
	pinMode(btndown, INPUT_PULLUP);
	pinMode(btnok  , INPUT_PULLUP);
	pinMode(btnback, INPUT_PULLUP);
	dht.begin();
  u8g2.enableUTF8Print();
  u8g2.setFontMode(1);	
  u8g2.setDrawColor(1);
  u8g2.setBitmapMode(1);
}

void loop(void) {
  u8g2menu();
  
}

void u8g2menu(void) {
  boolean up    = digitalRead(btnup)  ;
  boolean down  = digitalRead(btndown);
  boolean enter = digitalRead(btnok)  ;
  boolean back  = digitalRead(btnback);

  if (down == LOW) {
    selected = selected + 1;
    if (selected >= maxmenu) selected = 0;
    delay(200);
  };
  if (up == LOW) {
    selected = selected - 1;
    if (selected < 0) selected = maxmenu - 1;
    delay(200);
  };
  if (enter == LOW) {
		if (page == 0) {
    	switch (selected) {
				case 0:
					page += 1;
          scanning = true;
					break;
				case 1:
					page += 2;
					break;
				case 2:
					page += 3;
					break;
				case 3:
					page += 4;
					break;
				default:
					page == 0;
					break;
			}
    }
    // if (page >=0) {
    // scanning =  true;
    // }
  };
  if (back == LOW) {
			page = 0;
  };

  char *options[] = {
    "Wifi Scan",
    "Temperature",
    "Animation",
    "Setting",
    "help",
  };

  if (page == 0) {
    u8g2.clearBuffer();
    u8g2.drawLine(3, 13, 125, 13);
    int yPos = 25;
		int yframepos = 16;
		int i;
    for (i = 0; i < maxmenu; i++) {
      if (i == selected) {
        u8g2.setFont(u8g2_font_courB08_tr);
				u8g2.drawFrame(8,yframepos,112,13);
        u8g2.setCursor(12, yPos);
        u8g2.print(options[i]);
      } else {
        u8g2.setFont(u8g2_font_04b_03_tr);
        u8g2.setCursor(12, yPos);
        u8g2.println(options[i]);
      }
      yPos += optionSpacing;
			yframepos += optionSpacing;
    }
  } else if (page >= 1 && page <=4) {
			wifi();
  }
	u8g2.drawFrame(0, 0, 128, 64);
	u8g2.drawFrame(2, 2, 124, 60);
	u8g2.sendBuffer();
  Serial.println(page);
}

void wifi(void){
  scanning = true;
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);
  int npos = 22;
  u8g2.setFont(u8g2_font_courB08_tr);
  int n = WiFi.scanNetworks();
    while (scanning && progress == 0) {
    for(progress = 0; progress <= 100; progress++) {
      u8g2.clearBuffer();
      u8g2.setBitmapMode(1);
      u8g2.drawFrame(12, 49, 104, 15);
      u8g2.drawBox(14, 51, progress, 11);
      u8g2.setFont(u8g2_font_helvB08_tr);
      u8g2.drawStr(5, 10, "Searching for Network");
      u8g2.drawXBMP(52, 20, 24, 24, epd_bitmap_allArray[frame]);
      u8g2.sendBuffer();
      frame = (frame + 1) % 28;
      delay(42);
    }
    u8g2.clearBuffer();
    u8g2.setFont(u8g2_font_helvB08_tr);
    u8g2.drawStr(20,20,"scan successful");
    u8g2.sendBuffer();
    scanning = false;
    delay(2000);
  }
  u8g2.clearBuffer();
  if (n == 0) {
    u8g2.drawStr(5, 5, "no networks found");
    } else {
    u8g2.setCursor(4, 11);
    u8g2.print(n);
    u8g2.print(" Networks Found");
    for (int i = 0; i < n; ++i) {
      u8g2.setCursor(4, npos);
      u8g2.print(i + 1);
      u8g2.print(" ");
      String ssid = WiFi.SSID(i).substring(0, 15); // Memotong nama SSID menjadi 15 karakter
      u8g2.print(ssid.c_str());
      npos += optionSpacing;
  //     // Serial.printf("%4ld", WiFi.RSSI(i));
  //     //       Serial.print(" | ");
  //     //       Serial.printf("%2ld", WiFi.channel(i));
  //     //       Serial.print(" | ");
  //     //       switch (WiFi.encryptionType(i))
  //     //       {
  //     //       case ENC_TYPE_WEP:
  //     //           Serial.print("WEP");
  //     //           break;
  //     //       case ENC_TYPE_TKIP:
  //     //           Serial.print("WPA");
  //     //           break;
  //     //       case ENC_TYPE_CCMP:
  //     //           Serial.print("WPA2");
  //     //           break;
  //     //       case ENC_TYPE_NONE:
  //     //           Serial.print("NONE");
  //     //           break;
  //     //       case ENC_TYPE_AUTO:
  //     //           Serial.print("AUTO");
  //     //           break;
  //     //       default:
  //     //           Serial.print("unknown");
  //     //       }
  //     //       Serial.println();
  //     //       delay(10);
         }
    }
  //   delay(2000);
  //   WiFi.scanDelete();
}


// void temp(){
//   float h = dht.readHumidity();
//   float t = dht.readTemperature();
//   float f = dht.readTemperature(true);
//   if (isnan(h) || isnan(t) || isnan(f)) {
//     u8g2.println(F("Failed to read from DHT sensor!"));
//     return;
//   }
//   Serial.print(F("Humidity: "));
//   Serial.print(h);
//   Serial.print(F("%  Temperature: "));
//   Serial.print(t);
//   Serial.print(F("°C "));
//   Serial.print(f);
//   Serial.print(F("°F"));
// }

// void logicontras(){
//   if (digitalRead(D3) == LOW) {
//     delay(100); // Debouncing
//     // Tombol ditekan, tambahkan kontras sebanyak 25
//     contrast += 25;
//     if (contrast > 255) {
//       contrast = 255; // Batasi kontras maksimum menjadi 255
//     }
//     u8g2.setContrast(contrast);
//     u8g2Contrast(); // Tampilkan nilai kontras baru
//   }

//   // Baca tombol 2
//   if (digitalRead(D6) == LOW) {
//     delay(100); // Debouncing
//     // Tombol ditekan, kurangi kontras sebanyak 25
//     contrast -= 25;
//     if (contrast < 6) {
//       contrast = 1; // Batasi kontras minimum menjadi 0
//     }
//     u8g2.setContrast(contrast);
//     u8g2Contrast(); // Tampilkan nilai kontras baru
//   }
// }
// void u8g2Contrast() {
//   u8g2.clearBuffer(); // Hapus buffer layar
//   u8g2.setFont(u8g2_font_ncenB14_tr);
//   u8g2.setCursor(0, 20);
//   u8g2.print("Kontras = ");
//   u8g2.println(contrast);
//   u8g2.sendBuffer(); // Kirim buffer ke layar
// }


wokwi simulator
Screenshot 2024-03-27 110338
wokwi link

Your bitmaps are 128x72 while your screen is 128x64.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.