在Arduino上顯示OLED螢幕資料
在本教程中,我們將Arduino與SSD 1306 OLED顯示屏連線。
電路圖

如您所見,我們將Vcc連線到3.3V,GND連線到GND,SDA連線到A4,SCL連線到A5。A4和A5在Arduino Uno上也充當SDA和SCL。
所需庫
與OLED顯示屏連線Arduino Uno需要以下庫:
Adafruit SSD1306
Adafruit GFX
Adafruit BusIO(Adafruit GFX需要)
轉到**工具 → 管理庫**,搜尋這些庫並點選安裝。



示例
程式碼如下:
#include <Wire.h>
#include <Adafruit_SSD1306.h>
#include <Adafruit_GFX.h>
#define WIDTH 128 // OLED width (pixels)
#define HEIGHT 64 // OLED height (pixels)
#define ADDRESS 0x3C
//Creation of SSD1306 display object
Adafruit_SSD1306 display(WIDTH, HEIGHT, &Wire, -1);
void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, ADDRESS)) {
Serial.println("SSD1306 initialization failed");
while(1){}
}
delay(5000);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(1);
display.setCursor(0, 10);
// Display static text
display.println("Hello World!");
display.display();
}
void loop() {
}如您所見,我們首先包含所需的庫,然後定義顯示寬度、高度和I2C地址。
#include <Wire.h> #include <Adafruit_SSD1306.h> #include <Adafruit_GFX.h> #define WIDTH 128 // OLED width (pixels) #define HEIGHT 64 // OLED height (pixels) #define ADDRESS 0x3C
接下來,我們定義顯示。
Adafruit_SSD1306 display(WIDTH, HEIGHT, &Wire, -1);
末尾的-1表示此OLED顯示屏沒有復位引腳。如果OLED螢幕有復位引腳,請輸入連線復位引腳的Arduino GPIO引腳編號。&Wire表示I2C通訊物件(Wire)。
在Setup中,我們首先初始化Serial,然後我們嘗試使用display.begin()初始化顯示物件。它接收兩個引數:SSD1306_SWITCHCAPVCC和OLED顯示屏的I2C地址。
您可能想知道SSD1306_SWITCHCAPVCC代表什麼。根據Adafruit SSD1306庫原始碼中的註釋,此第一個引數確定VCC選擇。
“傳遞SSD1306_SWITCHCAPVCC從3.3V電源產生顯示電壓(升壓),否則傳遞SSD1306_EXTERNALVCC。大多數使用Adafruit SSD1306擴充套件板的情況都需要SSD1306_SWITCHCAPVCC。”
如果初始化成功,我們將繼續進行,否則我們將進入無限迴圈。
如果我們繼續進行,我們將等待一小段時間,然後清除顯示屏,然後設定文字顏色、文字大小和游標位置,然後寫入要顯示的文字。建議您嘗試不同的文字顏色、大小和游標位置。
void setup() {
Serial.begin(9600);
if(!display.begin(SSD1306_SWITCHCAPVCC, ADDRESS)) {
Serial.println("SSD1306 initialization failed");
while(1){}
}
delay(5000);
display.clearDisplay();
display.setTextColor(WHITE);
display.setTextSize(1);
display.setCursor(0, 10);
// Display static text
display.println("Hello World!");
display.display();
}在迴圈中,什麼也不做。
void loop() {
}
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP