0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將OLED顯示器與NodeMCU ESP8266連接的過(guò)程

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:Abhishek Bakolia ? 2022-09-05 15:05 ? 次閱讀

在本教程中,我們將使用SPI 協(xié)議將 Monochrome 7-pin SSD1306 0.96 OLED Display 與 NodeMCU 連接,并將學(xué)習(xí)使用 NodeMCU ESP8266 在 OLED 屏幕上顯示圖像。

OLED顯示器

有機(jī)發(fā)光二極管(OLED) 是一種由有機(jī)化合物制成的發(fā)光層在通電時(shí)發(fā)光的發(fā)光二極管。該層位于兩個(gè)電極之間。該技術(shù)用于計(jì)算機(jī)、電視、智能手機(jī)等顯示屏。OLED 顯示屏有自己的光,不需要像 LCD 那樣的任何背光,因此它們具有高能效并與許多微控制器一起使用。與 LCD 相比,使用 OLED 顯示器的另一優(yōu)勢(shì)是在 OLED 上顯示更大且質(zhì)量更好的圖形。在此處了解有關(guān)OLED 顯示技術(shù)的更多信息。

市場(chǎng)上有各種各樣的 OLED 顯示器。這些顯示器的特點(diǎn)是基于顏色、引腳數(shù)、控制器 IC 和屏幕尺寸。在顏色的基礎(chǔ)上,OLED 有單色藍(lán)色、單色白色和黃色/藍(lán)色。并且在通信的基礎(chǔ)上,主要有兩種類(lèi)型的 OLED 可用——3pin 和 7pin。3 針 OLED 可用于 I2C 通信模式,7 針 OLED 可用于 SPI 模式或 I2C 模式。

在本教程中,我們將使用“ Monochrome 7-pin SSD1306 0.96 ” OLED 顯示屏,寬 128 像素,長(zhǎng) 64 像素。該顯示器可以在 SPI 和 I2C 通信協(xié)議上工作。我們將在本教程中使用 SPI 協(xié)議。SSD1306 IC位于此 OLED 上,有助于在屏幕上顯示像素。

所需組件

單色 7 針 SSD1306 0.96” OLED 顯示屏

NodeMCU ESP8266

微型 USB 數(shù)據(jù)線

面包板

公對(duì)公跳線

NodeMCU 和 OLED 顯示器之間的 SPI 引腳連接

下面是7 針 OLED 顯示器與 NodeMCU連接使用 SPI 串行通信協(xié)議進(jìn)行通信的電路圖。

poYBAGMVn2OAHGc3AADD6SnRiP4555.png

下表顯示了 OLED Display 和 NodeMCU ESP8266 之間的連接。GND 引腳連接到 NodeMCU GND,VDD 引腳可以連接到 3.3V 或 5V,SCK 是 OLED Display 上的時(shí)鐘引腳,連接到 NodeMCU 的 D5 用于 SPI 時(shí)鐘。SPI 接口的 OLED 上的 MOSI 引腳 SDA 引腳連接到 NodeMCU 的 D7。RESET 引腳連接到 D3。DC,數(shù)據(jù)指令腳接NodeMCU的D2。最后一個(gè)引腳是 CS 到 D8,NodeMCU 的片選。

pYYBAGMVn1-ADi3CAAAS2HXDuDg972.png

在這里,我們將使用“ Adafruit _SSD1306.h”和“ Adafruit_GFX.h ”庫(kù)來(lái)連接 OLED 和 NodeMCU。打開(kāi) Arduino IDE 并從 Arduino IDE 安裝最新版本(Sketch 》 Include Library 》 Manage Libraries 或 Ctrl+Shift_I)。

poYBAGMVn1yAPx8bAAFJuYFPmEk561.png

由于我們的 OLED 顯示 id 的像素大小為 128x64,因此我們必須更改 Adafruit_SSD1306 的頭文件。打開(kāi) Arduino 庫(kù),轉(zhuǎn)到Adafruit_SSD1306并打開(kāi)其頭文件(Adafruit _SSD1306.h)。注釋掉“ #define SSD1306_128_32 ”行并取消注釋“#define SSD1306_128_64 ”行,如下圖所示,然后保存文件。默認(rèn)情況下,這個(gè)庫(kù)帶有“ #define SSD1306_128_32 ”。

pYYBAGMVn1iAT7nFAAJOPyArz-Y338.png

最后根據(jù)上表更改“ ssd1306_128x64_spi ” Adafruit SSD1306 示例中的引腳號(hào)?,F(xiàn)在,當(dāng)您在將 OLED 顯示器與 NodeMCU 正確連接后運(yùn)行草圖時(shí),您將在 OLED 顯示器上看到 Adafruit 的徽標(biāo),該徽標(biāo)默認(rèn)保存在庫(kù)中。在 Adafruit 徽標(biāo)之后,它會(huì)顯示許多其他圖形,如線條、矩形、三角形、圓形、字符串、數(shù)字、動(dòng)畫(huà)和位圖。在本教程中,我們將學(xué)習(xí)如何使用 NodeMCU ESP8266 在 OLED 上顯示任何圖像。

pYYBAGMVn1SALceCAAVzSRuiF8c346.png

為連接 OLED 的 NodeMCU 編程

與往常一樣,最后提供了完整的代碼,這里我們已經(jīng)詳細(xì)解釋了代碼。

通過(guò)導(dǎo)入必要的庫(kù)來(lái)啟動(dòng)代碼。由于我們使用 SPI 協(xié)議,因此我們將導(dǎo)入“SPI.h”庫(kù),并為 OLED 顯示器導(dǎo)入“Adafruit_GFX.h”和“Adafruit_SSD1306.h”。

#include  
#include  
#include 

我們的 OLED 尺寸為 128x64,因此我們將屏幕寬度和高度分別設(shè)置為 128 和 64。因此,為連接到 NodeMCU 的 OLED 引腳定義變量以進(jìn)行 SPI 通信。

#define SCREEN_WIDTH 128 // OLED 顯示寬度,以像素為單位
#define SCREEN_HEIGHT 64 // OLED 顯示高度,以像素為單位

// 使用軟件 SPI 連接 SSD1306 顯示器的聲明(默認(rèn)情況):
#define OLED_MOSI D7 
#define OLED_CLK D5 
#define OLED_DC D2 
#define OLED_CS D8 
#define OLED_RESET D3

Adafruit_SSD1306 顯示器(SCREEN_WIDTH、SCREEN_HEIGHT、
  OLED_MOSI、OLED_CLK、OLED_DC、OLED_RESET、OLED_CS);

通過(guò)使用 SSD1306_SWITCHCAPVCC 在內(nèi)部產(chǎn)生 3.3V 來(lái)初始化OLED 顯示器來(lái)初始化顯示器。

if(!display.begin(SSD1306_SWITCHCAPVCC)) 
{ 
   Serial.println(F("SSD1306 分配失敗")); 
   為了(;;); // 不要繼續(xù),永遠(yuǎn)循環(huán)
  }

通過(guò)調(diào)用函數(shù) display.clearDisplay() 在顯示任何內(nèi)容之前清除 OLED 屏幕的顯示。我們通過(guò)調(diào)用setTextSize(font-size)函數(shù)將字體大小設(shè)置為 2,并通過(guò)setTextColor和setCursor函數(shù)設(shè)置文本顏色和光標(biāo)位置。Display.display()命令用于將數(shù)據(jù)傳輸?shù)?SSD1306 控制器的內(nèi)部存儲(chǔ)器。傳輸后,像素出現(xiàn)在屏幕上?,F(xiàn)在我們可以通過(guò)調(diào)用display.startscrollright(x-pos,y-pos)和display.startscrollleft(x-pos,y-pos)以各種方式開(kāi)始滾動(dòng)文本對(duì)于延遲函數(shù)中給出的時(shí)間??梢允褂煤瘮?shù) display.stopscroll() 停止文本滾動(dòng)。

無(wú)效測(cè)試滾動(dòng)文本(無(wú)效){
  display.clearDisplay(); // 清除 OLED 的顯示屏幕
  display.setTextSize(2); // 繪制 2X 比例的文本
  display.setTextColor(白色);
  display.setCursor(0, 0);
  display.println(F("電路"));
  display.println(F("摘要"));
  顯示.顯示();// 顯示初始文本
  延遲(100);

  // 向各個(gè)方向滾動(dòng),中間暫停:
  display.startscrollright(0x00, 0x0F);
  延遲(2000);
  display.stopscroll();
  延遲(1000);
  display.startscrollleft(0x00, 0x0F);
  延遲(2000);
  display.stopscroll();
  延遲(1000);
  display.startscrolldiagright(0x00, 0x07);
  延遲(2000);
  display.startscrolldiagleft(0x00, 0x07);
  延遲(2000);
  display.stopscroll();
  延遲(1000);
}

我們調(diào)用display.drawBitmap()函數(shù),它接受 6 個(gè)參數(shù)(x 坐標(biāo)、y 坐標(biāo)、位圖數(shù)組、寬度、高度和顏色)在 OLED 上繪制圖像。由于我們的顯示尺寸為 128x64,因此我們將寬度和高度分別設(shè)置為 128 和 64。這里的位圖數(shù)組包含像素信息以在屏幕上繪制像素以創(chuàng)建圖像。該位圖陣列可以在線生成,如下所述,或者有許多軟件可用于將圖像轉(zhuǎn)換為位圖陣列。

const unsigned char myBitmap [] PROGMEM = { 
  0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xc0, 0x00 , 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf7, 0xc0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff0, 0xff, 0x, , 0xff, 0xff, 
  0xff, 0xff, 0xc7, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x0f, 0x01, 0xc0, x , 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfe, 0x0f, 0x03, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, , 
  0xff, 0xf8, 0x1e, 0x03, 0x3f, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xf0, 0x3e, 0x03, 0x3f, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xe0, 0x3c, 0x03, 0x7f, 0xfe, 0ff,07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xc0, 0x7c, 0x03, 0xf0, 0x3f, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0x0, 0x78, 0x00, 0xc0, 0x0f, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0x00, 0xf8, 0x00, 0x00, 0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xfe, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xfc, 0x00, 0x 0x00, 0x00, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xfc, 0x03, 0xe0, 0x00, 0x0f, 0x00, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xf8, 0x07, 0xc0, 0x3f, 0xff, 0x80, 0x, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x7f, 0xf9, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0 0x80, 0xff, 0xf9, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x03, 0xff0, 0xff, 0x, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x01, 0xf0, 0x1f, 0x80, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xc0, 0x00, 0x 0x06, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xc0, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xc0, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x80, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0, 0xff, 
  0x 0x0f, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x80, 0x00, 0x0f, 0x00, 0x80, 0x00, 0x00, 0x01, x, x 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x80, 0x00, 0x1e, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x0, 0, 0 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0x00, 0x00, 0x3c, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x00, 0x7c, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0x, 0xf8, 0x01, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, ff, 0x, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x00, 0x 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x80, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0, 0xff, 
  0x 0x03, 0xb0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x80, 0x00, 0x03, 0x18, 0x01, 0xff, 0xff, 0xff, 0, 0xff, 0x, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0x80, 0x00, 0x03, 0xbc, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xc0, 0x00, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xf0, 0x00, 0x1f, 0xff, 0xff, 0x, 0, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfe, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x80, 0x03, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xe0, 0x01, 0xc0, 0x00, 0x00, 0x0f, ff, 0x, 0x, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xf8, 0x03, 0x, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xf8, 0x00, 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xfc, 0x00, 0x3f, 0xe0, 0x00, 0x1f, 0x, 0xff, 0 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xfe, 0x00, 0x0e, 0x30, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 00, ff, 0xff, 0 0x07, 0x70, 0x00, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0x80, 0x03, 0xe0, 0x1b, 0xfc, 0x01, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xc0, 0x01, 0xc0, 0x7f, 0xf0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xe0, 0x0, 0xff 0x7f, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xf0, 0x00, 0x00, 0x67, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xf8, 0x00, 0x00, 0x66, 0x00, ff, 0x, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xfe, 0x00, 0x00, 0x7e, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0 0x00, 0x00, 0x3c, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, 0, 0xff, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 
  , 0xff, 00,ff, 0xfe, 0 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
  0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff 
};

  display.drawBitmap(35, 0, myBitmap, 128, 64, BLACK, WHITE); 
  顯示.顯示();

將圖像轉(zhuǎn)換為位圖值

在線位圖可以從http://javl.github.io/image2cpp/生成。上傳要在 OLED 上顯示的圖像文件,并將尺寸設(shè)置為 128x64。將顯示預(yù)覽圖像,然后將生成位圖數(shù)組。

下面的屏幕截圖顯示了生成任何圖像的位圖值的過(guò)程。

poYBAGMVn0iAPAxmAAD-qrzSZuw649.png

pYYBAGMVn0SAJHKMAAIIkKDunZQ441.png

最后將完整的代碼上傳到 NodeMCU ESP8266 中,您將看到圖像顯示在 OLED 屏幕上。在這里,我們?cè)?OLED 顯示屏上顯示 CircuitDigest 標(biāo)志。

pYYBAGMVn0GANaGZAAfd8WeTfJI925.png

/************************************************* *************************

這是我們基于 SSD1306 驅(qū)動(dòng)程序的單色 OLED 的示例

今天在 adafruit 商店挑選一個(gè)!

------> http://www.adafruit.com/category/63_98

此示例適用于使用 SPI 進(jìn)行通信的 128x64 像素顯示器,

需要 4 或 5 個(gè)引腳進(jìn)行接口。

Adafruit 投入時(shí)間和資源提供此開(kāi)源代碼,請(qǐng)

通過(guò)購(gòu)買(mǎi) Adafruit 產(chǎn)品來(lái)

支持 Adafruit 和開(kāi)源硬件!

由 Limor Fried/Ladyada 為 Adafruit Industries

撰寫(xiě),來(lái)自開(kāi)源社區(qū)的貢獻(xiàn)。

BSD 許可證,請(qǐng)查看 license.txt 以獲取更多信息

上面的所有文本和下面的啟動(dòng)屏幕都必須

包含在任何重新分發(fā)中。

****************************************************** ************************/

#include

#include

#include

#include

#define SCREEN_WIDTH 128 // OLED 顯示寬度,以像素為單位

#define SCREEN_HEIGHT 64 // OLED 顯示高度,以像素為單位

// 使用軟件 SPI 連接的 SSD1306 顯示器聲明(默認(rèn)情況):

#define OLED_MOSI 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_MOSI, OLED_CLK, OLED_DC, OLED_RESET, OLED_CS);

const unsigned char myBitmap [] PROGMEM = {

0xff, 0xff, 0xff, 0xe0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xff, 0xc0, 0x00 , 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xf7, 0xc0, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff0, 0xff, 0x, , 0xff, 0xff,

0xff, 0xff, 0xc7, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0x0f, 0x01, 0xc0, x , 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xfe, 0x0f, 0x03, 0xff, 0xc0, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, ,

0xff, 0xf8, 0x1e, 0x03, 0x3f, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xf0, 0x3e, 0x03, 0x3f, 0xfc, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xe0, 0x3c, 0x03, 0x7f, 0xfe, 0ff,07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xc0, 0x7c, 0x03, 0xf0, 0x3f, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0x0, 0x78, 0x00, 0xc0, 0x0f, 0xc1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0x00, 0xf8, 0x00, 0x00, 0x07, 0xe0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xfe, 0x01, 0xf0, 0x00, 0x00, 0x03, 0xf8, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xfc, 0x00, 0x 0x00, 0x00, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xfc, 0x03, 0xe0, 0x00, 0x0f, 0x00, 0x7e, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xf8, 0x07, 0xc0, 0x3f, 0xff, 0x80, 0x, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xc0, 0x7f, 0xf9, 0x80, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0 0x80, 0xff, 0xf9, 0x80, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0x80, 0xff, 0xff, 0x80, 0x03, 0xff0, 0xff, 0x, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0x01, 0xf0, 0x1f, 0x80, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xc0, 0x00, 0x 0x06, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xc0, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xc0, 0x00, 0x07, 0xc0, 0x00, 0x00, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x80, 0x00, 0x07, 0x80, 0x00, 0x00, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0, 0xff,

0x 0x0f, 0x80, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x80, 0x00, 0x0f, 0x00, 0x80, 0x00, 0x00, 0x01, x, x 0xff, 0xff, 0xff, 0xff, 0xff,

0x80, 0x00, 0x1e, 0x01, 0xe0, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x00, 0x0, 0, 0 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x00, 0x00, 0x3c, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x00, 0x00, 0x7c, 0x03, 0x3f, 0xff, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0x, 0xf8, 0x01, 0xe0, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, ff, 0x, 0, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xf0, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x00, 0x00, 0x 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x80, 0x00, 0x01, 0xf0, 0x00, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0, 0, 0xff,

0x 0x03, 0xb0, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0x80, 0x00, 0x03, 0x18, 0x01, 0xff, 0xff, 0xff, 0, 0xff, 0x, 0xff, 0xff, 0xff, 0xff, 0xff,

0x80, 0x00, 0x03, 0xbc, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xc0, 0x00, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xc0, 0x00, 0x00, 0xff, 0xff, 0x80, 0x00, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xf0, 0x00, 0x1f, 0xff, 0xff, 0x, 0, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xfe, 0x00, 0x07, 0xfc, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0x80, 0x03, 0xf0, 0x00, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xe0, 0x01, 0xc0, 0x00, 0x00, 0x0f, ff, 0x, 0x, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xf8, 0x03, 0x, 0x00, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xf8, 0x00, 0xff, 0xe0, 0x00, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xfc, 0x00, 0x3f, 0xe0, 0x00, 0x1f, 0x, 0xff, 0 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xfe, 0x00, 0x0e, 0x30, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 00, ff, 0xff, 0 0x07, 0x70, 0x00, 0xff, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0x80, 0x03, 0xe0, 0x1b, 0xfc, 0x01, 0xff, 0xff, 0xff 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xc0, 0x01, 0xc0, 0x7f, 0xf0, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xe0, 0x0, 0xff 0x7f, 0xc0, 0x07, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xf0, 0x00, 0x00, 0x67, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xf8, 0x00, 0x00, 0x66, 0x00, ff, 0x, 0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xfe, 0x00, 0x00, 0x7e, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0 0x00, 0x00, 0x3c, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xc0, 0x00, 0x00, 0x03, 0xff, 0xff, 0, 0xff, 0, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xf0, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff

, 0xff, 00,ff, 0xfe, 0 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,

0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff

};

無(wú)效設(shè)置(){

序列.開(kāi)始(9600);

// SSD1306_SWITCHCAPVCC = 在內(nèi)部從 3.3V 生成顯示電壓

if(!display.begin(SSD1306_SWITCHCAPVCC)) {

Serial.println(F("SSD1306 allocation failed"));

為了(;;); // 不要繼續(xù),永遠(yuǎn)循環(huán)

}

// 在屏幕上顯示初始顯示緩沖區(qū)內(nèi)容 --

// 庫(kù)使用 Adafruit 初始屏幕對(duì)其進(jìn)行初始化。

//display.display();

//延遲(2000);//暫停2秒

// 清除緩沖區(qū)

display.clearDisplay();

測(cè)試滾動(dòng)文本();

// 清除緩沖區(qū)。

display.clearDisplay();

// 顯示位圖

display.drawBitmap(35, 0, myBitmap, 128, 64, BLACK, WHITE);

顯示.顯示();

}

無(wú)效循環(huán)(){

}

無(wú)效測(cè)試滾動(dòng)文本(無(wú)效){

display.clearDisplay();

display.setTextSize(2); // 繪制 2X 比例的文本

display.setTextColor(WHITE);

display.setCursor(0, 0);

display.println(F("電路"));

display.println(F("摘要"));

顯示.顯示();// 顯示初始文本

delay(100);

// 向各個(gè)方向滾動(dòng),中間暫停:

display.startscrollright(0x00, 0x0F);

延遲(2000);

display.stopscroll();

延遲(1000);

display.startscrollleft(0x00, 0x0F);

延遲(2000);

display.stopscroll();

延遲(1000);

display.startscrolldiagright(0x00, 0x07);

延遲(2000);

display.startscrolldiagleft(0x00, 0x07);

延遲(2000);

display.stopscroll();

延遲(1000);

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SPI協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    18

    瀏覽量

    8337
  • OLED顯示器
    +關(guān)注

    關(guān)注

    0

    文章

    65

    瀏覽量

    12927
  • ESP8266
    +關(guān)注

    關(guān)注

    50

    文章

    960

    瀏覽量

    44557
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    利用網(wǎng)頁(yè)web端為搭載NodeMcuesp8266連接wifi

    從無(wú)到有玩NodeMcu:web端控制我們的目標(biāo):利用網(wǎng)頁(yè)web端為搭載NodeMcuesp8266連接wifi硬件準(zhǔn)備:基于NodeMcu
    發(fā)表于 11-01 08:31

    OLED顯示屏與NodeMCU ESP8266連接的方法

    /thread-1183-1-1.html在本篇文章中,我們OLED顯示屏與NodeMCU ESP8266
    發(fā)表于 11-01 09:17

    使用esp8266實(shí)現(xiàn)STM32聯(lián)網(wǎng)(最簡(jiǎn)單USART方法)

    上一篇 esp8266怎么配置esp8266和USB轉(zhuǎn)TTL連接esp8266簡(jiǎn)單介紹esp8266連接
    發(fā)表于 11-22 11:51 ?1.2w次閱讀

    Nodemcu連接OLED顯示屏并顯示位圖圖像

    /thread-1183-1-1.html在本篇文章中,我們OLED顯示屏與NodeMCU ESP8266
    發(fā)表于 10-25 15:36 ?21次下載
    <b class='flag-5'>Nodemcu</b><b class='flag-5'>連接</b><b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>屏并<b class='flag-5'>顯示</b>位圖圖像

    ESP8266-NodeMCU

    2C1.8 SPI1.9 ESP8266引腳功能一覽ESP8266-NodeMCU引腳功能1.1 可用引腳??ESP8266芯片有17個(gè)GPIO引腳(GPIO0~GPIO16)。這些引腳中的GPIO6~GPIO 11被用于
    發(fā)表于 10-25 16:51 ?42次下載
    <b class='flag-5'>ESP8266-NodeMCU</b>

    ESP8266 修復(fù)刷完nodemcu固件后無(wú)法連接wifi網(wǎng)絡(luò)的故障

    最近到手的wifi開(kāi)發(fā)板,編寫(xiě)了一個(gè)stm32連接DHT11采集當(dāng)前溫濕度數(shù)據(jù)(為什么不直接使用esp8266的DHT模塊直接采集溫濕度,因?yàn)槲野l(fā)現(xiàn)nodemcu的DHT采集溫濕度實(shí)在是太不準(zhǔn)確了
    發(fā)表于 10-26 17:51 ?12次下載
    <b class='flag-5'>ESP8266</b> 修復(fù)刷完<b class='flag-5'>nodemcu</b>固件后無(wú)法<b class='flag-5'>連接</b>wifi網(wǎng)絡(luò)的故障

    ESP8266 nodemcu使用arduino編程點(diǎn)亮OLED測(cè)試

    ESP8266 nodemcu使用arduino編程點(diǎn)亮OLED測(cè)試芯片了解ESP8266 nodemcu使用arduino編程點(diǎn)亮
    發(fā)表于 10-26 18:21 ?23次下載
    <b class='flag-5'>ESP8266</b> <b class='flag-5'>nodemcu</b>使用arduino編程點(diǎn)亮<b class='flag-5'>OLED</b>測(cè)試

    ESP8266(NodeMCU)OLED的使用

    ??ESP8266驅(qū)動(dòng)OLED顯示屏。使用SPI協(xié)議單色7引腳SSD1306 0.96 OLED顯示
    發(fā)表于 10-28 11:51 ?13次下載
    <b class='flag-5'>ESP8266</b>(<b class='flag-5'>NodeMCU</b>)<b class='flag-5'>OLED</b>的使用

    Esp8266(NodeMCU)連接阿里云服務(wù)

    Esp8266NodeMCU連接阿里云服務(wù)創(chuàng)建阿里云產(chǎn)品添加設(shè)備Esp8266代碼MQTT_PASSWD密碼生成工具修改PubSubC
    發(fā)表于 11-16 10:21 ?18次下載
    <b class='flag-5'>Esp8266</b>(<b class='flag-5'>NodeMCU</b>)<b class='flag-5'>連接</b>阿里云服務(wù)<b class='flag-5'>器</b>

    esp8266 nodeMCU arduino開(kāi)發(fā)環(huán)境

    esp8266 nodeMCU arduino開(kāi)發(fā)環(huán)境
    發(fā)表于 12-08 14:36 ?26次下載
    <b class='flag-5'>esp8266</b> <b class='flag-5'>nodeMCU</b> arduino開(kāi)發(fā)環(huán)境

    傻乖透明小電視(最近在苦逼實(shí)習(xí),實(shí)習(xí)結(jié)束整理發(fā)布,先來(lái)點(diǎn)彩蛋,關(guān)注后不會(huì)錯(cuò)過(guò)哦~)——ESP8266 NodeMCU+OLED+DFPlayer Mini+小喇叭

    傻乖小電視——ESP8266 NodeMCU+OLED+DFPlayer Mini+小喇叭顯示ESP8266 NodeMCU
    發(fā)表于 12-16 16:53 ?17次下載
    傻乖透明小電視(最近在苦逼實(shí)習(xí),實(shí)習(xí)結(jié)束整理發(fā)布,先來(lái)點(diǎn)彩蛋,關(guān)注后不會(huì)錯(cuò)過(guò)哦~)——<b class='flag-5'>ESP8266</b> <b class='flag-5'>NodeMCU+OLED</b>+DFPlayer Mini+小喇叭

    Esp8266連接器擴(kuò)展開(kāi)源項(xiàng)目

    電子發(fā)燒友網(wǎng)站提供《Esp8266連接器擴(kuò)展開(kāi)源項(xiàng)目.zip》資料免費(fèi)下載
    發(fā)表于 07-05 11:15 ?4次下載
    <b class='flag-5'>Esp8266</b><b class='flag-5'>連接器</b>擴(kuò)展<b class='flag-5'>器</b>開(kāi)源項(xiàng)目

    使用ESP8266從NTP服務(wù)獲取時(shí)間并在OLED顯示器顯示

    在本教程中,我們將使用 ESP8266 NodeMCU 從 NTP 服務(wù)獲取當(dāng)前時(shí)間和日期,并將其顯示OLED
    的頭像 發(fā)表于 09-01 16:09 ?1.9w次閱讀
    使用<b class='flag-5'>ESP8266</b>從NTP服務(wù)<b class='flag-5'>器</b>獲取時(shí)間并在<b class='flag-5'>OLED</b><b class='flag-5'>顯示器</b>上<b class='flag-5'>顯示</b>

    nodemcuesp8266是什么關(guān)系?

    nodemcuesp8266是什么關(guān)系 nodemcuesp8266是什么關(guān)系?通俗理解就是nodemcu是一個(gè)開(kāi)發(fā)板,基于
    的頭像 發(fā)表于 10-20 14:53 ?3344次閱讀
    <b class='flag-5'>nodemcu</b>和<b class='flag-5'>esp8266</b>是什么關(guān)系?

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示

    Arduino Nano 和 NodeMCU ESP8266 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 OLED顯示
    的頭像 發(fā)表于 08-13 18:04 ?644次閱讀
    Arduino Nano 和 <b class='flag-5'>NodeMCU</b> <b class='flag-5'>ESP8266</b> 讀取 DHT11 環(huán)境溫濕度數(shù)據(jù)及 <b class='flag-5'>OLED</b><b class='flag-5'>顯示</b>