《Arduino》开发 之 用 u8g2 库 给 0.96寸OLED 刷bmp图片,OLED图片取模 |
您所在的位置:网站首页 › oled取模软件使用方法视频教程 › 《Arduino》开发 之 用 u8g2 库 给 0.96寸OLED 刷bmp图片,OLED图片取模 |
问题:在使用arduino环境下u8g2库时,我们会遇到刷图片的问题,今天就带大家一步一步学习如何用IIC协议的0.96寸OLED显示一幅图片。 开发环境:Arduino (1.8.10) 或 VScode 环境下 PlatformIO 插件 硬件:ESP8266 或 Arduino UNO 接线: 1.ESP8266 ESP8266NODEMCU gpio5D1SCLgpio4D2SDA2.Arduino UNO SDA,SCL是模拟口 A4 和 A5 所用开发库: 2.25.10 图片取模 下载一幅图片2.用电脑自带工具 画图 打开 修改像素为64*64 另存图片为 单色位图*bmp格式 得到这么一幅图片 打开取模工具 PCtoLCD2002 模式选择为 图形模式 打开刚才另存的图片: 点击 设置 修改选项: 记得点击 确定 哦!!! 然后拷贝下面数组到程序中! #define bmp1_x 64 #define bmp1_y 64 static const unsigned char bmp1[] U8X8_PROGMEM = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0x00,0x0F,0x00, 0x00,0x90,0x07,0x00,0x00,0xC0,0x08,0x00,0x00,0x08,0x0F,0x00,0x00,0x70,0x10,0x00,0x00,0x08,0x1E,0x00,0x00,0x38,0x10,0x00,0x00,0x08,0x7D,0x00,0x00,0x1E,0x10,0x00, 0x00,0x08,0xFA,0x00,0x00,0x0F,0x30,0x00,0x00,0x04,0xF4,0x03,0xC0,0x07,0x20,0x00,0x00,0x04,0xE8,0x07,0xE0,0x13,0x30,0x00,0x00,0x04,0xFA,0xFF,0xFF,0x0B,0x20,0x00, 0x00,0x44,0xD4,0xFF,0xFF,0x27,0x20,0x00,0x00,0x84,0xE8,0xFF,0xFF,0x9F,0x30,0x00,0x00,0x04,0xF1,0xFF,0xFF,0x5F,0x30,0x00,0x00,0x04,0xFA,0x3F,0xFE,0x3F,0x10,0x00, 0x00,0x80,0xFC,0x1F,0xFC,0x7F,0x10,0x00,0x00,0x08,0xFE,0x0F,0xF8,0x7F,0x10,0x00,0x00,0x08,0xFF,0x07,0xF0,0xFF,0x10,0x00,0x00,0x88,0xFF,0x03,0xE0,0xFF,0x11,0x00, 0x00,0x88,0x0F,0x03,0xE0,0xF0,0x09,0x00,0x00,0xD0,0x03,0x00,0x00,0xC0,0x0B,0x00,0x00,0xD0,0x01,0x00,0x00,0x80,0x07,0x00,0x00,0xE0,0xE1,0x09,0x80,0x07,0x07,0x00, 0x00,0xE0,0xF0,0x03,0xC0,0x0F,0x07,0x00,0x00,0xE0,0xF8,0x17,0xE0,0x1F,0x07,0x00,0x00,0xE0,0xF8,0x07,0xE0,0x1F,0x07,0x00,0x00,0xE0,0xF8,0x07,0xE0,0x1F,0x07,0x00, 0x00,0xE0,0xF8,0x07,0xE0,0x1F,0x07,0x00,0x00,0xE0,0xF1,0x03,0xC0,0x8F,0x07,0x00,0x00,0xE0,0xE1,0x91,0x11,0xC3,0x07,0x00,0x00,0xE0,0x03,0x00,0x20,0xE0,0x07,0x00, 0x00,0xC0,0x0F,0x00,0x00,0xF0,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x02,0x00,0x00,0x40,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x20,0x00,0x00, 0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };
这一种是图片取模,还有一种是直接自定义的: 打开取模工具 PCtoLCD2002 模式选择为 图形模式 新建一幅图像 : 用左键画画上一些东西(提示:右键擦除点) 设置修改参数 ,与刚才的一致,不再赘述~ 拷贝数组到你的程序中。接下来让我们看下效果吧 示例代码 #include #include #ifdef U8X8_HAVE_HW_SPI #include #endif #ifdef U8X8_HAVE_HW_I2C #include #endif U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); #define bmp1_x 64 #define bmp1_y 64 static const unsigned char bmp1[] U8X8_PROGMEM = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD0,0x00,0x00,0x00,0x00,0x0F,0x00, 0x00,0x90,0x07,0x00,0x00,0xC0,0x08,0x00,0x00,0x08,0x0F,0x00,0x00,0x70,0x10,0x00,0x00,0x08,0x1E,0x00,0x00,0x38,0x10,0x00,0x00,0x08,0x7D,0x00,0x00,0x1E,0x10,0x00, 0x00,0x08,0xFA,0x00,0x00,0x0F,0x30,0x00,0x00,0x04,0xF4,0x03,0xC0,0x07,0x20,0x00,0x00,0x04,0xE8,0x07,0xE0,0x13,0x30,0x00,0x00,0x04,0xFA,0xFF,0xFF,0x0B,0x20,0x00, 0x00,0x44,0xD4,0xFF,0xFF,0x27,0x20,0x00,0x00,0x84,0xE8,0xFF,0xFF,0x9F,0x30,0x00,0x00,0x04,0xF1,0xFF,0xFF,0x5F,0x30,0x00,0x00,0x04,0xFA,0x3F,0xFE,0x3F,0x10,0x00, 0x00,0x80,0xFC,0x1F,0xFC,0x7F,0x10,0x00,0x00,0x08,0xFE,0x0F,0xF8,0x7F,0x10,0x00,0x00,0x08,0xFF,0x07,0xF0,0xFF,0x10,0x00,0x00,0x88,0xFF,0x03,0xE0,0xFF,0x11,0x00, 0x00,0x88,0x0F,0x03,0xE0,0xF0,0x09,0x00,0x00,0xD0,0x03,0x00,0x00,0xC0,0x0B,0x00,0x00,0xD0,0x01,0x00,0x00,0x80,0x07,0x00,0x00,0xE0,0xE1,0x09,0x80,0x07,0x07,0x00, 0x00,0xE0,0xF0,0x03,0xC0,0x0F,0x07,0x00,0x00,0xE0,0xF8,0x17,0xE0,0x1F,0x07,0x00,0x00,0xE0,0xF8,0x07,0xE0,0x1F,0x07,0x00,0x00,0xE0,0xF8,0x07,0xE0,0x1F,0x07,0x00, 0x00,0xE0,0xF8,0x07,0xE0,0x1F,0x07,0x00,0x00,0xE0,0xF1,0x03,0xC0,0x8F,0x07,0x00,0x00,0xE0,0xE1,0x91,0x11,0xC3,0x07,0x00,0x00,0xE0,0x03,0x00,0x20,0xE0,0x07,0x00, 0x00,0xC0,0x0F,0x00,0x00,0xF0,0x03,0x00,0x00,0xC0,0x07,0x00,0x00,0x00,0x02,0x00,0x00,0x40,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x20,0x00,0x00, 0x00,0x00,0x08,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; #define bmp2_x 128 #define bmp2_y 64 static const unsigned char bmp2[] U8X8_PROGMEM = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x01,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04, 0x00,0x01,0x00,0x00,0x01,0x00,0xF8,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0xFF,0x07,0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x07,0x00,0x00,0x21,0x00,0x00,0xA0,0x01,0x00, 0x00,0x01,0x00,0x00,0x01,0x00,0x00,0x04,0x00,0x00,0x21,0x00,0x00,0x30,0x00,0x00,0x00,0x01,0x00,0x80,0x01,0x00,0x00,0x06,0x00,0x00,0x21,0x00,0x00,0x10,0x00,0x00, 0x00,0x01,0x00,0x80,0x00,0x00,0xE0,0x03,0x00,0x00,0x21,0x00,0x00,0x10,0x00,0x00,0x00,0x01,0x00,0x40,0x00,0x00,0x60,0x00,0x00,0x00,0x23,0x10,0x00,0x30,0x00,0x00, 0x00,0x01,0x00,0x60,0x00,0x00,0x80,0x03,0x00,0x00,0xFE,0x1F,0x00,0x60,0x00,0x00,0x00,0x01,0x00,0x18,0x00,0x00,0x00,0x04,0x00,0x00,0x20,0x00,0x00,0x80,0x01,0x00, 0x00,0x01,0x80,0x0F,0x00,0x00,0x00,0x04,0x00,0x00,0x30,0x00,0x00,0x00,0x1E,0x00,0x00,0x01,0x80,0x3F,0x00,0x00,0x00,0x06,0x00,0x00,0x10,0x00,0x00,0x00,0xE0,0x00, 0x00,0x00,0x00,0xC0,0x03,0x00,0x00,0x03,0x00,0x00,0x10,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x01,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x03, 0x00,0x00,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x38,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x96,0x2A,0x00,0x00,0x00,0x00,0xF0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x80,0x02,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x44,0xA4,0x22,0x49,0x02,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x12,0x00,0x00,0x04,0x00,0x50,0x2A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x2C,0x00,0x00,0x00,0x18,0x00,0x00,0x40,0x01,0x00, 0x00,0x00,0x00,0x00,0x00,0x20,0x03,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x18,0x00, 0x00,0x00,0xF0,0xAD,0x55,0x9D,0x4B,0x69,0x3B,0x00,0xC0,0x00,0x00,0x00,0x10,0x00,0x00,0x40,0x0E,0x00,0x00,0x38,0x01,0x00,0xC0,0x01,0x80,0x00,0x00,0x00,0x10,0x00, 0x00,0xC0,0x01,0x00,0x00,0x6E,0x01,0x00,0x1F,0x01,0x80,0x00,0x00,0x00,0x10,0x00,0x00,0xC0,0x00,0x00,0x80,0xC7,0x01,0xC0,0x10,0x02,0xFC,0x00,0x00,0x00,0x10,0x00, 0x00,0xB0,0x00,0x00,0xC0,0x84,0x02,0x30,0x20,0x82,0x83,0x00,0x00,0x00,0x10,0x00,0x00,0x18,0x01,0x00,0x30,0x82,0x03,0x08,0x20,0x42,0xC0,0x00,0x00,0x00,0x10,0x00, 0x00,0x0C,0x03,0x00,0x18,0x02,0x01,0x06,0x40,0x21,0xC0,0x00,0x00,0x00,0x10,0x00,0x00,0x04,0x06,0x00,0x06,0x02,0x05,0x01,0x40,0x11,0xA0,0x00,0x00,0x00,0x18,0x00, 0x00,0x06,0x0C,0x00,0x03,0x04,0xC7,0x00,0xC0,0x08,0x90,0x1E,0x00,0x00,0x08,0x00,0x00,0x00,0x18,0xC0,0x00,0x04,0x2A,0x00,0xE0,0x04,0x88,0x11,0x00,0x00,0x08,0x00, 0x00,0x00,0x60,0x70,0x00,0x04,0x1A,0x00,0x90,0x06,0x84,0x30,0xE0,0x01,0x0C,0x00,0x00,0x00,0x80,0x0F,0x00,0x08,0x1E,0x00,0x88,0x02,0x02,0x20,0x38,0x03,0x06,0x00, 0x00,0x00,0x00,0x00,0x00,0x18,0x24,0x00,0x82,0xC1,0x00,0x20,0x0E,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0xC0,0x80,0x01,0x20,0x00,0x40,0x02,0x82,0x01,0x00, 0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x21,0x00,0x0C,0x00,0xC0,0x01,0x62,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x16,0x00,0x02,0x00,0x80,0x01,0x32,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x6E,0x3B,0xD8,0x00,0x00,0x80,0x00,0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x05,0x00,0x00,0xC0,0x00,0x06,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; void setup(void) { u8g2.begin(); } void loop(void) { u8g2.firstPage(); do { u8g2.setFont(u8g2_font_ncenB14_tr); u8g2.drawXBMP(32,0, bmp1_x, bmp1_y, bmp1); } while ( u8g2.nextPage() ); delay(500); u8g2.firstPage(); do { u8g2.setFont(u8g2_font_ncenB14_tr); u8g2.drawXBMP(0,0, bmp2_x, bmp2_y, bmp2); } while ( u8g2.nextPage() ); delay(500); }上传代码到你的ESP8266或者Arduino UNO 中 你会看到以下效果 演示结果
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |