#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
// #include <NTPClient.h>
// #include <SoftwareSerial.h>
#define SCREEN_WIDTH 128 // OLED width, in pixels
#define SCREEN_HEIGHT 64 // OLED height, in pixels
int battery;
// create an OLED oled object connected to I2C
Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
// static const unsigned char PROGMEM litleHeart[] =
// { 0x03, 0xC0, 0xF0, 0x06, 0x71, 0x8C, 0x0C, 0x1B, 0x06, 0x18, 0x0E, 0x02, 0x10, 0x0C, 0x03, 0x10,
// 0x04, 0x01, 0x10, 0x04, 0x01, 0x10, 0x40, 0x01, 0x10, 0x40, 0x01, 0x10, 0xC0, 0x03, 0x08, 0x88,
// 0x02, 0x08, 0xB8, 0x04, 0xFF, 0x37, 0x08, 0x01, 0x30, 0x18, 0x01, 0x90, 0x30, 0x00, 0xC0, 0x60,
// 0x00, 0x60, 0xC0, 0x00, 0x31, 0x80, 0x00, 0x1B, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x04, 0x00,
// };
// 'pngwing', 32x32px
const unsigned char temp1 [] PROGMEM = {
0x00, 0x01, 0xc0, 0x00, 0x00, 0x07, 0xf0, 0x00, 0x00, 0x06, 0x30, 0x00, 0x00, 0x05, 0xd0, 0x00,
0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00,
0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00,
0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00,
0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00, 0x00, 0x05, 0xd0, 0x00,
0x00, 0x0d, 0xd8, 0x00, 0x00, 0x1d, 0xdc, 0x00, 0x00, 0x1b, 0xcc, 0x00, 0x00, 0x33, 0xe6, 0x00,
0x00, 0x37, 0xf6, 0x00, 0x00, 0x37, 0xf6, 0x00, 0x00, 0x37, 0xf6, 0x00, 0x00, 0x33, 0xe6, 0x00,
0x00, 0x19, 0xcc, 0x00, 0x00, 0x1c, 0x1c, 0x00, 0x00, 0x0f, 0xf8, 0x00, 0x00, 0x03, 0xe0, 0x00
};
// 'pngwing', 32x32px
const unsigned char temp2 [] PROGMEM = {
0x00, 0x03, 0xc0, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00,
0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00,
0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00,
0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x04, 0x20, 0x00,
0x00, 0x04, 0x20, 0x00, 0x00, 0x05, 0xa0, 0x00, 0x00, 0x05, 0xa0, 0x00, 0x00, 0x05, 0xa0, 0x00,
0x00, 0x05, 0xa0, 0x00, 0x00, 0x05, 0xa0, 0x00, 0x00, 0x05, 0xa0, 0x00, 0x00, 0x09, 0x90, 0x00,
0x00, 0x13, 0xc8, 0x00, 0x00, 0x17, 0xe8, 0x00, 0x00, 0x17, 0xe8, 0x00, 0x00, 0x17, 0xe8, 0x00,
0x00, 0x17, 0xe8, 0x00, 0x00, 0x19, 0xd8, 0x00, 0x00, 0x0c, 0x30, 0x00, 0x00, 0x03, 0xc0, 0x00
};
const unsigned char suhu [] PROGMEM =
{
0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1f, 0x00,
0x00, 0x00, 0x00, 0x00, 0x38, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18,
0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00,
0x00, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x60, 0x00, 0x00,
0x00, 0x00, 0x00, 0x18, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x60,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00,
0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f,
0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x00, 0x00, 0x00, 0x00,
0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff, 0x03, 0x00,
0x00, 0x00, 0x80, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff,
0x0f, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0xe0,
0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x0f, 0x00, 0x00,
0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f,
0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0x00, 0xe0, 0xff,
0xff, 0x1f, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00,
0xc0, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xff, 0x0f, 0x00,
0x00, 0x00, 0xc0, 0xff, 0xff, 0x07, 0x00, 0x00, 0x00, 0x80, 0xff, 0xff,
0x07, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00,
0xfe, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7f, 0x00, 0x00, 0x00,
0x00, 0x00, 0xf0, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
0x00, 0x00
};
#define FRAME_DELAY (42)
#define FRAME_WIDTH (32)
#define FRAME_HEIGHT (32)
#define FRAME_COUNT (sizeof(frames) / sizeof(frames[0]))
int frame = 0;
const byte PROGMEM frames[][128] = {
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 7, 192, 0, 0, 14, 224, 0, 0, 12, 48, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 15, 240, 0, 0, 14, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 96, 2, 0, 0, 64, 3, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 3, 0, 0, 96, 6, 0, 0, 48, 6, 0, 0, 56, 12, 0, 0, 15, 120, 0, 0, 7, 224, 0},
{0, 7, 192, 0, 0, 14, 224, 0, 0, 12, 32, 0, 0, 8, 48, 0, 0, 11, 176, 0, 0, 15, 240, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 96, 2, 0, 0, 64, 3, 0, 0, 64, 1, 0, 0, 64, 3, 0, 0, 64, 3, 0, 0, 64, 3, 0, 0, 96, 2, 0, 0, 48, 6, 0, 0, 56, 12, 0, 0, 15, 120, 0, 0, 7, 224, 0},
{0, 7, 192, 0, 0, 14, 224, 0, 0, 8, 32, 0, 0, 8, 32, 0, 0, 15, 224, 0, 0, 14, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 96, 3, 0, 0, 64, 3, 0, 0, 64, 1, 0, 0, 64, 1, 0, 0, 64, 3, 0, 0, 64, 3, 0, 0, 96, 2, 0, 0, 48, 6, 0, 0, 24, 12, 0, 0, 15, 120, 0, 0, 3, 224, 0},
{0, 7, 192, 0, 0, 14, 224, 0, 0, 12, 32, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 15, 252, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 96, 2, 0, 0, 64, 3, 0, 0, 64, 1, 0, 0, 64, 3, 0, 0, 64, 3, 0, 0, 64, 3, 0, 0, 96, 2, 0, 0, 48, 6, 0, 0, 56, 12, 0, 0, 15, 120, 0, 0, 7, 224, 0},
{0, 7, 192, 0, 0, 14, 224, 0, 0, 12, 48, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 8, 60, 0, 0, 14, 252, 0, 0, 15, 240, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 96, 2, 0, 0, 64, 3, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 3, 0, 0, 96, 6, 0, 0, 48, 6, 0, 0, 56, 12, 0, 0, 15, 120, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 31, 248, 0, 0, 51, 204, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 112, 0, 0, 31, 248, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 15, 240, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 15, 240, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 13, 176, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 112, 0, 0, 12, 48, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 124, 0, 0, 15, 240, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 2, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 24, 0, 0, 30, 112, 0, 0, 7, 224, 0},
{0, 3, 224, 0, 0, 7, 112, 0, 0, 4, 48, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 28, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 8, 60, 0, 0, 15, 240, 0, 0, 25, 248, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 192, 6, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 128, 2, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 64, 6, 0, 0, 96, 12, 0, 0, 48, 24, 0, 0, 30, 112, 0, 0, 7, 192, 0},
{0, 3, 224, 0, 0, 7, 112, 0, 0, 4, 16, 0, 0, 4, 16, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 24, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 8, 60, 0, 0, 12, 48, 0, 0, 31, 248, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 192, 6, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 128, 2, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 64, 6, 0, 0, 96, 12, 0, 0, 48, 24, 0, 0, 30, 112, 0, 0, 7, 192, 0},
{0, 3, 224, 0, 0, 7, 112, 0, 0, 4, 48, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 28, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 8, 60, 0, 0, 8, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 192, 6, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 128, 2, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 64, 6, 0, 0, 96, 12, 0, 0, 48, 24, 0, 0, 30, 112, 0, 0, 7, 192, 0},
{0, 3, 192, 0, 0, 6, 112, 0, 0, 12, 48, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 16, 0, 0, 12, 30, 0, 0, 15, 240, 0, 0, 15, 124, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 12, 60, 0, 0, 12, 16, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 8, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 2, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 24, 0, 0, 30, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 15, 240, 0, 0, 15, 240, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 15, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 176, 0, 0, 15, 240, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 240, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0},
{0, 3, 192, 0, 0, 6, 240, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 12, 48, 0, 0, 15, 252, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 12, 60, 0, 0, 12, 48, 0, 0, 24, 24, 0, 0, 48, 12, 0, 0, 96, 6, 0, 0, 64, 2, 0, 0, 192, 2, 0, 0, 192, 3, 0, 0, 192, 3, 0, 0, 64, 3, 0, 0, 64, 2, 0, 0, 96, 6, 0, 0, 96, 4, 0, 0, 48, 28, 0, 0, 14, 112, 0, 0, 7, 224, 0}
};
static const unsigned char PROGMEM logo2_bmp[] = {
0x03,
0xC0,
0xF0,
0x06,
0x71,
0x8C,
0x0C,
0x1B,
0x06,
0x18,
0x0E,
0x02,
0x10,
0x0C,
0x03,
0x10, //Logo2 and Logo3 are two bmp pictures that display on the OLED if called
0x04,
0x01,
0x10,
0x04,
0x01,
0x10,
0x40,
0x01,
0x10,
0x40,
0x01,
0x10,
0xC0,
0x03,
0x08,
0x88,
0x02,
0x08,
0xB8,
0x04,
0xFF,
0x37,
0x08,
0x01,
0x30,
0x18,
0x01,
0x90,
0x30,
0x00,
0xC0,
0x60,
0x00,
0x60,
0xC0,
0x00,
0x31,
0x80,
0x00,
0x1B,
0x00,
0x00,
0x0E,
0x00,
0x00,
0x04,
0x00,
};
static const unsigned char PROGMEM logo3_bmp[] = { 0x01, 0xF0, 0x0F, 0x80, 0x06, 0x1C, 0x38, 0x60, 0x18, 0x06, 0x60, 0x18, 0x10, 0x01, 0x80, 0x08,
0x20, 0x01, 0x80, 0x04, 0x40, 0x00, 0x00, 0x02, 0x40, 0x00, 0x00, 0x02, 0xC0, 0x00, 0x08, 0x03,
0x80, 0x00, 0x08, 0x01, 0x80, 0x00, 0x18, 0x01, 0x80, 0x00, 0x1C, 0x01, 0x80, 0x00, 0x14, 0x00,
0x80, 0x00, 0x14, 0x00, 0x80, 0x00, 0x14, 0x00, 0x40, 0x10, 0x12, 0x00, 0x40, 0x10, 0x12, 0x00,
0x7E, 0x1F, 0x23, 0xFE, 0x03, 0x31, 0xA0, 0x04, 0x01, 0xA0, 0xA0, 0x0C, 0x00, 0xA0, 0xA0, 0x08,
0x00, 0x60, 0xE0, 0x10, 0x00, 0x20, 0x60, 0x20, 0x06, 0x00, 0x40, 0x60, 0x03, 0x00, 0x40, 0xC0,
0x01, 0x80, 0x01, 0x80, 0x00, 0xC0, 0x03, 0x00, 0x00, 0x60, 0x06, 0x00, 0x00, 0x30, 0x0C, 0x00,
0x00, 0x08, 0x10, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x03, 0xC0, 0x00, 0x00, 0x01, 0x80, 0x00
};
void setup() {
Serial.begin(115200);
// initialize OLED oled with I2C address 0x3C
if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("failed to start SSD1306 OLED"));
while (1);
}
delay(2000); // wait two seconds for initializing
oled.clearDisplay(); // clear oled
}
void display_battery() {
oled.clearDisplay();
int screenWidth = 128; // Lebar layar OLED
// Mengatur koordinat x berdasarkan lebar layar
int xRect = screenWidth - 3.5 - 20;
xRect -= 5;
int xText = screenWidth - 3.5 - 20;
int xText2 = screenWidth - 0.5 - 15;
oled.drawRect(xRect, 5, 25, 10, WHITE);
oled.drawRect(xRect + 25, 7.5, 2.5, 5, WHITE);
// oled.fillRect(xRect, 5, (2 * battery / 8), 10, WHITE);
// if (battery <= 50) {
// Mengatur warna teks menjadi putih
oled.setTextColor(WHITE);
oled.setTextSize(1);
// Menempatkan teks "battery" di sebelah kanan objek
oled.setCursor(xText2, 5 + 2);
oled.print(battery);
oled.display();
delay(2000);
// } else {
// // Mengatur warna teks menjadi hitam
// oled.setTextColor(BLACK);
// oled.setTextSize(1);
// // Menempatkan teks "battery" di sebelah kanan objek
// oled.setCursor(xText, 5 + 2);
// oled.print(battery);
// oled.display();
// delay(2000);
// }
}
void loop() {
// oled.clearDisplay(); // Clear the display
// // Draw and display logo2_bmp
// oled.drawBitmap(0, 0, temp1, 32, 32, WHITE);
// oled.display();
// delay(500); // Display for 2 seconds
// oled.clearDisplay(); // Clear the display
// // Draw and display logo3_bmp
// oled.drawBitmap(0, 0, temp2, 32, 32, WHITE);
// oled.display();
// delay(500); // Display for 2 seconds
// oled.clearDisplay(); // Clear the display
// // Draw and display logo3_bmp
// oled.drawBitmap(0, 0, suhu, 55, 55, WHITE);
// oled.display();
// oled.drawBitmap(0, 0, frames[frame], FRAME_WIDTH, FRAME_HEIGHT, 1);
// // oled.display();
// frame = (frame + 1) % FRAME_COUNT;
// oled.println("");
// oled.setTextSize(2);
// oled.setCursor(0, 40);
// oled.print("40");
// oled.print(" °C");
// oled.display();
// delay(FRAME_DELAY);
// delay(3000);
battery = 50; // MASUKAN NILAI BATTERY
// oled.drawRect(1, 5, 126, 55, WHITE);
// display_battery();
}