参考太极创客代码
#include <Adafruit_SSD1306.h>
#include <splash.h>
/**********************************************************************
程序名称/Program name : hans_display
团队/Team : 太极创客团队 / Taichi-Maker (www.taichi-maker.com)
作者/Author : Dapenson
日期/Date(YYYYMMDD) : 2020/07/01
程序目的/Purpose :
使用OLED0.96 IIC 12864显示汉字
-----------------------------------------------------------------------
修订历史/Revision History
日期/Date 作者/Author 参考号/Ref 修订说明/Revision Description
-----------------------------------------------------------------------
其它说明:
***********************************************************************/
// 引入IIC通讯所需的Wire库文件
// 教程参考http://www.taichi-maker.com/homepage/reference-index/arduino-library-index/wire-library/
#include <Wire.h>
// 引入驱动OLED0.96所需的库
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128 // 设置OLED宽度,单位:像素
#define SCREEN_HEIGHT 64 // 设置OLED高度,单位:像素
// 自定义重置引脚,虽然教程未使用,但却是Adafruit_SSD1306库文件所必需的
#define OLED_RESET 4
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
static const unsigned char PROGMEM hans_meng[] = {
s
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
0x07,0xFF,0xFF,0x80,0x03,0x00,0x0F,0xC0,0x00,0x00,0x3C,0x00,0x00,0x03,0xF0,0x00,
0x00,0x03,0xC0,0x18,0x00,0x03,0xC0,0x3C,0x7F,0xFF,0xFF,0xFE,0x38,0x03,0xC0,0x00,
0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,0x00,0x03,0xC0,0x00,
0x00,0x3F,0xC0,0x00,0x00,0x0F,0x80,0x00,0x00,0x07,0x00,0x00,0x07,0x00,0x01,0xC0,
0x07,0xFF,0xFF,0xE0,0x07,0x1C,0x71,0xC0,0x07,0x1C,0x71,0xC0,0x07,0x1C,0x71,0xC0,
0x07,0x1C,0x71,0xC0,0x07,0x1C,0x71,0xC0,0x07,0x1C,0x71,0xC0,0x07,0x1C,0x71,0xD8,
0x07,0x1C,0x71,0xFC,0x7F,0xFF,0xFF,0xFE,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"孟",0*/
};
static const unsigned char PROGMEM hans_yao[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x00,0x01,0xF0,
0x00,0x00,0x3F,0x00,0x00,0x27,0xC0,0x10,0x3F,0xF0,0x20,0x38,0x03,0x00,0x18,0x30,
0x03,0x04,0x18,0x60,0x03,0x03,0x0C,0x40,0x03,0x03,0x0C,0x80,0x03,0x03,0x81,0x00,
0x03,0x00,0xC1,0x00,0x03,0x21,0x80,0x20,0x3F,0xF1,0xFF,0xF0,0x03,0x03,0x08,0x00,
0x03,0x06,0x08,0x00,0x03,0x04,0x08,0x00,0x03,0x08,0x08,0x00,0x03,0x00,0x08,0x18,
0x03,0x1F,0xFF,0xFC,0x03,0x00,0x08,0x00,0x03,0x0C,0x08,0x20,0x03,0x77,0x08,0x30,
0x03,0x86,0x08,0x30,0x3E,0x06,0x08,0x30,0x38,0x06,0x08,0x30,0x00,0x06,0x08,0x30,
0x00,0x07,0xFF,0xF0,0x00,0x02,0x00,0x30,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,/*"瑶",1*/
};
static const unsigned char PROGMEM hans_da[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0xC0,0x00,
0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,0x00,0x03,0x80,0x00,
0x00,0x03,0x80,0x18,0x00,0x03,0x80,0x3C,0x7F,0xFF,0xFF,0xFE,0x10,0x03,0x80,0x00,
0x00,0x03,0x80,0x00,0x00,0x03,0xC0,0x00,0x00,0x07,0xC0,0x00,0x00,0x07,0xC0,0x00,
0x00,0x07,0xE0,0x00,0x00,0x07,0x60,0x00,0x00,0x07,0x70,0x00,0x00,0x0F,0x38,0x00,
0x00,0x0E,0x38,0x00,0x00,0x1E,0x1C,0x00,0x00,0x1C,0x1E,0x00,0x00,0x3C,0x0F,0x00,
0x00,0x78,0x07,0x80,0x00,0xF0,0x03,0xC0,0x01,0xE0,0x01,0xF0,0x03,0xC0,0x01,0xFE,
0x0F,0x00,0x00,0x7E,0x1E,0x00,0x00,0x38,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"大",0*/
};
static const unsigned char PROGMEM hans_sha[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,0x20,0x00,0x00,0xE0,0x70,0x00,
0x00,0xC0,0x60,0x00,0x00,0xC8,0x40,0x10,0x01,0x8F,0xFF,0xF8,0x01,0x8C,0x02,0x30,
0x03,0x0C,0x47,0x30,0x03,0x0C,0x3C,0x30,0x06,0x0C,0x1E,0x30,0x07,0x0C,0x63,0x30,
0x0F,0x0C,0x81,0x30,0x0B,0x0F,0xFF,0xF0,0x1B,0x0C,0x84,0x30,0x13,0x01,0xC3,0x80,
0x23,0x03,0x40,0xF0,0x43,0x06,0x60,0x38,0x03,0x08,0x60,0x98,0x03,0x30,0xFF,0xC8,
0x03,0x01,0x81,0xC0,0x03,0x01,0x81,0x80,0x03,0x02,0x43,0x00,0x03,0x04,0x26,0x00,
0x03,0x08,0x26,0x00,0x03,0x00,0x1C,0x00,0x03,0x00,0x3C,0x00,0x03,0x00,0x67,0x00,
0x03,0x01,0xC3,0xE0,0x03,0x0E,0x00,0xFC,0x02,0x70,0x00,0x18,0x00,0x00,0x00,0x00,/*"傻",1*/
};
static const unsigned char PROGMEM hans_zi[] = {
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x40,
0x03,0xFF,0xFF,0xE0,0x00,0x00,0x01,0xF0,0x00,0x00,0x03,0x80,0x00,0x00,0x06,0x00,
0x00,0x00,0x0C,0x00,0x00,0x00,0x30,0x00,0x00,0x01,0x60,0x00,0x00,0x01,0xC0,0x00,
0x00,0x01,0xC0,0x00,0x00,0x01,0x80,0x10,0x00,0x01,0x80,0x38,0x3F,0xFF,0xFF,0xFC,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,
0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,0x21,0x80,0x00,
0x00,0x1F,0x80,0x00,0x00,0x07,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,/*"子",2*/
} ;
void setup()
{
// 初始化OLED并设置其IIC地址为 0x3C
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
}
void loop()
{
hans_display_0();
hans_display_1();
}
void hans_display_0(void)
{
// 显示之前清屏
display.clearDisplay();
// 显示文字 (左上角x坐标,左上角y坐标, 图形数组, 图形宽度像素点, 图形高度像素点, 设置颜色)
display.drawBitmap(32 * 1, 20, hans_meng, 32, 32, 1);
display.drawBitmap(32 * 2, 20, hans_yao, 32, 32, 1);
//显示图形
display.display();
delay(1000);
}
void hans_display_1(void)
{
// 显示之前清屏
display.clearDisplay();
// 显示文字 (左上角x坐标,左上角y坐标, 图形数组, 图形宽度像素点, 图形高度像素点, 设置颜色)
display.drawBitmap(32 * 1, 20, hans_da, 32, 32, 1);
display.drawBitmap(32 * 2, 20, hans_sha, 32, 32, 1);
display.drawBitmap(32 * 3, 20, hans_zi, 32, 32, 1);
//显示图形
display.display();
delay(1000);
}