全部文章

查看所有文章

跨世代效能對決:ESP32-S3 與 ESP32 核心規格差異與選型指南

一、 核心架構與效能對比

規格項目 經典 ESP32 新一代 ESP32-S3
核心處理器 雙核心 Tensilica Xtensa LX6 (最高 240 MHz) 雙核心 Tensilica Xtensa LX7 (最高 240 MHz)
運算架構 傳統微控制器架構 引入 向量指令集 (Vector Instructions),強化 AI/ML 運算
USB 支援 僅支援 UART/USB 轉接晶片 原生支援 USB On-The-Go (OTG) 與 USB Serial/JTAG
安全機制 基本 Flash 加密、安全開機 增加 AES-XTS Flash 加密、數位簽章、RSA 晶片安全防護
記憶體支援 支援外部 Flash,內建 SRAM 有限 支援高容量高速 Octal SPI Flash/PSRAM,記憶體頻寬更大
  • 經典 ESP32:勝在技術成熟、周邊資源多且價格極低,一般上網、抓個感測器數據或是簡單的 MQTT 傳輸,雙核心綽綽有餘。
  • ESP32-S3:主打硬體級加速。加了向量指令集後,跑 TinyML 機器學習或接 OV2640 鏡頭做影像辨識的速度明顯快很多。

二、 外設介面與擴充能力差異

  1. GPIO 數量與彈性:
    • 傳統 ESP32 的腳位配置比較固定。
    • ESP32-S3 直接給到 45 個可程式化 GPIO,腳位對應彈性高很多。
  2. 觸控與低功耗:
    • 兩者都有電容式觸控腳位,但 S3 的低功耗協同處理器(ULP)在喚醒與耗電控制上做得更好。
  3. 原生 USB 介面的便利性:
    • 舊款 ESP32 一定得靠 CP2102 或 CH340 這類外接晶片才能連電腦。
    • S3 支援原生 USB OTG,板子直接插上去就能模擬成 USB 鍵盤、滑鼠或隨身碟,省掉不少麻煩。

三、 開發與軟體生態支援

  • Arduino IDE:兩者都能用。寫 S3 的話建議把 ESP32 Arduino Core 升到 v2.x 以上,才能順暢發揮原生 USB 跟硬體加速。
  • MicroPython / CircuitPython:Python 都能跑,但 S3 記憶體擴充彈性好,跑比較大的腳本或架網頁伺服器比較不容易爆 RAM。
  • UIFlow 與視覺化編程:搭配 M5Stack 這一類的硬體,S3 跑彩色螢幕更新率跟 LVGL 圖形介面流暢度好很多。

四、 實際選型指南

什麼時候選經典 ESP32?

  • 基礎物聯網:只是讀溫濕度、做開關控制、傳個簡單的 MQTT。
  • 追求性價比與量產成本:電路板已經定型,量產時需要極致的便宜與穩定。

什麼時候該換 ESP32-S3?

  • 彩色螢幕與 HMI 人機介面:需要驅動高解析度 TFT 畫面,不想畫面卡頓。
  • AIoT 邊緣運算:專案要玩影像辨識、語音辨識或輕量級機器學習(TinyML)。
  • 需要 USB 裝置模擬:想讓開發板直接跟電腦互動(像是自定義鍵盤、滑鼠或虛擬序列埠)。
  • 全新開發的專案:如果從零開始設計,S3 在安全防護跟後續擴充性上更有優勢。

I2C、SPI、UART、RS232、RS485差異完整比較:通訊介面原理、速度與應用一次看懂

在使用 Arduino、ESP32、Raspberry Pi 或其他微控制器開發電子產品時,常常會遇到 I2C、SPI、UART、RS232、RS485 等通訊介面。雖然它們都是用來傳輸資料,但實際上的工作方式、接線方式、傳輸距離與適用場合都有所不同。例如,連接溫濕度感測器時可能會使用 I2C;連接 TFT 顯示器或 SD 卡時常見 SPI;GPS、藍牙模組則經常使用 UART。如果要與工業設備、電表或 Modbus 設備進行較長距離的通訊,RS485 就會是常見的選擇。本文將整理 I2C、SPI、UART、RS232、RS485 的基本原理與差異,並從實際應用的角度說明該如何選擇。

一、I2C 是什麼?

I2C(Inter-Integrated Circuit)是一種常見的同步串列通訊介面,主要透過兩條訊號線進行資料傳輸:

  • SDA:資料線
  • SCL:時脈線

I2C 的特色是可以讓多個周邊裝置共用同一組 SDA 與 SCL 線路。每個裝置通常都有自己的位址,因此控制器可以指定要與哪一個裝置進行通訊。

這種設計非常適合電子開發板連接多個感測器或周邊設備,例如溫濕度感測器、氣壓感測器、OLED 顯示器、RTC 即時時鐘、EEPROM 及 IO 擴充器等。

I2C 的優點

  • 只需要 SDA、SCL 兩條主要訊號線
  • 可以連接多個周邊裝置
  • 接線相對簡單
  • 非常適合感測器與低速周邊設備

二、SPI 是什麼?

SPI(Serial Peripheral Interface)也是常見的同步串列通訊介面,通常會使用以下訊號:

  • SCK:時脈訊號
  • MOSI:主控制器傳送資料
  • MISO:主控制器接收資料
  • CS/SS:選擇周邊裝置

SPI 通常需要比 I2C 更多的訊號線,但優點是傳輸速度通常較快,因此適合需要較高資料傳輸量的設備。

常見的 SPI 應用包括 TFT LCD、SD 卡、Flash 記憶體、ADC/DAC、部分無線通訊模組以及其他需要較快資料交換的周邊設備。

SPI 的優點

  • 傳輸速度通常比 I2C 快
  • 通訊方式簡單
  • 適合大量資料傳輸
  • 廣泛應用於顯示器、記憶體及各種周邊模組

三、UART 是什麼?

UART(Universal Asynchronous Receiver/Transmitter)是一種非常常見的非同步串列通訊方式。最基本的 UART 通訊通常需要 TX、RX 及 GND。

  • TX:Transmit,傳送資料
  • RX:Receive,接收資料
  • GND:接地

UART 不需要額外的時脈線,通訊雙方必須事先設定相同的通訊參數,例如 Baud Rate(鮑率)、Data Bits、Stop Bits 以及 Parity。

常見的 Baud Rate 包括 9600、19200、38400、57600 及 115200。

UART 在各種開發板與電子模組中都非常常見,例如 GPS、Bluetooth、Wi-Fi、GSM/LTE 模組,以及 USB-to-UART 轉換器等。

四、RS232 是什麼?

RS232 是一種常見的序列通訊標準,過去廣泛應用於電腦、工業設備、儀器及各種需要序列通訊的設備。

需要注意的是,UART 與 RS232 並不是同一種東西。UART 比較偏向微控制器內部的序列通訊方式,而 RS232 則涉及實際訊號的電氣規格。

因此,Arduino 或 ESP32 的 UART 訊號如果要與標準 RS232 設備連接,通常需要使用 UART-to-RS232 的轉換電路或轉換模組,而不能直接將兩者的 TX、RX 腳位任意相接。

RS232 常見於傳統電腦周邊、工業儀器、控制設備及部分舊型設備,通常以點對點方式進行通訊。

五、RS485 是什麼?

RS485 是工業自動化領域相當常見的通訊介面,最大的特色之一是使用差動訊號進行資料傳輸,因此在較長距離及電氣雜訊較多的環境中具有較好的抗干擾能力。

RS485 常見的訊號線為 A 與 B,實際設備的標示方式可能有所不同,因此進行接線時仍應以設備的規格與說明文件為準。

與一般微控制器的 UART 相比,RS485 更適合設備之間進行較長距離的通訊,也可以用於多個設備之間的網路架構。

在工業現場,RS485 也經常與 Modbus RTU 搭配使用,例如電表、溫控器、PLC、變頻器及各類工業感測器。

RS485 常見優點

  • 適合較長距離資料傳輸
  • 抗干擾能力較佳
  • 適合多設備通訊
  • 常用於工業自動化環境
  • 常與 Modbus RTU 搭配使用

六、I2C、SPI、UART、RS232、RS485 差異比較

以下整理五種常見通訊介面的主要差異:

項目 I2C SPI UART RS232 RS485
通訊方式 同步 同步 非同步 非同步序列 差動序列
主要訊號 SDA、SCL SCK、MOSI、MISO、CS TX、RX TX、RX 等 A、B
多設備 可以 可以,通常需要 CS 一般不適合 通常點對點 適合
傳輸速度 中 快 中 中 中~快
傳輸距離 短 短 短~中 中 長
抗干擾能力 一般 一般 一般 一般 較佳
常見應用 感測器、OLED、RTC LCD、SD 卡、Flash GPS、藍牙、通訊模組 傳統序列設備 工業設備、Modbus

七、I2C 和 SPI 有什麼差別?

I2C 和 SPI 都是微控制器常見的同步通訊方式,但兩者的設計方向不太一樣。

如果系統需要連接多個感測器,而且希望減少使用的訊號線,I2C 通常會比較方便。多個 I2C 裝置可以共用 SDA 與 SCL,再利用不同的裝置位址進行識別。

如果需要較高的資料傳輸速度,例如連接 TFT 顯示器、SD 卡或其他需要大量資料交換的設備,SPI 通常會更適合。

簡單來說:多個周邊、接線簡單可以考慮 I2C;需要較高速度則可以考慮 SPI。

八、UART、RS232、RS485 有什麼差別?

UART、RS232、RS485 都經常出現在序列通訊相關產品中,因此很容易讓初學者混淆。

如果只是 Arduino 或 ESP32 與 GPS、藍牙模組等周邊設備進行短距離通訊,通常直接使用 UART 就可以。

如果需要與傳統的 RS232 序列設備連接,就需要使用符合 RS232 電氣規格的介面或轉換模組。

如果是工業環境、較長距離或需要連接多個設備,RS485 通常會更加合適。尤其在 Modbus RTU 應用中,RS485 是非常常見的硬體介面。

使用情境 較適合的介面
微控制器連接感測器 I2C
連接高速周邊設備 SPI
Arduino/ESP32 連接 GPS 或通訊模組 UART
連接傳統序列設備 RS232
工業設備長距離通訊 RS485
Modbus RTU 設備 RS485

九、Arduino、ESP32 要如何選擇通訊介面?

在實際開發 Arduino 或 ESP32 專案時,可以先從設備的需求來判斷。

例如 Arduino 搭配溫度、濕度、氣壓等感測器時,可以優先確認感測器是否支援 I2C;如果要使用 TFT 顯示器或 SD 卡,則可以查看產品是否採用 SPI。

如果是 Arduino 或 ESP32 搭配 GPS、Bluetooth 等通訊模組,UART 是相當常見的選擇。

如果專案需要與工業儀表、電表、PLC 或 Modbus 設備通訊,則可以進一步考慮 RS485 介面。

十、如何選擇適合自己的通訊介面?

選擇通訊介面時,不需要只看傳輸速度,還應該考慮傳輸距離、設備數量、抗干擾能力、接線數量,以及 Arduino、ESP32 或其他控制器本身是否支援該介面。

  • 需要連接多個感測器:可以優先考慮 I2C。
  • 需要較高資料傳輸速度:可以考慮 SPI。
  • 控制器與模組短距離串列通訊:可以考慮 UART。
  • 需要連接傳統序列設備:可以考慮 RS232。
  • 長距離、工業環境或多設備通訊:可以考慮 RS485。

I2C、SPI、UART、RS232、RS485 雖然都可以用來傳輸資料,但適合的應用環境並不相同。

I2C 適合多個感測器及周邊設備,SPI 適合需要較快資料傳輸的應用,UART 常見於微控制器與各種通訊模組之間,而 RS232 與 RS485 則較常出現在設備之間的序列通訊。其中 RS485 具有較佳的抗干擾能力及較長距離通訊的優勢,因此在工業自動化與 Modbus RTU 應用中相當常見。

如果正在規劃 Arduino、ESP32 或其他嵌入式系統專案,可以先確認設備的通訊介面,再依照傳輸距離、速度與使用環境選擇合適的模組,通常就能避免後續接線及通訊上的問題。

Raspberry Pi 新版相機指令 libcamera 快速上手 (含舊版指令對照表)

 

作者
台灣物聯科技技術團隊
|
2025 技術專欄
為什麼這篇文章很重要?
如果您剛入手最新的 Raspberry Pi Camera Module 3,或者將樹莓派系統更新到了 Bullseye / Bookworm 版本,您會發現以前熟悉的 raspistill 指令失效了!
別驚慌,這是因為樹莓派全面轉向了更強大的開源相機堆疊——libcamera。本文將帶您快速掌握新指令。

1. 快速對照表:舊指令 vs 新指令

對於老玩家來說,最快的學習方式就是直接看對照。新版指令在命名邏輯上非常直觀:

功能 舊版指令 (Legacy) 新版指令 (libcamera)
純預覽 (不存檔) raspistill -f libcamera-hello
拍照 (JPG) raspistill libcamera-still
錄影 (H264) raspivid libcamera-vid
原始數據 (Raw) raspiyuv libcamera-raw

*註:在最新的 Raspberry Pi OS (Bookworm) 中,指令別名可能為 rpicam-still 或 rpicam-vid,但功能完全相同。


2. 實戰演練:常用指令範例

拍照指令 (libcamera-still)

這是最常用的指令,基本用法與舊版非常相似。

# 拍攝一張照片並儲存為 test.jpg
libcamera-still -o test.jpg

# 延遲 5 秒後拍攝 (單位為毫秒)
libcamera-still -t 5000 -o test.jpg

# 指定解析度為 1920×1080
libcamera-still –width 1920 –height 1080 -o test.jpg

錄影指令 (libcamera-vid)

新版錄影功能支援更靈活的檔案格式。

# 錄製 10 秒影片 (H.264 格式)
libcamera-vid -t 10000 -o test.h264

# 直接錄製為 mjpeg (方便某些播放器觀看)
libcamera-vid -t 10000 –codec mjpeg -o test.mjpeg

即時預覽 (libcamera-hello)

用來測試鏡頭是否安裝成功,或是單純想當作電子鏡子使用。

# 開啟預覽視窗,直到按下 Ctrl+C 結束 (-t 0 代表無限時)
libcamera-hello -t 0

3. 進階功能:解放 Camera Module 3 的潛力

如果您購買的是支援自動對焦 (Auto Focus) 的 Camera Module 3,舊指令是完全無法驅動這個功能的。唯有 libcamera 能讓它火力全開。

啟用連續自動對焦

libcamera-hello -t 0 --autofocus-mode continuous

加上這個參數後,您會發現畫面中的物體移動時,鏡頭會自動重新對焦,就像手機一樣!

手動控制對焦

您也可以指定對焦距離(單位為 Dioptres 屈光度,數值 0 代表無限遠,數值越大代表對焦距離越近): 例如:10.0 大約對焦在 10公分處

libcamera-still -o focus_test.jpg --lens-position 5.0

4. 常見問題 Troubleshooting

Q: 執行指令出現 command not found?
A: 請確認您的作業系統是否為 Raspberry Pi OS Bullseye 或更新版本。如果是舊版 Buster,請先升級系統。

Q: 出現 no cameras available 錯誤?
A:
1. 檢查排線是否接反(藍色膠帶應朝向網路孔/USB座,若是 Pi Zero 則相反)。
2. 如果您使用的是舊款 Pi Camera V1 (OmniVision),新系統可能支援度有限,建議升級至 Camera V2 或 Camera V3。

Q: 我還能切換回舊版指令嗎?
A: 在舊版 Bullseye 中可以透過 sudo raspi-config -> Interface Options -> Legacy Camera 啟用舊版支援,但在最新的 Bookworm 系統中,舊版堆疊已被大幅移除,建議盡早適應 libcamera。

官方權威資源參考

想要體驗最新的 AIoT 視覺應用?

台灣物聯科技提供最完整的樹莓派原廠鏡頭選擇,現貨供應中。

IoT
台灣物聯科技技術團隊

專注於 Raspberry Pi 與 AIoT 技術教學,我們致力於讓開發者能更輕鬆地使用最新的硬體技術。

【ESP32 教學】MQTT 快速上手:讓你的感測器數據輕鬆上雲端

您是否已經成功地用 ESP32 讀取到了溫濕度、光照度或任何感測器的數據,卻發現這些數據只能孤單地顯示在您電腦的序列埠監控視窗上?您是否夢想著,無論身在何處,都能用手機或電腦,即時查看您遠方裝置的狀態?

如果這正是您的困境,那麼恭喜您,您即將學會物聯網 (IoT) 世界中最核心、最普及的通訊技術——MQTT。這篇文章就是一篇為您準備的終極實戰指南,將帶您從零開始,一步步將您的感測器數據,真正地「發佈」到網際網路的雲端上。

一、MQTT 是什麼?一個超簡單的「郵局佈告欄」比喻

與其陷入複雜的技術定義,不如讓我們用一個簡單的比喻來理解。您可以把 MQTT (Message Queuing Telemetry Transport) 想像成一個雲端上的「郵局佈告欄」系統。

  • 佈告欄 (Broker): 這是一台 24 小時運作的雲端伺服器,就像郵局裡那一整排的佈告欄。
  • 佈告欄分類 (Topic): 每個佈告欄都有一個獨一無二的「分類主題」,例如 `home/living_room/temperature`。
  • 貼公告的人 (Publisher): 您的 ESP32 感測器就是「貼公告的人」。它會將測量到的溫度數據,寫在一張紙條上,然後貼到主題為 `home/living_room/temperature` 的佈告欄上。
  • 看公告的人 (Subscriber): 您的手機 App 或電腦程式,就是「看公告的人」。它只需要告訴郵局:「嘿,我對 `home/living_room/temperature` 這個主題的公告有興趣!」從此以後,只要有人在這個佈告欄上貼了新公告,郵局就會自動通知他。

MQTT 的優點: 這個系統非常輕量、高效且可靠,特別適合用在網路不穩定或需要省電的物聯網裝置上。


二、實戰專案:打造一個 MQTT 雲端溫濕度計

我們的目標很簡單:讓 ESP32 每 5 秒讀取一次溫濕度,並透過 MQTT 發佈到一個免費的線上 Broker,然後我們用電腦的網頁瀏覽器,就能即時看到這些數據。

專案硬體準備清單

  1. 主控板: 任何一款 ESP32 開發板 x 1
  2. 感測器: DHT22 溫濕度感測器模組 x 1 (或 DHT11)
  3. 其他: 杜邦線、麵包板。

軟體與函式庫設定

請確保您的 Arduino IDE 已經安裝了 ESP32 的開發板支援,並透過「程式庫管理員」安裝以下函式庫:

硬體接線指南

接線非常簡單:

  • 將 DHT22 的 VCC (電源) 接腳,連接到 ESP32 板上的 3V3。
  • 將 DHT22 的 GND (接地) 接腳,連接到 ESP32 板上的 GND。
  • 將 DHT22 的 DATA (數據) 接腳,連接到 ESP32 板上的 GPIO 13 (或其他您指定的數位腳位)。

三、完整 Arduino 程式碼範例

將以下程式碼完整複製到您的 Arduino IDE。請務必修改開頭的 `ssid`, `password` 為您自己的 Wi-Fi 資訊。


#include <WiFi.h>
#include <PubSubClient.h>
#include "DHT.h"

// --- 請在此處修改 ---
const char* ssid = "YOUR_WIFI_SSID";         // 您的 Wi-Fi 名稱
const char* password = "YOUR_WIFI_PASSWORD"; // 您的 Wi-Fi 密碼

// --- MQTT Broker 設定 ---
const char* mqtt_server = "broker.hivemq.com"; // 使用免費的 HiveMQ Broker
const int mqtt_port = 1883;
const char* temperature_topic = "TaiwanIOT/living_room/temperature"; // 溫度的 Topic
const char* humidity_topic = "TaiwanIOT/living_room/humidity";       // 濕度的 Topic

// --- DHT22 設定 ---
#define DHTPIN 13
#define DHTTYPE DHT22
DHT dht(DHTPIN, DHTTYPE);

// --- 全域變數 ---
WiFiClient espClient;
PubSubClient client(espClient);

void setup_wifi() {
  delay(10);
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("\nWiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void reconnect() {
  while (!client.connected()) {
    Serial.print("Attempting MQTT connection...");
    String clientId = "ESP32Client-";
    clientId += String(random(0xffff), HEX);
    if (client.connect(clientId.c_str())) {
      Serial.println("connected");
    } else {
      Serial.print("failed, rc=");
      Serial.print(client.state());
      Serial.println(" try again in 5 seconds");
      delay(5000);
    }
  }
}

void setup() {
  Serial.begin(115200);
  setup_wifi();
  client.setServer(mqtt_server, mqtt_port);
  dht.begin();
}

void loop() {
  if (!client.connected()) {
    reconnect();
  }
  client.loop();

  // 每 5 秒讀取一次數據
  delay(5000);

  float h = dht.readHumidity();
  float t = dht.readTemperature();

  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  // 將浮點數轉換為字串
  char tempString[8];
  dtostrf(t, 4, 2, tempString);
  char humString[8];
  dtostrf(h, 4, 2, humString);

  // 發佈到 MQTT Broker
  client.publish(temperature_topic, tempString);
  client.publish(humidity_topic, humString);

  Serial.print("Temperature: ");
  Serial.print(tempString);
  Serial.println(" *C");
  Serial.print("Humidity: ");
  Serial.print(humString);
  Serial.println(" %");
}

四、驗證成果:在網頁上看到您的即時數據!

這一步是見證奇蹟的時刻!

  1. 上傳完程式碼後,打開 Arduino IDE 的「序列埠監控視窗」,您應該會看到 ESP32 成功連上 Wi-Fi 並開始發送數據。
  2. 在您的電腦瀏覽器上,打開免費的 HiveMQ 線上 MQTT 客戶端。
  3. 在連線設定中,確認 Host 是 `broker.hivemq.com`,Port 是 `8000` (for WebSockets),然後點擊 `Connect`。
  4. 連線成功後,在下方的「Subscriptions」區塊,點擊 `+ Add New Topic Subscription`。
  5. 在「Topic」欄位中,輸入 `TaiwanIOT/living_room/#`,然後點擊 `Subscribe`。
    (專家提示: # 是一個「萬用字元」,代表訂閱 `TaiwanIOT/living_room/` 底下所有的子主題。)
  6. 成功! 您現在應該就能在右邊的「Messages」視窗中,看到您的 ESP32 每 5 秒發送一次的即時溫濕度數據了!

五、不只是溫濕度:打開您專案的想像大門!

恭喜您!您已經掌握了將數據上雲的核心技術。現在,您可以將教學中的 DHT22 感測器,替換成任何您感興趣的感測器,打造出更酷、更實用的物聯網應用。以下是一些能激發您靈感的專案方向:

應用一:打造一個智慧空氣品質監測站

應用二:建立一套家庭安全警報系統

應用三:實現一個智慧植物澆水系統

至此,您已成功解鎖了讓裝置「上網說話」的核心技能。從這一刻起,您的專案不再是一座孤島,而是成為了龐大物聯網世界中的一個節點。掌握了 MQTT,您就擁有了通往無數應用的鑰匙——無論是將數據存入資料庫、在手機 App 上顯示,還是觸發 IFTTT 等網路服務,萬物互聯的無限可能正等著您去探索。

本文由 台灣物聯科技 技術團隊,根據多年產業知識與實測經驗分析彙整。

延伸閱讀:從數據上雲到萬物互聯

您已經掌握了將數據「發佈」到雲端的核心技術。現在,是時候探索如何「應用」這些數據,並為您的專案增加更多可能性了。

OLED vs. LCD vs. 電子紙 (E-Ink):如何為你的專案挑選最適合的顯示器?

您是否曾經想為您的專案加上一個「臉」,讓冰冷的數據能被看見,讓複雜的狀態一目了然,卻在五花八門的顯示器選擇中迷失了方向?OLED、LCD、電子紙… 它們到底有什麼不同?我該為我的專案選擇哪一個?

別擔心,這篇文章就是為您準備的終極選購指南。我們將用最簡單的比喻,帶您一次搞懂這三種主流顯示技術的優缺點,助您第一次就為您的專案,挑選到最適合的那張「臉」。

一、OLED 顯示器:色彩斑斕的短跑衝刺選手

您可以把 OLED (有機發光二極體) 想像成顯示器世界裡的「跑車」。它速度飛快、外型炫麗,能帶來極致的視覺饗宴。

  • 運作原理: OLED 最大的特點是「自發光」。它的每一個像素點,都是一顆微小的、能自己發光的 LED 燈。
  • ✅ 優點:
    • 極致對比度: 因為黑色部分是像素「完全關閉」,所以能呈現最純粹的黑色,對比度極高。
    • 反應速度快: 非常適合用來顯示動畫、影片或快速變動的數據圖表。
    • 輕薄省電 (顯示深色時): 因為不需要額外的背光層,所以模組可以做得非常薄。
  • ❌ 缺點:
    • 顯示白色時較耗電: 點亮所有像素會比 LCD 更耗電。
    • 潛在烙印風險: 長時間顯示靜態畫面,可能會留下永久的殘影 (Burn-in)。
  • 最佳應用場景:
    • 需要酷炫 UI 介面的智慧家庭控制器。
    • 即時顯示波形或數據的儀表板。
    • 穿戴式裝置或任何重視視覺品質的專案。
  • 推薦型號: 0.96吋 I2C OLED 顯示模組 是所有創客必備的經典款。

二、LCD 顯示器:穩定可靠的國民卡車

如果說 OLED 是跑車,那 LCD (液晶顯示器) 就是最值得信賴的「貨卡」。它不一定最華麗,但絕對最實用、最耐操、CP 值最高。

  • 運作原理: LCD 本身不發光,它像一扇百葉窗。後面有一片永遠開著的「背光板」,透過控制液晶分子的扭轉,來決定要讓多少光線穿過,形成圖像。
  • ✅ 優點:
    • 成本極低: 特別是像 1602 字元型 LCD,價格非常親民。
    • 陽光下可讀性佳: 強力的背光,讓它在明亮的環境下依然清晰可見。
    • 技術成熟無烙印: 非常穩定可靠,不用擔心長時間顯示靜態畫面。
  • ❌ 缺點:
    • 對比度較低: 因為背光永遠亮著,所以黑色看起來會是深灰色。
    • 較為厚重耗電: 背光板會持續消耗固定的電力。
  • 最佳應用場景:
    • 預算有限的學生專題。
    • 戶外或光線充足的環境。
    • 只需要顯示簡單文字或數字的感測器讀值看板。
  • 推薦型號: 字元型 LCD 模組 是顯示感測器數據最簡單、最便宜的選擇。

三、電子紙 (E-Ink):不耗電的超級馬拉松選手

您可以把 電子紙 (E-Ink) 想像成一位「馬拉松選手」。它不追求速度,但它的耐力(省電能力)無人能及。

  • 運作原理: 它由數百萬個微小的「墨水膠囊」組成,每個膠囊裡有黑白兩種帶電粒子。透過電場,可以控制要讓黑色或白色的粒子浮到頂端。最神奇的是,畫面更新後,即使完全斷電,圖像依然會永久地留在螢幕上。
  • ✅ 優點:
    • 極致省電: 只有在「更新畫面」的那一刻才耗電,非常適合電池供電的長期應用。
    • 陽光下完美可讀: 就像真的紙一樣,環境光越強,看起來越清晰。
    • 不傷眼: 它反射環境光,而不是自己發光,閱讀體驗非常舒適。
  • ❌ 缺點:
    • 刷新速度極慢: 完全無法顯示動畫或影片,更新畫面時會有明顯的閃爍。
    • 色彩有限且昂貴: 大部分是黑白的,彩色版本價格高昂且效果有限。
  • 最佳應用場景:
    • 需要用一顆電池運作數個月甚至數年的低功耗感測器節點。
    • 戶外氣象站、智慧貨架標籤、電子名牌等不常更新畫面的應用。
  • 推薦型號: E-Ink 電子紙顯示模組 是打造超低功耗顯示裝置的唯一選擇。

快速比較總表:我該選哪一個?

比較項目 OLED LCD 電子紙 (E-Ink)
視覺品質 ⭐⭐⭐⭐⭐ (極佳) ⭐⭐⭐☆☆ (普通) ⭐⭐⭐☆☆ (紙質感)
陽光下可讀性 ⭐☆☆☆☆ (差) ⭐⭐⭐⭐☆ (佳) ⭐⭐⭐⭐⭐ (極佳)
反應速度 ⭐⭐⭐⭐⭐ (極快) ⭐⭐⭐☆☆ (中等) ☆☆☆☆☆ (極慢)
功耗 中等 (依畫面內容) 高 (背光恆亮) ⭐⭐⭐⭐⭐ (極低)
成本 中等 ⭐⭐⭐⭐⭐ (極低) 高
一句話總結 追求極致畫質 追求最高 CP 值 追求極致省電

總的來說:當您的專案需要酷炫的視覺效果與流暢的動畫時,請選擇 OLED;當您的預算有限,或需要在明亮的環境中使用時,LCD 是您最可靠的夥伴;而當電池續航力是您的第一考量時,電子紙 (E-Ink) 則是無可取代的唯一選擇。現在,就到我們的顯示器與觸控模組分類頁,為您的下一個專案,挑選最適合它的那張「臉」吧!

本文由 台灣物聯科技 技術團隊,根據多年產業知識與實測經驗分析彙整。

延伸閱讀:擴展您的專案視野