#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST); // Fast I2C / TWI
int progress = 0;
void setup() {
u8g.setFont(u8g_font_unifont);
u8g.setColorIndex(1);
}
void loop0() {
u8g.firstPage();
do {
u8g.drawStr(25, 50, "Progress Bar");
u8g.drawFrame(0, 10, 128, 20);
u8g.drawBox(10, 15, progress, 10);
} while ( u8g.nextPage() );
if (progress < 108) {
progress++;
} else {
progress = 0;
}
}
/*
// please put some text you'll search for one day here
// OLED minimum sketch
# include <U8glib.h>
# include <Wire.h>
U8GLIB_SSD1306_128X32 u8g(U8G_I2C_OPT_NONE);
void setupOLED()
{
Wire.begin();
u8g.setFont(u8g_font_unifont);
u8g.setColorIndex(1);
}
void setup()
{
setupOLED();
mySetup(115200);
xprintf("\nhello world.\n");
}
*/
void loop()
{
loopz();
}
// u8g by pages
void loopz(void) {
u8g.firstPage();
do {
draw();
} while (u8g.nextPage());
}
// redraw the entire OLED display
void draw(void) {
u8g.drawStr( 0, 10, "Seriously");
u8g.drawStr( 0, 32, "3.141592653589793");
}
// programmer misses printf...
void xprintf(const char *format, ...)
{
char buffer[256];
va_list args;
va_start(args, format);
vsprintf(buffer, format, args);
va_end(args);
Serial.print(buffer);
}
// programmer forgets day of week, version
void mySetup(unsigned long bandRate)
{
Serial.begin(bandRate);
char s[] = __FILE__;
byte b = sizeof(s);
while ( (b > 0) && (s[b] != 47)) b--;
char *u = s + b + 1;
xprintf("\nHEllo WOrld!\n");
xprintf("%s %s\n\n", __DATE__, u);
xprintf("!\n");
}
Loading
ssd1306
ssd1306