#include <U8glib.h>
//U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST); // Fast I2C / TWI
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
int progress = 0;
void setup() {
Serial.begin(115200);
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A4, INPUT);
pinMode(A5, INPUT);
pinMode(A6, INPUT);
pinMode(A7, INPUT);
u8g.setFont(u8g_font_fub14);
u8g.setColorIndex(1);
u8g.firstPage();
do {
u8g.drawFrame(0, 0, 127, 63);
u8g.drawStr(10, 28, "AIOT QTC");
u8g.drawStr(5, 50, "GPIO Tester");
} while ( u8g.nextPage() );
delay(5000);
}
void loop() {
int Volt1 = analogRead(A0);
int Volt2 = analogRead(A1);
int Volt3 = analogRead(A2);
int Volt4 = analogRead(A3);
int Volt5 = analogRead(A4);
int Volt6 = analogRead(A5);
int Volt7 = analogRead(A6);
int Volt8 = analogRead(A7);
float Volt1F = Volt1 * (5.0 / 1023.0);
float Volt2F = Volt2 * (5.0 / 1023.0);
float Volt3F = Volt3 * (5.0 / 1023.0);
float Volt4F = Volt4 * (5.0 / 1023.0);
float Volt5F = Volt5 * (5.0 / 1023.0);
float Volt6F = Volt6 * (5.0 / 1023.0);
float Volt7F = Volt7 * (5.0 / 1023.0);
float Volt8F = Volt8 * (5.0 / 1023.0);
String Volt1S = String(Volt1F, 2);
String Volt2S = String(Volt2F, 2);
String Volt3S = String(Volt3F, 2);
String Volt4S = String(Volt4F, 2);
String Volt5S = String(Volt5F, 2);
String Volt6S = String(Volt6F, 2);
String Volt7S = String(Volt7F, 2);
String Volt8S = String(Volt8F, 2);
char Volt1Array[10];
Volt1S.toCharArray(Volt1Array, 5);
char Volt2Array[10];
Volt2S.toCharArray(Volt2Array, 5);
char Volt3Array[10];
Volt3S.toCharArray(Volt3Array, 5);
char Volt4Array[10];
Volt4S.toCharArray(Volt4Array, 5);
char Volt5Array[10];
Volt5S.toCharArray(Volt5Array, 5);
char Volt6Array[10];
Volt6S.toCharArray(Volt6Array, 5);
char Volt7Array[10];
Volt7S.toCharArray(Volt7Array, 5);
char Volt8Array[10];
Volt8S.toCharArray(Volt8Array, 5);
u8g.setFont(u8g_font_6x12);
u8g.firstPage();
do {
u8g.drawFrame(0, 0, 127, 63);
u8g.drawStr(24, 10, "GPIO Voltage:");
u8g.drawFrame(0, 12, 127, 4);
u8g.drawBox(0, 13, progress, 2);
u8g.drawFrame(0, 15, 127, 13);
u8g.drawFrame(0, 27, 127, 13);
u8g.drawFrame(0, 39, 127, 13);
u8g.drawFrame(0, 51, 127, 13);
u8g.drawLine(63,15,63,63);
u8g.drawLine(16,15,16,63);
u8g.drawLine(79,15,79,63);
u8g.drawStr(6, 25, "1");
u8g.drawStr(6, 37, "2");
u8g.drawStr(6, 49, "3");
u8g.drawStr(6, 61, "4");
u8g.drawStr(69, 25, "5");
u8g.drawStr(69, 37, "6");
u8g.drawStr(69, 49, "7");
u8g.drawStr(69, 61, "8");
u8g.drawStr(29, 25, Volt1Array);
u8g.drawStr(29, 37, Volt2Array);
u8g.drawStr(29, 49, Volt3Array);
u8g.drawStr(29, 61, Volt4Array);
u8g.drawStr(92, 25, Volt5Array);
u8g.drawStr(92, 37, Volt6Array);
u8g.drawStr(92, 49, Volt7Array);
u8g.drawStr(92, 61, Volt8Array);
} while ( u8g.nextPage() );
Serial.println(Volt1);
//delay(100);
if (progress < 126) {
progress++;
} else {
progress = 0;
}
}