本篇介绍OLED屏图片显示,与字符取模类似,通过取模软件图形模式获取位图数据显示到OLED屏上。
1. 图形取模
1. 运行取模软件。点击「模式」,选择「图形模式」。
图形模式
2. 点击「选项」进行相关配置,如下图所示。
选项配置
3. 点击「文件」,选择「打开」,打开需要显示的位图,位图宽高限定在128x64之内。点击生成字模或者保存字模,就会得到对应的点阵数组。
打开位图
4. 我们也可以点击「文件」,选择「新建」,设置宽度128,高度64来新建一张空白图形。左键鼠标可选中方块,右键去除方块。你可以任意涂鸦,最终点击生成字模或者保存字模,获取对应的点阵数组。
新建图形
涂鸦
2. 实验材料
Uno R3开发板
配套USB数据线
面包板及配套连接线
OLED显示屏
3. 实验步骤
1. 根据原理图搭建电路图。
IIC接口只需要两根线。OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。
实验原理图如下图所示:
电路连接图
实物连接图如下图所示:
实物连接图
2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。
/*
OLED显示图片
*/
#include
#include
#include
#define OLED_RESET 4
Adafruit_SSD1306 display(128, 64, &Wire, OLED_RESET);
//取128*64 逐行式 顺向高位在前
static const unsigned char PROGMEM pic1[] =
{
0x00, 0x00, 0x1F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x01, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x01, 0xE3, 0xFF, 0xFF, 0xFC, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x03, 0xC7, 0xFF, 0xFF, 0xFD, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x07, 0x87, 0xFF, 0xFF, 0xF9, 0xDF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x07, 0x07, 0xFF, 0xFF, 0xF9, 0x9B, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x0E, 0x07, 0xFF, 0xFF, 0xF9, 0x99, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x0C, 0x0F, 0xFF, 0xFF, 0xF9, 0x9D, 0xFF, 0xFF, 0xFF, 0xDF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x08, 0x0F, 0xF7, 0xFF, 0xD1, 0x8C, 0xFF, 0xFF, 0xFF, 0xEF, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x18, 0x0F, 0x77, 0xFF, 0xD1, 0x8C, 0xFF, 0xFF, 0xFF, 0xF7, 0xFF, 0xFF, 0xF0, 0x00, 0x00,
0x00, 0x10, 0x0F, 0x77, 0xFF, 0x91, 0x8E, 0x7F, 0xFF, 0xDF, 0xFB, 0xFF, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x67, 0xEF, 0xFD, 0x86, 0x3F, 0xFF, 0xEF, 0xF9, 0xFF, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x67, 0xCF, 0xFF, 0xFE, 0x1F, 0xFF, 0xF3, 0xFD, 0xFF, 0xFF, 0xE0, 0x00, 0x00,
0x00, 0x00, 0x0F, 0x63, 0xDF, 0xFF, 0xFF, 0x0F, 0xFF, 0xF8, 0x7F, 0xF5, 0xFF, 0xC