基于arduino的oled显示屏的使用

基于arduino的oled显示屏的使用

摘要

​ OLED属于一种电流型的有机发光器件,是通过载流子的注入和复合而致发光的现象,发光强度与注入的电流成正比。OLED在电场的作用下,阳极产生的空穴和阴极产生的电子就会发生移动,分别向空穴传输层和电子传输层注入,迁移到发光层。当二者在发光层相遇时,产生能量激子,从而激发发光分子最终产生可见光。
在这里插入图片描述
oled显示屏模块是每个Maker都会用到的显示器件,然而OLED本身它是使用在我们生活中很多地方的。我们这里所说的就是OLED显示屏模块,它有双色和单色的,有128X64的,有128X32等不同规格。我们这里讲的是基于arduino的OLED库的基本的调用。
在这里插入图片描述

1.依赖的库

Adafruit_GFX.h

Adafruit_SSD1306.h

​ 如果使用的OLED模块是128X64像素,需要修改Adafruit_SSD1306.h头文件。具体操作:找到Adafruit_SSD1306.h文件并打开!
PS:头文件不能直接使用arduino ide打开,需要使用文本编辑器打开,文本编辑器牵扯到文本编码,推荐使用editplus 或者Notepad进行修改。如果使用的是Visual studio,打开头文件就不需要找路径,选中直接右键选择打开头文件就好了。
​ 取消注释: #define SSD1306_128_64
​ 注释掉行:#define SSD1306_128_32

2.库函数简介

​ Adafruit_SSD1306.h是基于Adafruit_GFX.h开发的库,扩展重写了一些方法,在使用中,我们主要使用部分函数来实现基础的使用,其中有两个库的函数方法,主要介绍的函数如下:

display();//显示缓冲区图片
clearDisplay();//清理缓冲区`

drawPixel(X_POS, Y_POS, WHITE);  // 画点
drawLine(X_POS, Y_POS,128, 64, WHITE);//画线
drawRect(X_POS, Y_POS, width, height , WHITE); // 画一个矩形
fillRect(X_POS, Y_POS, width, height, WHITE); // 画一个填充矩形
drawCircle(X_POS, Y_POS, 10, WHITE); // 画一个居中半径为10的圆
fillCircle(X_POS, Y_POS, 10, WHITE);// 画一个居中半径为10的填充圆
fillRoundRect(X_POS, Y_POS, width, height, 14, WHITE);// 画一个带半径14圆角的填充矩形

startscrollright(0x00, 0x0f);//屏幕旋转
stopscroll();//屏幕旋转停止

setTextSize(1);//设定字体大小
setTextColor(WHITE);//设定字体颜色
setCursor(0, 0);//设定起始点
write(i);//字符显示,asii对应的字符
println("Hello, world!"); // 文本显示

drawBitmap(0, 0, logo_glcd_bmp_expendables[], HEIGHT, WIDTH, WHITE); // 显示一张图片

invertDisplay(true); // 图形取反
invertDisplay(false);// 取消图形取反

3.硬件介绍

​ OLED模块是通过i2c与Arduino进行通讯的
在这里插入图片描述

//Arduino UNO--OLED
//VCC --3.3v  接3.3v电源
//GND--GND接地(GND)
//SCL--A5时钟线
//SDA--A4数据线

4.显示的基本操作

​ step i.显示内容更新到缓冲区

​ step ii.调用display()方法显示

​ step iii.清理缓存(在不清理缓冲区的情况下写入,如果不是写整个屏幕,写的位置与原有缓冲区数据与运算,会出现图像叠加,除非你特此设计)

5.示例

i.制作一个进度条

在这里插入图片描述

void Draw_Init_Interface(void) {
    for (size_t i = 0; i < 46; i = i + 5)
    {
        display.clearDisplay();
        display.setTextSize(1);
        display.setTextColor(WHITE);
        display.setCursor(25, 20);
        display.println("Initialize...");
        display.drawRect(38, 38, 51, 6, WHITE);//以(38,38)为起点绘制一个长度51宽度为6的矩形
        display.drawLine(40, 40, 40 + i, 40, WHITE);//循环绘制线条达到显示进度的效果
        display.drawLine(40, 41, 40 + i, 41, WHITE);
        display.display();
        //delay(10);
        display.clearDisplay();
    }`
    display.display();
}
ii.显示文字

在这里插入图片描述

//显示字符,转换为ASCII

  display.setCursor(0,0);

  display.setTextSize(1);
  display.setTextColor(WHITE);

  for (uint8_t i=0; i < 168; i++) {
    if (i == '\n') continue;
    display.write(i);
    if ((i > 0) && (i % 21 == 0))
      display.println();
  }    
  display.display();

// 显示字符串
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.setCursor(0,0);
  display.println("Hello, world!");
  display.setTextSize(2);
  display.println("Hello, world!");
  display.display();`
  delay(2000);`
iii.显示图片(中文)

在这里插入图片描述

// 显示一张图片
display.clearDisplay();
display.drawBitmap(0, 0, logo_glcd_bmp_expendables, LOGO_GLCD_HEIGHT, LOGO_GLCD_WIDTH, WHITE);
display.display();
delay(2000);
display.clearDisplay();

6.取模工具的使用

​ i.图片取模

​ ii.字符取模

图片和字符的取模请大家自行百度,这里免费为大家提供2款取模工具,需要的关注公众号“痴人听梦”
在这里插入图片描述
后台回复“取模工具”获取下载地址。

7.预设画面

​ 实例创建后,调用begin方法启动器件,在begin方法中默认会写入splash图像,作为启动画面。
在这里插入图片描述
在这里插入图片描述
此方法的具体代码:

if(HEIGHT > 32) {
    drawBitmap((WIDTH - splash1_width) / 2, (HEIGHT - splash1_height) / 2,
      splash1_data, splash1_width, splash1_height, 1);
  } else {
    drawBitmap((WIDTH - splash2_width) / 2, (HEIGHT - splash2_height) / 2,
      splash2_data, splash2_width, splash2_height, 1);
  }

​ 在使用Adafruit_SSD1306库进行OLED使用的时候,可以自己设计好自己的预设画面,更新到splash.h头文件中,替换掉其中的splash1_data[],就可以将自己的预设画面作为启动画面了。需要注意的就是图画的长宽。库预设的是82X64的,如果你自己设计的是128X64的,也要记得改splash1_width和splash1_height这两个宏定义。

完整示例代码如下:

// Visual Micro is in vMicro>General>Tutorial Mode
// 
/*
    Name:       OlED_Display_Demo.ino
    Created:	2020/3/14 星期六 18:46:31
    Author:     DESKTOP-4JO134Q\Administrator
*/

// Define User Types below here or use a .h file
//
#include <splash.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET -1
Adafruit_SSD1306 display(OLED_RESET);

#define NUMFLAKES 10
#define XPOS 0
#define YPOS 1
#define DELTAY 2

#define LOGO_GLCD_HEIGHT 128 //宏定义,定义图像的长,可根据自己的需要设置
#define LOGO_GLCD_WIDTH  64 //宏定义,定义图像的宽

static const unsigned char PROGMEM logo_glcd_bmp_expendables[] =
{
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,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,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x80,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x60,0x00,0x30,0x00,0x80,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0xBF,0xFC,0xDF,0xFF,0xFF,0xFF,0xFF,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x00,0xFF,0xFF,0x3F,0xFC,0xCF,0xFF,0xFF,0xFF,0xFF,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x01,0xFF,0xFF,0x3F,0xFC,0xEF,0xFF,0xFF,0xFF,0xFF,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x03,0xFF,0xFF,0xBF,0xFC,0xF7,0xFF,0xFF,0xFF,0xFF,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x23,0xFF,0xFF,0xBF,0xFC,0xF7,0xFF,0xFF,0xFF,0xFF,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x60,0x00,0x1F,0x80,0x7C,0xF8,0x01,0xF8,0x07,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x7F,0xFF,0xFF,0xFE,0x7C,0xFF,0xFD,0xF8,0x07,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xFF,0xFE,0x7C,0xFF,0xFD,0xF8,0x17,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x01,0xFF,0xFF,0xFF,0xFE,0x7C,0xFF,0xFD,0xF8,0x37,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x01,0xFF,0xFF,0xFF,0xFE,0x7C,0xFF,0xFD,0xFF,0xF7,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x03,0xFF,0xFF,0xFF,0xFE,0x7C,0xFF,0xFD,0xFF,0xF7,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x00,0x7C,0x1F,0x3E,0x7C,0x00,0xFD,0xFF,0xF7,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBE,0x7C,0x00,0xFD,0xFF,0xF7,0xE0,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBE,0x7C,0xFF,0xFD,0xFF,0xF7,0xE8,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBE,0x7C,0xFF,0xFD,0xF8,0x07,0xEB,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBE,0x7C,0xFF,0xFD,0xF8,0x07,0xEF,0xF9,0xF0,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBE,0x7C,0xFF,0xFD,0xF8,0x07,0xEF,0xF1,0xF0,0x00,0x00,
0x00,0x00,0x00,0x7C,0x1F,0xBE,0x7C,0xFF,0xFD,0xF8,0x07,0xEF,0xE3,0xF8,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBE,0x7C,0x00,0xFD,0xFE,0x07,0xEF,0xCF,0xFC,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBF,0x7C,0x00,0xFC,0xFF,0x07,0xEF,0x1F,0xFF,0x00,0x00,
0x00,0x00,0x00,0x7F,0xFF,0x3F,0xFC,0x01,0xF8,0x7F,0xC7,0xEE,0x3F,0xFF,0x80,0x00,
0x00,0x00,0x00,0x7F,0xFF,0xBF,0xFC,0x03,0xF8,0x3F,0xE7,0xEC,0xFF,0xBF,0xE2,0x00,
0x00,0x00,0x02,0x7F,0xFF,0x9F,0xF8,0x03,0xF0,0x0F,0xF7,0xE1,0xFE,0x1F,0xF2,0x00,
0x00,0x00,0x06,0x7C,0x1F,0x8F,0xF8,0x07,0xE0,0x07,0xF7,0xE7,0xFC,0x07,0xFA,0x00,
0x00,0x00,0x06,0x7E,0x1F,0x87,0xF8,0x0F,0xC0,0x01,0xF7,0xEF,0xF8,0x03,0xFE,0x00,
0x00,0x00,0x0F,0xFF,0xFF,0x87,0xFC,0x0F,0xC0,0x00,0xF3,0xEF,0xE0,0x00,0xFE,0x00,
0x00,0x00,0x1F,0xFF,0xFF,0x8F,0xFE,0x1F,0x80,0x00,0x33,0xEF,0xC0,0x00,0x7E,0x00,
0x00,0x00,0x1F,0xFF,0xFF,0x8F,0xFC,0xBF,0x80,0x00,0x13,0xEF,0x80,0x00,0x34,0x00,
0x00,0x00,0x3F,0xFF,0xFF,0x9F,0xBC,0xFF,0x00,0x00,0x03,0xEE,0x00,0x00,0x0C,0x00,
0x00,0x00,0x20,0xFF,0xFF,0xBF,0x9C,0xFE,0x00,0x00,0x03,0xEC,0x00,0x00,0x04,0x00,
0x00,0x00,0x00,0x00,0x1F,0x3F,0x0C,0xFE,0x00,0x00,0x00,0xE0,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFE,0x00,0xFC,0x00,0x00,0x00,0x60,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFE,0x00,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xFC,0x00,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xF8,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xF0,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xC2,0xED,0x7C,0xF6,0x6B,0x18,0xF9,0x07,0xDE,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0xC3,0x07,0x66,0x83,0x69,0x9C,0xCD,0x04,0x32,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0x83,0x63,0x66,0xA1,0x68,0x94,0xC9,0x05,0xB8,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0x02,0xE6,0x7C,0xB7,0xE8,0xB6,0xD9,0x05,0x9E,0x00,0x00,
0x00,0x00,0x00,0x00,0x1F,0x03,0x07,0x61,0x86,0xA8,0xBE,0x4D,0x0C,0x23,0x00,0x00,
0x00,0x00,0x00,0x00,0x1E,0x03,0x65,0x61,0xA6,0x49,0xA2,0xC9,0x25,0xB2,0x00,0x00,
0x00,0x00,0x00,0x00,0x1C,0x00,0x6D,0x20,0x36,0x6B,0x23,0x79,0x61,0xD4,0x00,0x00,
0x00,0x00,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x00,0x03,0x02,0x12,0x24,0x0A,0x05,0x10,0x80,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xA0,0x41,0x20,0x48,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};//敢死队图片


static const unsigned char PROGMEM char_128_64_glcd_bmp_ZH_xin[] =
{
0x00, 0x00, 0x0C, 0x60, 0x0C, 0x30, 0x18, 0x7F, 0x1F, 0xC0, 0x38, 0x38, 0x79, 0xE0, 0xD8, 0x38,
0x19, 0xE0, 0x18, 0x38, 0x19, 0xF8, 0x19, 0x98, 0x19, 0xF8, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, //"信", 0
};

static const unsigned char PROGMEM char_128_64_glcd_bmp_ZH_xi[] =
{
0x01, 0x80, 0x03, 0x00, 0x07, 0xE0, 0x0C, 0x60, 0x0F, 0xE0, 0x0C, 0x60, 0x0F, 0xE0, 0x0C, 0x60,
0x0F, 0xE0, 0x00, 0x0E, 0x3D, 0x83, 0x3C, 0xF0, 0x66, 0x18, 0x03, 0xFC, 0x00, 0x00, 0x00, 0x00, //"息", 1
};
static const unsigned char PROGMEM char_128_64_glcd_bmp_ZH_xian[] =
{
0x00, 0x00, 0x01, 0xF0, 0x1F, 0x30, 0x19, 0xF0, 0x0F, 0x30, 0x0D, 0xE0, 0x0F, 0x00, 0x06, 0xD8,
0x06, 0xD8, 0x36, 0xF0, 0x1E, 0xE0, 0x06, 0xC0, 0x07, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, //"显", 2
};

static const unsigned char PROGMEM char_128_64_glcd_bmp_ZH_shi[] =
{
0x00, 0x00, 0x00, 0x70, 0x0F, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x7F, 0x80, 0x01, 0x80,
0x19, 0xB0, 0x19, 0x9C, 0x39, 0x8C, 0x31, 0x80, 0x03, 0x80, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, //"示", 3
};

#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif

void Draw_Init_Interface(void) {
    for (size_t i = 0; i < 46; i = i + 5)
    {
        display.clearDisplay();
        display.setTextSize(1);
        display.setTextColor(WHITE);
        display.setCursor(25, 20);
        display.println("Initialize...");
        display.drawRect(38, 38, 51, 6, WHITE);
        display.drawLine(40, 40, 40 + i, 40, WHITE);
        display.drawLine(40, 41, 40 + i, 41, WHITE);
        display.display();
        //delay(10);
        display.clearDisplay();
    }
    display.display();
}

// The setup() function runs once each time the micro-controller starts
void setup()
{
    // 初始化串口
    Serial.begin(115200);
    //启动OLED
    display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // initialize with the I2C addr 0x3D (for the 128x64)
    display.display(); // 屏幕显示(显示内容为预设画面)
    delay(2000);
    display.clearDisplay();   //清理屏幕和缓存区(I2C只清理缓存区)
    Draw_Init_Interface();
    display.clearDisplay();  //清理屏幕和缓存区(I2C只清理缓存区)
    Serial.println("Display Initialize Finish");

    // 画点
    display.drawPixel(64, 32, WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();
    
    //画线
    display.drawLine(0, 0, 128, 64, WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();
    
    // 画一个矩形
    display.drawRect(0, 0, display.width(), display.height() , WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();
    
    // 画一个填充矩形
    display.fillRect(0, 0, display.width(), display.height(), WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();
    
    // 画一个居中半径为10的圆
    display.drawCircle(display.width() / 2, display.height() / 2, 10, WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();
    
    // 画一个居中半径为10的填充圆
    display.fillCircle(display.width() / 2, display.height() / 2, 10, WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();
    
    // 画一个带半径14圆角的填充矩形
    display.fillRoundRect(0, 0, display.width(), display.height(), display.height() / 4, WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();

    //字符显示
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(0, 0);
    
    for (uint8_t i = 0; i < 168; i++) {
        if (i == '\n') continue;
        display.write(i);
        if ((i > 0) && (i % 21 == 0))
            display.println();
    }
    display.display();
    delay(2000);
    display.clearDisplay();
    
    //屏幕旋转
    display.startscrollright(0x00, 0x0f);
    delay(2000);
    //屏幕旋转停止
    display.stopscroll();
    display.clearDisplay();
    
    // 文本显示
    display.setTextSize(1);
    display.setTextColor(WHITE);
    display.setCursor(0, 0);
    display.println("Hello, world!");
    display.setTextColor(BLACK, WHITE); // 'inverted' text
    display.println(3.141592);
    display.setTextSize(2);
    display.setTextColor(WHITE);
    display.print("0x"); display.println(0xDEADBEEF, HEX);
    display.display();

    // 显示一张图片
    display.clearDisplay();
    display.drawBitmap(0, 0, logo_glcd_bmp_expendables, LOGO_GLCD_HEIGHT, LOGO_GLCD_WIDTH, WHITE);
    display.display();
    delay(2000);
    display.clearDisplay();
    
    // 图形取反
    display.invertDisplay(true);
    delay(2000);
    display.invertDisplay(false);
    delay(2000);
    
    //显示汉字
    display.clearDisplay();
    display.drawBitmap(0, 0, char_128_64_glcd_bmp_ZH_xin, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH, WHITE);
    display.drawBitmap(16, 0, char_128_64_glcd_bmp_ZH_xi, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH, WHITE);
    display.drawBitmap(32, 0, char_128_64_glcd_bmp_ZH_xian, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH, WHITE);
    display.drawBitmap(48, 0, char_128_64_glcd_bmp_ZH_shi, LOGO16_GLCD_HEIGHT, LOGO16_GLCD_WIDTH, WHITE);
    display.display();
    delay(2000);
    display.clearDisplay(); 
}
// Add the main program code into the continuous loop() function
void loop()
{
    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值