最新消息:

Arduino提高篇03—OLED屏图片显示

Arduino 少儿编程 1735浏览 0评论
Arduino提高篇

Arduino提高篇03—OLED屏图片显示

本篇介绍OLED屏图片显示,与字符取模类似,通过取模软件图形模式获取位图数据显示到OLED屏上。

1. 图形取模

1. 运行取模软件。点击「模式」,选择「图形模式」。

Arduino提高篇03—OLED屏图片显示
图形模式

2.  点击「选项」进行相关配置,如下图所示。

Arduino提高篇03—OLED屏图片显示
选项配置

3. 点击「文件」,选择「打开」,打开需要显示的位图,位图宽高限定在128×64之内。点击生成字模或者保存字模,就会得到对应的点阵数组。

Arduino提高篇03—OLED屏图片显示
打开位图

3. 我们也可以点击「文件」,选择「新建」,设置宽度128,高度64来新建一张空白图形。左键鼠标可选中方块,右键去除方块。你可以任意涂鸦,最终点击生成字模或者保存字模,获取对应的点阵数组。

Arduino提高篇03—OLED屏图片显示
新建图形
Arduino提高篇03—OLED屏图片显示
涂鸦

2. 实验材料

  • Uno R3开发板
  • 配套USB数据线
  • 面包板及配套连接线
  • OLED显示屏

3. 实验步骤

1. 根据原理图搭建电路图。

IIC接口只需要两根线。OLED屏的VCC和GND分别连接开发板的3.3V和GND,OLED屏的SDA和SCL分别连接开发板A4和A5。

实验原理图如下图所示:

Arduino提高篇03—OLED屏图片显示
电路连接图

实物连接图如下图所示:

Arduino提高篇03—OLED屏图片显示
实物连接图

2. 新建sketch,拷贝如下代码替换自动生成的代码并进行保存。

  1/*
  2  OLED显示图片
  3*/

  4#include <Wire.h>

  5#include <Adafruit_GFX.h>

  6#include <Adafruit_SSD1306.h>

  7

  8#define OLED_RESET     4

  9Adafruit_SSD1306 display(12864, &Wire, OLED_RESET);
 10

 11//取128*64 逐行式 顺向高位在前

 12static const unsigned char PROGMEM pic1[] =
 13{
 14  0x000x000x1F0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 15  0x000x000x7F0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 16  0x000x000xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 17  0x000x010xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 18  0x000x010xE30xFF0xFF0xFC0xDF0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 19  0x000x030xC70xFF0xFF0xFD0xDF0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 20  0x000x070x870xFF0xFF0xF90xDF0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 21  0x000x070x070xFF0xFF0xF90x9B0xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 22  0x000x0E0x070xFF0xFF0xF90x990xFF0xFF0xFF0xFF0xFF0xFF0xF00x000x00,
 23  0x000x0C0x0F0xFF0xFF0xF90x9D0xFF0xFF0xFF0xDF0xFF0xFF0xF00x000x00,
 24  0x000x080x0F0xF70xFF0xD10x8C0xFF0xFF0xFF0xEF0xFF0xFF0xF00x000x00,
 25  0x000x180x0F0x770xFF0xD10x8C0xFF0xFF0xFF0xF70xFF0xFF0xF00x000x00,
 26  0x000x100x0F0x770xFF0x910x8E0x7F0xFF0xDF0xFB0xFF0xFF0xE00x000x00,
 27  0x000x000x0F0x670xEF0xFD0x860x3F0xFF0xEF0xF90xFF0xFF0xE00x000x00,
 28  0x000x000x0F0x670xCF0xFF0xFE0x1F0xFF0xF30xFD0xFF0xFF0xE00x000x00,
 29  0x000x000x0F0x630xDF0xFF0xFF0x0F0xFF0xF80x7F0xF50xFF0xC00x000x00,
 30  0x000x000x0F0x630xFF0x880xFF0xC70xFF0xFE0x1F0xF60xFF0xC00x000x00,
 31  0x000x000x0F0x630xFF0x880x7F0xE30x3F0xFF0xFE0xE20xFF0xC00x000x00,
 32  0x000x000x070x630xFF0x870x270xE10x8F0xFF0xFF0xF80xFF0x800x000x00,
 33  0x000x000x070x630xF60x9F0xE00xF00xE30xFF0xFF0xFE0xFF0x800x000x00,
 34  0x000x000x030x230xF60x710xF00x700x390xFF0xF80x3F0xFF0x000x000x00,
 35  0x000x000x030xA70xF20xE30x180x300x0F0xF80x7F0x870xFF0x000x000x00,
 36  0x000x000x010x870xDA0xC30x0C0x180x070x790xE10xE30x7E0x000x000x00,
 37  0x000x000x000x830xD90x8B0x040x1F0xC20x3B0xC00x710xBC0x000x000x00,
 38  0x000x000x000xC30xCB0x190x000x1F0xFE0x190xC10x190xF80x000x000x00,
 39  0x000x000x000x600xE60x180x000x1F0xFC0x180x400x880xF80x000x000x00,
 40  0x000x000x000x000x640x1C0x040x1F0xFC0x0B0x000x8C0xF80x000x000x00,
 41  0x000x000x000x000x440x1C0x0C0x000x0C0x010x000x840xF80x000x000x00,
 42  0x000x000x000x000x660x1D0xF80x000x040x030x810x800xF00x000x000x00,
 43  0x000x000x000x040x620x0F0xF00x000x040x030x930x800xE00x000x000x00,
 44  0x000x000x000x020x630x030xC00x200x060x010xFE0x000xC00x000x000x00,
 45  0x000x000x000x020x310x000x000x200x060x000x7C0x000xD00x000x000x00,
 46  0x000x000x000x020x300x000x600x400x020x000x000x010x800x000x000x00,
 47  0x000x000x000x010x180x010x000x800x030x000x000x010x880x000x000x00,
 48  0x000x000x000x010x0C0x000x010x800x010x000x410x830x980x000x000x00,
 49  0x000x000x000x000x920x000x030x020x000x800x000x070x100x000x000x00,
 50  0x000x000x000x000x490x800x0C0x020x000x400x000x060x300x000x000x00,
 51  0x000x000x000x000x040xC00x000x000x000x200x000x0C0x200x000x000x00,
 52  0x000x000x000x000x200x800x000x040x800x180x000x180xC00x000x000x00,
 53  0x000x000x000x000x000xC00x000x020x000x070x000x710x800x000x000x00,
 54  0x000x000x000x000x000x400x000x000x000x010xE00x600x100x000x000x00,
 55  0x000x000x000x000x000x200x000x000x000x000x000x200x200x000x000x00,
 56  0x000x000x000x000x000x200x000x000x000x000x000x400x400x000x000x00,
 57  0x000x000x000x000x000x100x000x000x000x000x000x000x000x000x000x00,
 58  0x000x000x000x000x000x080x000x000x000x000x000x000x000x000x000x00,
 59  0x000x000x000x000x000x040x000x000x000x000x010x180x000x000x000x00,
 60  0x000x000x000x000x000x020x000x030x000x000x030x000x000x000x000x00,
 61  0x000x000x000x000x000x010x000x020x600x000x070x800x000x000x000x00,
 62  0x000x000x000x000x000x000x800x000x000x000x0F0x800x000x000x000x00,
 63  0x000x000x000x000x000x000x600x000x000x000x430xC00x000x000x000x00,
 64  0x000x000x000x000x000x000x300x000x000x010xC10xC00x000x000x000x00,
 65  0x000x000x000x000x000x000x1C0x000x000x070xF00xC00x000x000x000x00,
 66  0x000x000x000x000x000x060x870x000x000x1C0x180x600x000x000x000x00,
 67  0x000x000x000x000x000x000x310x800x000xF10x080x000x000x000x000x00,
 68  0x000x000x000x000x010x800x200xE00x070x830x080x000x000x000x000x00,
 69  0x000x000x000x000x060x000x040x1C0x7C0x020x040x000x000x000x000x00,
 70  0x000x000x000x000x0C0x000x010x200x300x040x000x000x000x000x000x00,
 71  0x000x000x000x000x080x000x000x900x000x080x000x000x000x000x000x00,
 72  0x000x000x000x000x000x000x000x4C0x000x100x000x800x000x000x000x00,
 73  0x000x000x000x000x080x010x800x3C0x080x200x030x000x000x000x000x00,
 74  0x000x000x000x000x100x010x030x320x600x400x020x400x000x000x000x00,
 75  0x000x000x000x000x000x020x830xC10x800x400x040x180x000x000x000x00,
 76  0x000x000x000x000x000x000x810x860x000x800x040x0E0x000x000x000x00,
 77  0x000x000x000x000x000x040x000x860xC10x000x040x010x800x000x000x00

 78};
 79static const unsigned char PROGMEM pic2[] =
 80{
 81  0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x00,
 82  0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x00,
 83  0x000x000x000x000x000x000x000x3F0xE00x000x000x000x000x000x000x00,
 84  0x000x000x000x000x000x000x000xFF0xFC0x000x000x000x000x000x000x00,
 85  0x000x000x000x000x000x000x010x800x070x000x000x000x000x000x000x00,
 86  0x000x000x000x000x000x000x030x000x010x800x000x000x000x000x000x00,
 87  0x000x000x000x000x000x000x040x000x000x600x000x000x000x000x000x00,
 88  0x000x000x000x000x000x000x080x000x000x300x000x000x000x000x000x00,
 89  0x000x000x000x000x000x000x180x000x000x180x000x000x000x000x000x00,
 90  0x000x000x000x000x000x000x300x000x000x080x000x000x000x000x000x00,
 91  0x000x000x000x000x000x000x200x000x000x0C0x000x000x000x000x000x00,
 92  0x000x000x000x000x000x000x600x000x000x040x000x000x000x000x000x00,
 93  0x000x000x000x000x000x000x400x000x000x040x000x000x000x000x000x00,
 94  0x000x000x000x000x000x000x400x000x000x060x000x000x000x000x000x00,
 95  0x000x000x000x000x000x000x400xE00x000x060x000x000x000x000x000x00,
 96  0x000x000x000x000x000x000xC10x300x000x660x000x000x000x000x000x00,
 97  0x000x000x000x000x000x000xC10x180x000xE60x000x000x000x000x000x00,
 98  0x000x000x000x000x000x000xC10x0F0x070xB60x000x000x000x000x000x00,
 99  0x000x000x000x000x000x000xC10x010xDE0x360x000x000x000x000x000x00,
100  0x000x000x000x000x000x000xC10x000x700x260x000x000x000x000x000x00,
101  0x000x000x000x000x000x000xC30x800x000x260x000x000x000x000x000x00,
102  0x000x000x000x000x000x000xC20x600x000x340x000x000x000x000x000x00,
103  0x000x000x000x000x000x000xF20x700x000xFC0x000x000x000x000x000x00,
104  0x000x000x000x000x000x010x120xFC0x030x9C0x000x000x000x000x000x00,
105  0x000x000x000x000x000x010x7C0x9F0x8F0x3C0x000x000x000x000x000x00,
106  0x000x000x000x000x000x030x1C0x6E0x9F0xBC0x000x000x000x000x000x00,
107  0x000x000x000x000x000x030x3C0x3E0x1C0x920x000x000x000x000x000x00,
108  0x000x000x000x000x000x030x6C0x000x0F0xBA0x000x000x000x000x000x00,
109  0x000x000x000x000x000x030x0C0x000x000x3C0x000x000x000x000x000x00,
110  0x000x000x000x000x000x030x1C0x000x000x360x000x000x000x000x000x00,
111  0x000x000x000x000x000x010xFC0x000x000x640x000x000x000x000x000x00,
112  0x000x000x000x000x000x000xE60x000x600x6C0x000x000x000x000x000x00,
113  0x000x000x000x000x000x010xB30x000x400x780x000x000x000x000x000x00,
114  0x000x000x000x000x000x010x090x800x000x600x000x000x000x000x000x00,
115  0x000x000x000x000x000x030x460xC30x000xC00x000x000x000x000x000x00,
116  0x000x000x000x000x000x020x630x610xE10xE00x000x000x000x000x000x00,
117  0x000x000x000x000x000x020x390xB00x030x300x000x000x000x000x000x00,
118  0x000x000x000x000x000x060x4E0xDF0x3E0x300x000x000x000x000x000x00,
119  0x000x000x000x000x000x060x430xDF0xF80x980x000x000x000x000x000x00,
120  0x000x000x000x000x000x040x800xF30xF80xBC0x000x000x000x000x000x00,
121  0x000x000x000x000x000x080xC10x010xF00xA40x000x000x000x000x000x00,
122  0x000x000x000x000x000x080xFF0x080x000x9C0x000x000x000x000x000x00,
123  0x000x000x000x000x000x080xD90x8C0x000xD80x000x000x000x000x000x00,
124  0x000x000x000x000x000x0C0x9F0x060x090xD80x000x000x000x000x000x00,
125  0x000x000x000x000x000x040x830x000x140x380x000x000x000x000x000x00,
126  0x000x000x000x000x000x040x410x000x050xA40x000x000x000x000x000x00,
127  0x000x000x000x000x000x060x430x800x080xFC0x000x000x000x000x000x00,
128  0x000x000x000x000x000x030x2C0xC00x010x9C0x000x000x000x000x000x00,
129  0x000x000x000x000x000x030x180x3E0x0E0x670x000x000x000x000x000x00,
130  0x000x000x000x000x000x010xF00x0F0xF80x7D0x800x000x000x000x000x00,
131  0x000x000x000x000x000x000x200x000x000x120xC00x000x000x000x000x00,
132  0x000x000x000x000x000x000x200x000x000x5E0x400x000x000x000x000x00,
133  0x000x000x000x000x000x000x300x000x000x4C0xE00x000x000x000x000x00,
134  0x000x000x000x000x000x000x300x000x000x410xA00x000x000x000x000x00,
135  0x000x000x000x000x000x000x300x000x800x4F0x300x000x000x000x000x00,
136  0x000x000x000x000x000x000x200x010x000x7C0x200x000x000x000x000x00,
137  0x000x000x000x000x000x000x200x030x000x400xE00x000x000x000x000x00,
138  0x000x000x000x000x000x000x200x060x800x770x800x000x000x000x000x00,
139  0x000x000x000x000x000x000x780x0C0x8F0xFE0x000x000x000x000x000x00,
140  0x000x000x000x000x000x000xDF0x180xF80x0C0x000x000x000x000x000x00,
141  0x000x000x000x000x000x010x030xF00xFF0xE40x000x000x000x000x000x00,
142  0x000x000x000x000x000x030x7F0xE00x3F0xFC0x000x000x000x000x000x00,
143  0x000x000x000x000x000x000x800x000x000x000x000x000x000x000x000x00,
144  0x000x000x000x000x000x000x000x000x000x000x000x000x000x000x000x00

145};
146void setup() {
147  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
148  display.setTextColor(WHITE);//开像素点发光

149  display.clearDisplay();//清屏

150}
151

152void loop() {
153  display.drawBitmap(00, pic1, 128641); //画出字符对应点阵数据

154  display.display();//开显示

155  delay(2000);
156  display.clearDisplay();//清屏

157  display.drawBitmap(00, pic2, 128641); //画出字符对应点阵数据

158  display.display();//开显示

159  delay(2000);
160  display.clearDisplay();//清屏

161}

 

 3. 连接开发板,设置好对应端口号和开发板类型,进行程序下载。

Arduino提高篇03—OLED屏图片显示
程序下载

4. 实验现象

OLED屏交替显示位图图片。

Arduino提高篇03—OLED屏图片显示
实验现象

转自公众号:
TonyCode

您必须 登录 才能发表评论!