Esp8266(NodeMcu) 0.96寸OLED显示屏的简单使用


  Esp8266使用0.96寸OLED显示屏,进行简单测试。

OLED简介

  OLED,即有机发光二极管(Organic Light-Emitting Diode),又称为有机电激光显示(Organic Electroluminesence Display, OELD)。OLED显示技术具有自发光、广视角、几乎无穷高的对比度、较低耗电、极高反应速度等优点。OLED采用非常薄的有机材料涂层和玻璃基板,当有电流通过时,这些有机材料就会发光。

OLED引脚简介

7脚OLED效果图:图片来源百度文库,
在这里插入图片描述

GND: 电源地
VCC: 供电电源 3.3V、5V 都可以
D0: 串行输入时钟 CLK
D1: 串行输入数据
RES: 复位
DC: 控制输入数据/命令(高电平(1)为数据,低电平(0)为命令)

Esp8266代码

  Arduin编译环境,需要的库<Adafruit_GFX.h>、<Adafruit_SSD1306.h>自行下载。5个引脚就可以驱动,如果自己在测试的时候5个引脚OLED不亮,把VCC与GND都连接就可以了。

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED显示宽度(像素)
#define SCREEN_HEIGHT 32 // OLED显示高度(像素)

// 使用软件SPI连接的SSD1306显示器声明(默认情况下):
#define OLED_MOSI   5  //DI   ------ D1
#define OLED_CLK    4  //D0  ------- D2
#define OLED_DC    14  //DC  ------- D5
#define OLED_CS    12  //CS  ------- D6
#define OLED_RESET 13  //RES -------D7
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT,
  OLED_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);


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

  // SSD1306_SWITCHCAPVCC = 内部产生3.3V的显示电压
  if(!display.begin(SSD1306_SWITCHCAPVCC)) {
    Serial.println(F("SSD1306 allocation failed"));
    for(;;); // 不要继续,一直循环
  }
//在屏幕上显示初始显示缓冲区内容库用Adafruit启动屏幕初始化。
  display.display();

  // 清空缓冲区
  display.clearDisplay();

  // 用白色绘制单个像素
  display.drawPixel(10, 10, WHITE);

  // 在屏幕上显示显示缓冲区。必须在绘制命令后调用display(),使其在屏幕上可见!
  display.display();
  delay(2000);
}


void loop() {
    testdrawstyles();
    delay(2000);
}


void testdrawstyles(void) {
  display.clearDisplay();

  display.setTextSize(1);             // 正常1:1像素比例
  display.setTextColor(WHITE);        // 绘制白色文本
  display.setCursor(0,0);             // Start at top-left corner
  display.println(F("Qing Ye Mu Rong !"));

  display.setTextColor(BLACK, WHITE); // Draw 'inverse' text
  display.println(202059);

  display.setTextSize(2);             // Draw 2X-scale text
  display.setTextColor(WHITE);
  display.print(F("0x")); display.println(0xDEADBEEF, HEX);

  display.display();
  delay(2000);
}

猜你喜欢

转载自blog.csdn.net/weixin_45488643/article/details/106863466