Nodemcu连接OLED显示屏并显示位图图像

参考原文

(本文内容在原文基础上做了大量补充说明,非常适合小白入手ESP8266连接OLED显示屏的应用)

ESP8266连接OLED显示屏并显示位图图像 https://www.yiboard.com/thread-1183-1-1.html


在本篇文章中,我们将OLED显示屏与NodeMCU ESP8266连接。 NodeMCU是一个开源的物联网平台,包括运行在Espressif Systems公司的低成本Wi-Fi ESP8266 SoC上的固件。它具有用于连接其他外设的GPIO引脚,并支持使用SPI、I2C和UART引脚进行串行通信。它还具有ADC和PWM引脚。

在本篇文章中,我们将使用SPI协议将单色7引脚SSD1306 0.96 OLED显示屏与NodeMCU连接,并将学习使用NodeMCU ESP8266在OLED屏上显示图像。

OLED显示屏

有机发光二极管(Organic Light Emitting Diode,OLED)是一种发光二极管,其中由有机化合物制成的发光层在供应电流时发光。该层放置在两个电极之间。该技术用于计算机、电视、智能手机等显示屏。OLED显示器具有自己的光,不需要像LCD那样的任何背光,因此它们是节能的并且与许多微控制器一起使用。在LCD上使用OLED显示器的另一个优点是在OLED上显示大量且更好的图形质量。

市场上有各种各样的OLED显示器。这些显示器的特征在于颜色、引脚数、控制器IC和屏幕尺寸。在基础颜色上,OLED有单色蓝色,单色白色和黄色/蓝色可供选择。通信方式上,主要有两种类型的OLED - 3pin和7pin。 3引脚OLED可用于I2C通信模式,7引脚OLED可用于SPI模式或I2C模式。

在本篇文章中,我们将使用“单色7引脚SSD1306 0.96”OLED显示屏,其宽128像素,长64像素。该显示器可以在SPI和I2C通信协议上工作。我们将在本文中使用SPI协议。此OLED上使用SSD1306 IC,有助于在屏幕上显示像素。

需要的组件

● 单色7针SSD1306 0.96“OLED显示屏

● NodeMCU ESP8266

● Micro USB线

● 面包板

NodeMCU和OLED显示器之间的SPI引脚连接

以下是用于连接7引脚OLED显示器和NodeMCU以使用SPI串行通信协议进行通信的电路图。
在这里插入图片描述

下表显示了OLED Display和NodeMCU ESP8266之间的连接。 GND引脚连接到NodeMCU GND,VDD引脚可以连接到3.3V或5V,SCK是OLED显示器上的时钟引脚,它连接到NodeMCU的D5用于SPI时钟。 SPI接口OLED上的MOSI引脚SDA引脚转到NodeMCU的D7。 RESET引脚转到D3。 DC,数据命令引脚连接到NodeMCU的D2。最后一个引脚是CS进入D8,芯片选择NodeMCU。
在这里插入图片描述
本文中,我们将使用“Adafruit _SSD1306.h”和“Adafruit_GFX.h”库来连接OLED和NodeMCU。打开Arduino IDE并从Arduino IDE安装最新版本(Sketch> Include Library> Manage Libraries或Ctrl + Shift_I)。
在这里插入图片描述

复制这段内容后打开百度网盘手机App,操作更方便哦

OLED显示屏需要用到的库函数文件: 链接:https://pan.baidu.com/s/1yX_lY89qw9kkvr80MVq5Tw 提取码:4z4g

库函数使用说明: 链接:https://pan.baidu.com/s/17Qbr9tfAjP-J_qwaY15SQA 提取码:5nfi

由于OLED显示器的像素大小为128x64,因此我们必须对Adafruit_SSD1306的头文件进行更改。打开Arduino库,转到Adafruit_SSD1306并打开其头文件(Adafruit _SSD1306.h)。注释掉“#define SSD1306_128_32”行,取消注释“#define SSD1306_128_64”行,如下图所示,然后保存文件。默认情况下,此库附带“#define SSD1306_128_32”。
(小技巧:在Dev-C++工具编译环境下,使用快捷键Ctrl+F可以弹出“Find”搜索框,在“Text to find”中输入需要查找的代码,点击Find窗口左下角的“Find”即可快速定位到指定代码处,多次点击“Find”可以依次定位到相同代码处)
在这里插入图片描述
在这里插入图片描述
ESP8266烧录配置
在这里插入图片描述
代码讲解

#include<SPI.h> //使用SPI协议要导入“SPI.h”库
#include<Wire.h> //使用I2C通信需要导入“Wire.h”库

//导入OLED显示屏的“ Adafruit_GFX.h ”和“ Adafruit_SSD1306.h ”
#include<Adafruit_GFX.h>
#include<Adafruit_SSD1306.h>

//OLED尺寸为128x64,在这里分别设置OLED显示屏的宽度和高度
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 64

//定义连接到NodeMCU以进行SPI通信的OLED引脚的变量
#define OLED_SDIN D7
#define OLED_CLK D5
#define OLED_DC D2
#define OLED_CS D8
#define OLED_RESET D3
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, OLED_SDIN, OLED_CLK, OLED_DC,
  OLED_RESET, OLED_CS);

//定义myBitmap函数
const unsigned char myBitmap [] PROGMEM = {
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xfb, 0xff, 0xcf, 0xff, 0xcf, 0xff, 0xff, 0xef, 0xff, 0xff, 0xe7, 0xff, 0xcf, 0xff, 0x9f, 0xff, 
  0xe3, 0xff, 0x01, 0xfe, 0x73, 0xff, 0xff, 0xcf, 0xff, 0xff, 0x91, 0xfe, 0x31, 0xfe, 0x67, 0xff, 
  0x83, 0xfe, 0x00, 0xfc, 0xf9, 0xff, 0xff, 0xcf, 0xff, 0xfe, 0x7c, 0xfc, 0xfc, 0xfc, 0xf3, 0xff, 
  0xe3, 0xfc, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xdf, 0xff, 0xfe, 0x7c, 0x7c, 0xfc, 0xfc, 0xf9, 0xff, 
  0xf3, 0xfd, 0xfc, 0x78, 0xfc, 0xff, 0xff, 0xdf, 0xff, 0xfc, 0xfe, 0x7c, 0xfc, 0xf9, 0xf9, 0xff, 
  0xf3, 0xff, 0xfc, 0x78, 0xfc, 0xff, 0xff, 0x9f, 0xff, 0xfc, 0xfe, 0x3c, 0xfc, 0xf9, 0xf8, 0xff, 
  0xf3, 0xff, 0xfc, 0x7c, 0xfc, 0xff, 0xff, 0x9f, 0xff, 0xfc, 0xfe, 0x3c, 0x7c, 0xf1, 0xf8, 0xff, 
  0xf3, 0xff, 0xfc, 0x7c, 0x79, 0xff, 0xff, 0xbf, 0xfe, 0x3c, 0xfe, 0x3c, 0x39, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xfc, 0xfe, 0x13, 0xff, 0xff, 0xbf, 0xf3, 0x9c, 0x7e, 0x3e, 0x13, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xfc, 0xff, 0x0f, 0xff, 0xff, 0x3f, 0xe7, 0x9c, 0x7e, 0x3f, 0x07, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xf9, 0xff, 0x87, 0xff, 0xff, 0x3f, 0xcf, 0x9c, 0x7e, 0x3f, 0x87, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xfb, 0xff, 0x43, 0xf8, 0xff, 0x7f, 0x9f, 0x1e, 0x3c, 0x3f, 0x01, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xf3, 0xfe, 0x61, 0xf0, 0x7f, 0x7f, 0x9e, 0x3f, 0x02, 0x3e, 0x70, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xe7, 0xfc, 0xf0, 0xfc, 0x7e, 0x7f, 0x3c, 0xff, 0xfc, 0x7c, 0xf8, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xcf, 0xf8, 0xf8, 0xfe, 0x3e, 0x7f, 0x07, 0xff, 0xfc, 0x7c, 0xfc, 0x71, 0xf8, 0xff, 
  0xf3, 0xff, 0xdf, 0xf9, 0xfc, 0x7f, 0x1e, 0xfe, 0x3f, 0xff, 0xf8, 0xf8, 0xfc, 0x79, 0xf8, 0xff, 
  0xf3, 0xff, 0xbf, 0xf9, 0xfc, 0x7f, 0x1e, 0xfe, 0x3f, 0xff, 0xf9, 0xf8, 0xfe, 0x79, 0xf9, 0xff, 
  0xf3, 0xff, 0x7f, 0xb8, 0xfc, 0xff, 0x8c, 0xfe, 0x3f, 0xbf, 0xf3, 0xfc, 0xfe, 0x78, 0xf9, 0xff, 
  0xf3, 0xfe, 0x00, 0x7c, 0xfc, 0xff, 0xc4, 0xff, 0x1f, 0x7f, 0xe7, 0xfc, 0xfc, 0xfc, 0xf3, 0xff, 
  0xe3, 0xfc, 0x00, 0x7e, 0x79, 0xff, 0xc5, 0xff, 0x00, 0xff, 0xcf, 0xfe, 0x7d, 0xfe, 0x73, 0xff, 
  0x80, 0xf8, 0x00, 0x7f, 0x07, 0xff, 0xe1, 0xff, 0x83, 0xfe, 0x3f, 0xff, 0x03, 0xff, 0x0f, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
  };

  void setup(){
    Serial.begin(9600);

//通过使用SSD1306_SWITCHCAPVCC在内部生成3.3V以初始化显示器来初始化OLED显示器
    if(!display.begin(SSD1306_SWITCHCAPVCC)){
      Serial.println(F("SSD1306 allocation failed"));
      for(; ;); 
      }

    display.clearDisplay(); //清除OLED屏幕的显示
    testscrolltext(); //调用滚动文本的函数

    display.clearDisplay(); //清除滚动文本的图像

//调用函数,采用6个参数(x坐标, y坐标, 位图数组, 宽度, 高度,颜色)在OLED上绘制图像
    display.drawBitmap(0, 0, myBitmap, 128, 64, BLACK, WHITE); 

//将数据传输到SSD1306控制器的内部存储器。 传输后,像素显示在屏幕上
    display.display();
    }

   void loop(){}

//滚动文本的函数定义
   void testscrolltext(void){
    display.clearDisplay();

    display.setTextSize(2); //调用setTextSize(font-size)函数将字体大小设置为2
    display.setTextColor(WHITE);  //调用setTextColor函数设置文本颜色
    display.setCursor(0, 0); //调用setCursor(x, y)函数设置光标位置

//调用println(F("font"))函数显示文本内容
    display.println(F("I Love You")); 
    display.println(F("Expressed mathematically"));
    display.display();
    delay(100);

//调用display.startscrollright(x-pos,y-pos)和display.startscrollleft(x-pos,y-pos)以延迟函数给出的时间以各种方式开始滚动文本
//调用display.stopscroll()函数停止滚动文本
    display.startscrollright(0x00, 0x0f);
    delay(2000);
    display.stopscroll();
    delay(1000);
    display.startscrollleft(0x00, 0x07);
    delay(2000);
    display.stopscroll();
    delay(1000);
    display.startscrolldiagright(0x00, 0x07);
    delay(2000);
    display.startscrolldiagleft(0x00, 0x07);
    delay(2000);
    display.stopscroll();
    delay(1000);
    }

温馨提示
    如果以上代码编译不通过,原因一般是以下两个之一:
    1.烧录配置没改成ESP8266(请看下小节讲解),当前可能是Arduino Uno、Mega等平台;
    2.ESP8266软件环境没有配置成功,请重新检查一遍;

这里位图数组包含用于在屏幕上绘制像素以创建图像的像素信息。该位图数组可以在线生成,本文下面将对此进行说明,或者有许多软件可用于将图像转换为位图数组。

const unsigned char myBitmap [] PROGMEM = {
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xfb, 0xff, 0xcf, 0xff, 0xcf, 0xff, 0xff, 0xef, 0xff, 0xff, 0xe7, 0xff, 0xcf, 0xff, 0x9f, 0xff, 
  0xe3, 0xff, 0x01, 0xfe, 0x73, 0xff, 0xff, 0xcf, 0xff, 0xff, 0x91, 0xfe, 0x31, 0xfe, 0x67, 0xff, 
  0x83, 0xfe, 0x00, 0xfc, 0xf9, 0xff, 0xff, 0xcf, 0xff, 0xfe, 0x7c, 0xfc, 0xfc, 0xfc, 0xf3, 0xff, 
  0xe3, 0xfc, 0xf8, 0xfc, 0xfc, 0xff, 0xff, 0xdf, 0xff, 0xfe, 0x7c, 0x7c, 0xfc, 0xfc, 0xf9, 0xff, 
  0xf3, 0xfd, 0xfc, 0x78, 0xfc, 0xff, 0xff, 0xdf, 0xff, 0xfc, 0xfe, 0x7c, 0xfc, 0xf9, 0xf9, 0xff, 
  0xf3, 0xff, 0xfc, 0x78, 0xfc, 0xff, 0xff, 0x9f, 0xff, 0xfc, 0xfe, 0x3c, 0xfc, 0xf9, 0xf8, 0xff, 
  0xf3, 0xff, 0xfc, 0x7c, 0xfc, 0xff, 0xff, 0x9f, 0xff, 0xfc, 0xfe, 0x3c, 0x7c, 0xf1, 0xf8, 0xff, 
  0xf3, 0xff, 0xfc, 0x7c, 0x79, 0xff, 0xff, 0xbf, 0xfe, 0x3c, 0xfe, 0x3c, 0x39, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xfc, 0xfe, 0x13, 0xff, 0xff, 0xbf, 0xf3, 0x9c, 0x7e, 0x3e, 0x13, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xfc, 0xff, 0x0f, 0xff, 0xff, 0x3f, 0xe7, 0x9c, 0x7e, 0x3f, 0x07, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xf9, 0xff, 0x87, 0xff, 0xff, 0x3f, 0xcf, 0x9c, 0x7e, 0x3f, 0x87, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xfb, 0xff, 0x43, 0xf8, 0xff, 0x7f, 0x9f, 0x1e, 0x3c, 0x3f, 0x01, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xf3, 0xfe, 0x61, 0xf0, 0x7f, 0x7f, 0x9e, 0x3f, 0x02, 0x3e, 0x70, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xe7, 0xfc, 0xf0, 0xfc, 0x7e, 0x7f, 0x3c, 0xff, 0xfc, 0x7c, 0xf8, 0xf1, 0xfc, 0xff, 
  0xf3, 0xff, 0xcf, 0xf8, 0xf8, 0xfe, 0x3e, 0x7f, 0x07, 0xff, 0xfc, 0x7c, 0xfc, 0x71, 0xf8, 0xff, 
  0xf3, 0xff, 0xdf, 0xf9, 0xfc, 0x7f, 0x1e, 0xfe, 0x3f, 0xff, 0xf8, 0xf8, 0xfc, 0x79, 0xf8, 0xff, 
  0xf3, 0xff, 0xbf, 0xf9, 0xfc, 0x7f, 0x1e, 0xfe, 0x3f, 0xff, 0xf9, 0xf8, 0xfe, 0x79, 0xf9, 0xff, 
  0xf3, 0xff, 0x7f, 0xb8, 0xfc, 0xff, 0x8c, 0xfe, 0x3f, 0xbf, 0xf3, 0xfc, 0xfe, 0x78, 0xf9, 0xff, 
  0xf3, 0xfe, 0x00, 0x7c, 0xfc, 0xff, 0xc4, 0xff, 0x1f, 0x7f, 0xe7, 0xfc, 0xfc, 0xfc, 0xf3, 0xff, 
  0xe3, 0xfc, 0x00, 0x7e, 0x79, 0xff, 0xc5, 0xff, 0x00, 0xff, 0xcf, 0xfe, 0x7d, 0xfe, 0x73, 0xff, 
  0x80, 0xf8, 0x00, 0x7f, 0x07, 0xff, 0xe1, 0xff, 0x83, 0xfe, 0x3f, 0xff, 0x03, 0xff, 0x0f, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
  };

将图像转换为位图值

可以从http://javl.github.io/image2cpp/生成在线位图。上传要在OLED上显示的图像文件,并将大小设置为128x64。将显示预览图像,然后将生成位图数组。

下面的屏幕截图显示了生成任何图像的位图值的过程。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后将完整的代码上传到NodeMCU ESP8266,您将在OLED屏幕上看到图像显示。
在这里插入图片描述

  • 6
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王鸽子

你的鼓励都是我前进的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值