#include "U8glib.h"
float soc = 100;
float voltage = 41.90;
float current = -15.20;
float low = 4.16;
float high = 4.23;
int minTemp = 33;
int maxTemp = 35;
U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_NONE);
//Main Logo
#include "logo.h"
void DrawLogo(void) {
u8g.setFont(u8g_font_profont12);
u8g.setPrintPos(45, 15);
u8g.print("ES90 Battery");
u8g.setPrintPos(60, 25);
u8g.print("Monitor");
u8g.setPrintPos(55, 35);
u8g.print("by Hikage");
u8g.drawXBM( 8, 2, u8g_logo_width, u8g_logo_height, u8g_logo_bits);
}
void Draw(void) {
//10,11,12,15,17,22,29
u8g.setFont(u8g_font_profont15);
u8g.drawStr(10, 30, "Volt: ");
u8g.setPrintPos(70, 30); // set position
u8g.print(voltage);
u8g.drawStr(105, 30, " V");
u8g.drawStr(10, 60, "Load: ");
u8g.setPrintPos(70, 60);
u8g.print(current);
u8g.drawStr(115, 60, "A");
}
void Draw2(void) {
u8g.setFont(u8g_font_profont15);
u8g.drawStr(10, 15, "Volt: ");
u8g.setPrintPos(60, 15); // set position
u8g.print(voltage);
u8g.drawStr(95, 15, " V");
u8g.drawStr(10, 35, "High: ");
u8g.setPrintPos(65, 35); // set position
u8g.print(high);
u8g.drawStr(95, 35, " V");
u8g.drawStr(10, 60, "Low: ");
u8g.setPrintPos(65, 60); // set position
u8g.print(low);
u8g.drawStr(95, 60, " V");
}
void Draw3(void) {
u8g.setFont(u8g_font_profont15);
u8g.drawStr(10, 15, "Charge: ");
u8g.setPrintPos(65, 15);
u8g.print(soc);
u8g.drawStr(85, 15, " %");
u8g.drawStr(10, 35, "Min T: ");
u8g.setPrintPos(65, 35);
u8g.print(minTemp);
u8g.drawStr(85, 35, " C");
u8g.drawStr(10, 60, "Max T: ");
u8g.setPrintPos(65, 60);
u8g.print(maxTemp);
u8g.drawStr(85, 60, " C");
}
void setup(void) {
// flip screen, if required
// u8g.setRot180();
}
void loop(void) {
//Main Logo
u8g.firstPage();
do {
DrawLogo();
} while (u8g.nextPage());
delay(3500);
//Voltage, Load
u8g.firstPage();
do {
Draw();
} while (u8g.nextPage() );
delay(3500);
//Voltage, High, Low
u8g.firstPage();
do {
Draw2();
} while (u8g.nextPage());
delay(3500);
//Charge, Min T, Max T
u8g.firstPage();
do {
Draw3();
} while (u8g.nextPage());
delay(3500);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
ssd1306:DATA
ssd1306:CLK
ssd1306:DC
ssd1306:RST
ssd1306:CS
ssd1306:3V3
ssd1306:VIN
ssd1306:GND