#include <U8g2lib.h>
// 定义OLED的分辨率和构造函数,请根据你的OLED型号和连接方式修改
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64
#define OLED_RESET 4 // OLED复位引脚,如果不使用则设为-1
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, OLED_RESET, U8X8_PIN_NONE); // 初始化U8G2对象
// 定义按键引脚
#define honggan_Pin 2
#define shajun_Pin 3
#define huli_Pin 4
PROGMEM const uint8_t logo[] {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0x7F, 0xE0, 0xFF, 0x0F, 0xFE, 0xC0, 0x00, 0x03, 0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x80, 0xFF, 0x7F, 0xE0, 0xFF, 0x1F, 0xFE, 0xC6, 0xC0, 0xE7, 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0x00, 0x60, 0x10, 0x18, 0x30, 0xDC, 0xC0, 0xE7, 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0x7F, 0x60, 0x10, 0x18, 0x30, 0xD8, 0x00, 0x01, 0x03, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xC0, 0x00, 0x60, 0x38, 0x1C, 0xFC, 0xC0, 0x00, 0xE1, 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x80, 0xFF, 0xFF, 0xE0, 0xFF, 0x1F, 0xFE, 0xC6, 0x00, 0xE7, 0x1F, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x80, 0x3F, 0xFE, 0x60, 0x30, 0x18, 0x30, 0xCE, 0x80, 0x07, 0x10, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFC, 0x1F, 0x60, 0x10, 0x18, 0xB4, 0xD8, 0xC0, 0x33, 0x10, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0xFF, 0x7F, 0x60, 0x30, 0x18, 0xF6, 0xC0, 0x00, 0x61, 0x18, 0xFC, 0xFF, 0xFF, 0xFF, 0x7F, 0x00, 0x03, 0x60, 0xE0, 0xFF, 0x0F, 0xB6, 0xC0, 0x00, 0xC3, 0x0C, 0xF8, 0xFF, 0xFF, 0xFF, 0x3F, 0x00, 0xFF, 0x7F, 0xC0, 0xFF, 0x0F, 0xB6, 0xFE, 0x01, 0x83, 0x07, 0xF0, 0xFF, 0xFF, 0xFF, 0x1F, 0x00, 0x03, 0x60, 0x00, 0x10, 0x00, 0xB6, 0xFC, 0x01, 0x83, 0x03, 0xE0, 0xFF, 0xFF, 0xFF, 0x0F, 0x00, 0xFF, 0x7F, 0x00, 0x30, 0x00, 0xB6, 0xC0, 0x00, 0x83, 0x07, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0xFF, 0x7F, 0x00, 0x30, 0x00, 0xB6, 0xC0, 0x80, 0xC1, 0x0C, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x03, 0x20, 0x00, 0x30, 0x00, 0xB4, 0xC0, 0x80, 0x71, 0x18, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xFF, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8, 0xFF, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0xFF, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
PROGMEM const uint8_t logo_honggan[] {
0x00, 0x08, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x3E, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 0x80, 0xC3, 0x00, 0x00, 0x80, 0xC1, 0x00, 0x00, 0xC0, 0x80, 0x01, 0x00, 0xC0, 0x80, 0x01, 0x00, 0x60, 0x00, 0x01, 0x00, 0x30, 0x00, 0x00, 0x00, 0x30, 0x00, 0x18, 0x00, 0x18, 0x00, 0xFE, 0x00, 0x18, 0x07, 0xC3, 0x01, 0x0C, 0xFE, 0x01, 0x01, 0x0C, 0xF8, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x7C, 0x00, 0x0C, 0x03, 0xEF, 0x01, 0x0C, 0xCE, 0x83, 0x01, 0x18, 0xFC, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x00,
};
PROGMEM const uint8_t logo_min[] {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFC,0x20,0xF8,0x07,0xCF,0xCF,0x61,0x78,0x0E,0x07,0x83,0x21,0x18,0x0C,0x03,0x83,0x21,0x18,0x08,0x03,0x83,0x21,0x08,0x08,0x03,0x83,0x21,0x08,0x08,0x03,0x83,0x21,0x08,0x08,0x03,0x83,0x21,0x08,0x08,0x03,0x83,0x21,0x08,0x08,0x03,0x83,0x21,0x08,0x08,0x03,0x83,0x21,0x08,0x08,0x03,0x83,0x61,0x0C,0x18,0x02,0x81,0x21,0x08,0x08,
};
PROGMEM const uint8_t logo_huli[] {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x87,0x3F,0x00,0xF8,0xCF,0x7F,0x00,0x3C,0xFE,0xF1,0x00,0x0E,0x78,0xC0,0x01,0x07,0x30,0x80,0x03,0x07,0x00,0x80,0x03,0x03,0x00,0x00,0x03,0x03,0x30,0x00,0x03,0x03,0x30,0x00,0x03,0x03,0x30,0x00,0x03,0x07,0xB6,0x01,0x03,0x07,0xFF,0x83,0x03,0x0E,0xFF,0xC3,0x01,0x0C,0x30,0xC0,0x01,0x1C,0x30,0xE0,0x00,0x78,0x30,0x70,0x00,0xF0,0x30,0x3C,0x00,0xE0,0x01,0x1E,0x00,0xC0,0x03,0x0F,0x00,0x00,0xCF,0x03,0x00,0x00,0xFE,0x01,0x00,0x00,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
};
PROGMEM const uint8_t logo_shajun[] {
0x00,0x40,0x00,0x00,0x00,0x71,0x00,0x00,0x80,0xFF,0x88,0x01,0x80,0x9D,0xCF,0x01,0xF0,0x00,0x61,0x00,0xF8,0x00,0x30,0x00,0x18,0x00,0x9C,0x00,0x18,0x06,0xCE,0x00,0x18,0x07,0xC7,0x00,0x0E,0x87,0xC3,0x00,0x07,0xC2,0xC0,0x00,0x06,0x60,0xC0,0x01,0x0E,0x38,0x8E,0x03,0x0C,0x1C,0x84,0x03,0x06,0x0E,0xC0,0x01,0x06,0x07,0xC0,0x00,0x8F,0x01,0xC0,0x00,0xCC,0x20,0xC0,0x00,0x70,0x70,0xE0,0x01,0x38,0x20,0x70,0x00,0x4C,0x00,0x18,0x00,0xE6,0x00,0x18,0x00,0x82,0x99,0x1F,0x00,0x80,0xFF,0x09,0x00,0x00,0xE7,0x00,0x00,0x00,0x40,0x00,0x00,
};
void setup() {
pinMode(honggan_Pin, INPUT_PULLUP);
pinMode(shajun_Pin, INPUT_PULLUP);
pinMode(huli_Pin, INPUT_PULLUP);
u8g2.begin(); // 初始化OLED
daijixianshi();
}
void loop() {
if (digitalRead(honggan_Pin) == LOW) {
honggan_display();
}
if (digitalRead(shajun_Pin) == LOW) {
}
if (digitalRead(huli_Pin) == LOW) {
}
}
void honggan_display() {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_logisoso62_tn);
u8g2.setCursor(0, 63); // 重置光标位置
u8g2.print(30);
u8g2.drawXBMP(92, 1, 26, 26, logo_honggan);
u8g2.drawXBMP(86, 45, 37, 18, logo_min);
u8g2.sendBuffer();
}
void shajun_display() {
}
void huli_display() {
}
void daijixianshi() {
u8g2.clearBuffer();
u8g2.drawXBMP(0, 0, 128, 64, logo);
u8g2.sendBuffer();
}