/*
程序: ESP32 OLED 使用 U8G2库
大家可以尝试一下改写成为FREERTOS
公众号:孤独的二进制
*/
#include <U8g2lib.h>
#include <Wire.h>
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
void setup() {
u8g2.begin();
}
const uint8_t pontinho_dado[] = {
B00011111, B00000000, //
B01111111, B11000000, //
B11111111, B11100000, //
B11111111, B11100000, //
B11111111, B11100000, //
B01111111, B11000000, //
B00111111, B10000000, //
B00011111, B00000000 //
};
void loop() {
dadoN1();
delay(700);
dadoN2();
delay(700);
dadoN3();
delay(700);
dadoN4();
delay(700);
dadoN5();
delay(700);
dadoN6();
delay(700);
dadoN7();
delay(700);
dadoN8();
delay(700);
dadoN9();
delay(700);
dadoN0();
delay(700);
}
void dadoN9(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN8(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(30-4, 2+8, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
//u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(30-4, 38-9, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN7(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN6(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
//u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN5(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
//u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
//u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN4(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
//u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
//u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
//u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN3(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
//u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
//u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN2(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
//u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
//u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
//u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN1(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
//u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
//u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
//u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}
void dadoN0(){
u8g2.clearBuffer();
u8g2.drawFrame(0,1,62,47);
u8g2.setBitmapMode(1);
u8g2.setColorIndex(1);
//u8g2.drawBitmap(3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna1
//u8g2.drawBitmap(3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna2
u8g2.drawBitmap(30-4, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(30-4, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(52-3, 2+1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura //coluna3
//u8g2.drawBitmap(52-3, 20-1, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
//u8g2.drawBitmap(52-3, 38-2, 2, 9, upir_logo);// 2 bytes de largura, 9 de altura
u8g2.sendBuffer(); // transfer internal memory to the display
}