範例五

OLED 模組

市面上可買到的 SSD1306 腳位有兩種,使用時請注意擴充板的插槽只支援這款,請特別小心.

-> 使用時,請轉 180 度插上,所以程式寫法需特別旋轉180度來顯示

// 範例五:

// 利用 I2C 介面接上 SSD1306 128x64 OLED 螢幕,需注意只支援以下排列的 SSD1306 腳位模組

// GND / VCC / SCL / SDA

// 使用 SCL-> GPIO22

// 使用 SDA-> GPIO21

// 需要的 library : Adafruit_GFX,Adafruit_SSD1306

// FB : https://www.facebook.com/mason.chen.1420


#include <Wire.h>

#include <Adafruit_GFX.h>

#include <Adafruit_SSD1306.h>

#define SCREEN_WIDTH 128 // OLED display width, in pixels

#define SCREEN_HEIGHT 64 // OLED display height, in pixels


#define OLED_RESET 4 // Reset pin

#define SCREEN_ADDRESS 0x3C // Address; 0x3C for 128x64

Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);


void setup() {

Serial.begin(9600);


Wire.begin();

display.setRotation(2); // 旋轉 180度


// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally

if(!display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS)) {

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

for(;;); // Don't proceed, loop forever

}

// Clear the buffer

display.clearDisplay();


display.setTextSize(2);

display.setTextColor(WHITE);

display.setCursor(0, 0);

display.println("Hello !!");


display.display();

delay(1000);

}


void loop() {

}