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);
}