還該買 Arduino Uno 嗎?新版 R4 完整解析,為何它仍是最佳入門板

Arduino UNO R4 Minima 開發板

還該買 Arduino Uno 嗎?新版 R4 完整解析,為何它仍是最佳入門板

Arduino Uno 是目前最受歡迎的開發板之一,特別適合初學者進行電子實驗與創客專案。它由義大利 Arduino 官方團隊 開發,採用 ATmega328P 晶片,具有穩定的 I/O 腳位配置和廣泛的教學資源。是學生、老師、工程師,或是對物聯網有興趣的一般使用者的最佳入門選擇。

Arduino Uno 應用範圍

Arduino Uno 能夠透過輸入/輸出腳位控制各式各樣的裝置,例如感測器、馬達、LED、蜂鳴器等。以下是一些常見應用:

  • 智慧家庭自動控制(如溫濕度監控)
  • 學生科展專題(例如交通號誌模擬器)
  • 環境監測(搭配 PM2.5、CO₂ 感測器)
  • 智慧農業(自動澆水系統)
  • 簡易機器人製作(舵機控制)

這些應用都可以從 Uno 開始,逐步學會控制邏輯、類比/數位訊號處理等基本技能。

 

Arduino Uno 規格簡介

  • 微控制器:ATmega328P
  • 數位輸入/輸出腳位:14 個(其中 6 個可做 PWM 輸出)
  • 類比輸入腳位:6 個
  • Flash 記憶體:32KB
  • 工作電壓:5V(支援 7-12V 電源輸入)
  • 程式燒錄:USB Type-B 接口
  • 開發軟體:Arduino IDE(支援 Windows、macOS、Linux)

 

Arduino Uno vs 其他 Arduino 板子:有什麼不同?

很多初學者會問:「我應該選 Uno、Nano 還是 Mega?」以下是簡單比較:

開發板 特色 建議用途
Arduino Uno 最標準,腳位清楚,社群資源最多 入門學習、教學用途
Arduino Nano 體積小、可焊接在 PCB 上 成品嵌入、空間有限的應用
Arduino Mega I/O 腳位多、記憶體大 大型專案、控制多個設備

若你是剛入門的新手或學生,首選還是 Uno,它是所有教學、套件、範例的標準版本。

 

開始使用 Arduino Uno 的準備清單

你需要以下幾樣東西,就可以動手開始專案了:

  • Arduino Uno 主板(建議選擇官方原廠或授權經銷商)
  • USB 傳輸線(Type-B)
  • 一台筆電或桌機,安裝 Arduino IDE
  • 基本電子元件包(LED、電阻、杜邦線、感測器)

如果你不知道怎麼搭配購買,可以直接參考我們整理好的 Arduino 入門套件區,所有元件一次備齊。

 

Arduino Uno 適合哪些人?

這是一塊沒有門檻的開發板,幾乎人人都能使用:

  • 國中、高中技藝課學生
  • 教學機構教師與助教
  • 創客、Maker、STEM 教學人員
  • 自學電子與機器人的興趣者

不會寫程式也沒關係,Arduino 的 C/C++ 語言 非常簡單,而且網路上有大量範例、圖解與影片教學。

 

我們推薦的原廠 Arduino Uno

購買 Arduino Uno 時請特別注意是否為 官方授權版本。非原廠的副廠板雖然便宜,但品質穩定性與驅動支援性都不如原廠,尤其是初學者,很容易卡在「燒錄不成功」的問題上。

推薦商品:
Arduino Uno R4 Minima 原廠板(官方授權)
Arduino uno r4 minima

  • 新舊版本相容性
    Arduino UNO R4保持了與 UNO R3相同的引腳排列和5V工作電壓。所以目前現有的擴展板和專案項目可以輕鬆地套用在新的板子上。
  • 新的板載外設UNO R4新增多個令人驚喜的外設,包括12位元DAC、CAN匯流排、運算放大器和SWD埠。這些新增加的外設擴展了開發者的可能性,使得更高級的專案項目成為可能。
  • 更多的記憶體和更快的時脈
  • 隨著存儲容量的增加(16倍)和時脈速度的提高(3倍),UNO R4 Minima可以執行更精確的計算並處理更複雜的專案。這使得製造商能夠構建更複雜和先進的項目。
  • 通過USB-C增加更多可連接的設備UNO R4可以在連接到其USB-C埠時類比滑鼠或鍵盤,該功能使得製造者可以輕鬆地創建快速而酷炫的介面。
  • 較大的電壓範圍和電氣穩定性UNO R4可以使用高達24V的電源,這得益於其改進的熱設計。電路設計中採用了多重保護措施,以降低不熟悉使用者的接線錯誤對板子或電腦造成的損壞風險。此外RA4M1微控制器的引腳具有過流保護功能,可以提供額外的保護,防止錯誤發生。
  • 支援電容觸摸UNO R4板上使用的RA4M1微控制器基本支援電容觸摸。
  • SWD引腳用於調試板載的SWD埠為製造商提供了一種簡單可靠的方式來連接第三方調試探針。這個特點確保了項目的可靠性,並允許高效地調試任何潛在問題。

 

Arduino UNO R4 Minima 規格參數

SKU ABX0080
微控制器 Renesas RA4M1 (Arm® Cortex®-M4)
接頭 USB-C
編程端口 14
模擬輸入引腳 6
DAC 1
PWM引腳 6
UART 4個
I2C 1個
SPI 1個
攝影鏡頭 1個
工作電壓 5V
輸入電壓 6-24 V
I/O 引腳的直流電流 8 mA
記憶體 RA4M1
256 kB Flash, 32 kB RAM
尺寸 68.85 x 53.34 mm

 

 

Arduino Uno 依然值得你第一個學習

即使市面上已經有很多更強大的開發板(如 ESP32TeensyRP2040),Arduino Uno 仍是入門最穩、學習資源最完整的選擇。它是開發邏輯、控制電路、理解硬體原理的最佳起點。

如果你只打算買一塊開發板開始學習,那就選擇 Arduino Uno 吧。

 

延伸閲讀

Arduino uno 可以做什麼?6大應用指南帶你從零開始玩轉開發板

想玩 Arduino Uno 卻不知從何開始?本文精選6個超有趣的新手專案,從智慧檯燈到溫濕度計,讓你零基礎也能做出實用作品。提供專案概念與所需材料清單,立即點燃你的創客魂!

什麼是 Arduino Uno?

Arduino Uno 是一款基於 ATmega328P 微控制器的開源開發板。它擁有 14 個數位輸入/輸出腳位(其中 6 個可作 PWM 輸出),6 個類比輸入,以及 USB 供電和通訊接口。
它被廣泛應用於學術、創客、工程設計與 IoT 原型開發,是初學者與專業人員都愛用的基礎工具。

Arduino Uno 可以做什麼?

以下是幾個熱門應用範例,不僅容易實作,也非常適合學習與展示:

自動化控制系統

用 Arduino Uno 控制繼電器模組,可製作自動開關燈、風扇、插座等裝置,實現居家自動化控制。

簡易智慧家居專案

結合紅外線接收器、感測器與控制模組,你可以打造紅外線遙控燈光、光感應燈、自動窗簾等智慧裝置。

機器人與自走車

Arduino Uno 可與馬達驅動板(L298N)搭配使用,製作避障小車、循跡機器人、語音控制小車等多種互動機器人。

環境監測系統

透過 DHT11MQ-2 等感測器,你可以製作溫濕度監測器、空氣品質偵測器,並可延伸至 IoT 應用。

 LED 燈光與互動裝置

LED蜂鳴器紅外線感測器創造互動燈箱、感應燈光、音樂裝置,適合創意設計與展覽用途。

STEM 教育與課堂專題

許多學校利用 Arduino Uno 教授程式設計與基礎電學,學生可以藉此完成專題製作或創意競賽。

為什麼選擇 Arduino Uno?

  • 入門簡單:眾多教學資源與範例專案,新手也能快速學會。
  • 擴充模組多:可連接藍牙、Wi-Fi、感測器等模組,功能彈性大。
  • 全球社群活躍:找不到解法?社群論壇一定有人遇過,資源超豐富。
  • 開放原始碼:硬體、軟體都可自由修改與擴充,支援創新應用。

Arduino Uno 是創客入門的最佳拍檔

給初學者的定心丸:真的沒寫過程式也能玩!

很多人聽到「電子開發」或「物聯網」就覺得門檻很高,擔心自己不懂程式。但這正是 Arduino Uno 最棒的地方!它被設計出來,就是為了讓沒有程式背景的人也能輕鬆上手。

別怕寫程式,你只需要「複製貼上」!

Arduino 的程式語言雖然基於 C++,但已經被簡化得像英文單字一樣直觀。更重要的是,網路社群上充滿了大量的現成範例程式碼。對初學者來說,你完全不需要從零開始寫程式,只要找到符合你需求的專案範例,將程式碼複製貼上,稍微修改幾個參數(例如腳位或時間),就能讓你的專案動起來。

透過這個過程,你不是在硬背程式,而是在模仿中學習。當你做出一個又一個專案後,自然會慢慢理解每個指令的作用,最終也能自己創造出獨特的程式邏輯。

所以,如果你對電子開發充滿熱情,但又擔心程式問題,請放心,Arduino Uno 就是你的最佳起點。現在,就一起動手來玩吧!

常見問題(FAQ)

Arduino Uno 適合完全沒經驗的新手嗎?

是的,Arduino Uno 是專為初學者設計的開發板,即使沒有程式經驗,也可以透過大量範例與教學快速上手。

Arduino Uno 有哪些應用範圍?

Arduino Uno 常用於智慧家庭、環境監控、學生專題、感測器實驗、LED 控制、自走車等各類電子創作與原型設計。

Arduino Uno R3 和 Uno R4 有什麼差別?

Uno R4 使用更快的 32 位元處理器,記憶體更大,支援 USB-C 與 CAN Bus,效能較 Uno R3 明顯提升。適合進階使用或需要較大資源的應用。

要學 Arduino Uno 需要先學 C++ 嗎?

不需要。Arduino 使用簡化過的 C 語言結構,有大量範例與教學,許多初學者都是邊學邊做逐漸熟悉的。

Arduino Uno 可以取代樹莓派嗎?

不行。Arduino Uno 是微控制器(MCU),適合控制感測器與簡單邏輯,而樹莓派是微型電腦(CPU),適合跑作業系統與影像處理等任務。

延伸閱讀

arduino-ide-download 下載頁面

Arduino IDE 2.0 下載與安裝教學 (2025 最新版)

Arduino IDE 是進行開發板程式編寫必備的軟體。隨著技術更新,Arduino 官方已推出全新的 Arduino IDE 2.0 系列。相較於舊版 (1.8.x),新版提供了更現代化的介面、更快的編譯速度以及強大的程式碼自動補全功能,強烈建議新手直接安裝此版本。

💡 為什麼要升級?
IDE 2.0 擁有類似 VS Code 的深色模式與智慧型提示,能大幅降低語法輸入錯誤的機率,對初學者非常友善。

 

第一步:下載 Arduino IDE

1. 前往官方網站

請前往 Arduino 官方軟體下載頁面:

前往 Arduino 軟體下載頁面 ➜

(若您的瀏覽器有開啟自動翻譯,頁面可能會顯示為中文)

2. 選擇作業系統

在頁面右側找到 “Arduino IDE 2.3.6” (版本號可能會隨時間更新) 的區塊,如需要比較舊的版本可點選下面的選項。請參考下圖:
arduino-ide-download 下載頁面

  • Windows 使用者: 請點選選單中的 Windows Win 10 或更高版本 (64 位元),然後點擊右側綠色的 「下載」 按鈕。
  • Mac / Linux 使用者: 請依據您的系統選擇對應選項。

3. 跳過贊助 (直接下載)

點擊下載後,頁面可能會跳出贊助請求。若您想直接下載,請尋找並點擊灰色的 「JUST DOWNLOAD」 (僅下載) 按鈕,即可開始下載安裝檔。


第二步:安裝軟體 (以 Windows 為例)

下載完成後,雙擊 .exe 安裝檔開始安裝。

1. 授權協議

閱讀授權條款後,請點擊右下角的 「我同意(A)」

arduino-ide-main-window 授權協議

2. 選擇安裝選項

系統會詢問要為誰安裝。一般建議保持預設的 「僅為我安裝 (Administrator)」,接著點擊 「下一步(N) 」

Arduino IDE 安裝選項畫面

3. 選擇安裝位置

通常保持預設的路徑即可,直接點擊 「安裝(I)」

arduino-ide-install-location 安裝路徑

4. 等待安裝

安裝程式會開始複製檔案,請耐心等待綠色進度條跑完。

Arduino IDE 安裝進度畫面

5. 完成安裝

當看到「即將完成安裝 Arduino IDE」畫面時,勾選中間的 「執行 Arduino IDE(R)」,最後點擊 「完成(F)」 即可啟動軟體。

arduino-ide-install-complete 安裝完成畫面


第三步:首次啟動的重要設定 (必看)

第一次開啟軟體時,系統會自動配置環境,這時會連續跳出幾個重要的詢問視窗,請務必按照以下步驟操作。

1. 安裝 USB 驅動程式

當您看到如下圖的畫面,且 IDE 底部黑色區域不斷有文字捲動時,代表系統正在安裝必要的驅動程式。

Arduino IDE 首次啟動畫面
操作指引:
中間跳出「Arduino USB Driver」安裝詢問時,請勾選 「永遠信任來自 “Arduino srl” 的軟體」,然後點擊 「安裝(I)」

 

2. Windows 防火牆設定 (關鍵!)

接著,Windows 防火牆會跳出警告視窗,詢問是否允許 Arduino IDEmdns-discovery.exe 存取網路。這兩個視窗請務必都點選允許!

Arduino IDE 防火牆警告⚠️ 重要提醒:
如果這裡按了「取消」,您的 IDE 未來可能無法下載程式庫或連線到開發板。請務必勾選 「私人網路」「公用網路」,然後點擊 「允許存取(A)」

mdns-discovery 防火牆警告

針對 mdns-discovery.exe (如上圖),它是用來搜尋網路上的開發板,同樣請點擊 「允許存取(A)」

🤔 沒看到防火牆視窗?或是長得不一樣?

  • 沒跳出視窗: 若您之前裝過舊版 IDE,或電腦有第三方防毒軟體(如 McAfee, Norton),系統可能已經自動允許,只要能正常運作即可。
  • 視窗長得不一樣: 若您的電腦裝有其他防毒軟體,可能會跳出該軟體的詢問視窗,原則一樣是選擇 「允許 (Allow)」「信任 (Trust)」

第四步:環境初始設定 (英文介面)

1. 關於語言設定

Arduino IDE 2.0 預設為英文介面。雖然可以切換為中文,但為了能更好地閱讀網路上的開源程式碼與國外教學(大多使用英文術語),本教學將以英文介面進行示範,建議初學者習慣英文選單。


第五步:選擇開發板 (手動設定)

軟體安裝完成後,我們需要告訴 IDE 我們使用的是哪一塊開發板。如果您手邊暫時沒有開發板,也可以先練習這個步驟。

1. 開啟選擇視窗

點擊上方工具列的下拉選單 (Select Board),選擇 「Select other board and port…」

2. 搜尋並選擇型號

在跳出的視窗中,左側搜尋欄輸入您的板子型號(例如 UnoD1)。

arduino-ide-main-window 主畫面

  • 若使用 Arduino Uno: 輸入 “Uno” 並選擇 Arduino Uno
  • 若使用 WeMos D1: 您可能需要先安裝 ESP8266 核心才搜尋得到,詳情請參考 WeMos D1 安裝教學

選擇完畢後點擊 「OK」


第六步:驗證 Blink 範例 (測試編譯)

最後,我們來開啟一個範例程式,測試軟體是否能正常編譯代碼。

  1. 點選左上角選單 File > Examples > 01.Basics > Blink
  2. 這時會開啟一個新視窗,請點擊左上角的 「✔ (Verify)」 按鈕(打勾圖示)。
  3. IDE 會開始檢查程式碼。若下方 Output 視窗出現 「Done compiling」 且沒有紅色錯誤訊息,代表您的環境已安裝成功!
小補充: 若您已連接開發板,可以點擊「➜ (Upload)」按鈕,程式就會寫入板子並讓 LED 開始閃爍。
資料來源
Raspberry Pi 5 Model B 開發板

Arduino 與 Raspberry pi 的區別 該怎麼選擇?

Arduino 開發板和 Raspberry Pi 開發板是兩種非常受歡迎的開發平台,廣泛應用於電子和嵌入式系統領域。雖然它們有許多共同之處,如開放源碼和廣泛的社群支持,但它們之間在功能、用途和硬體結構上有著顯著的區別。

1. 硬體架構

Arduino:

  • Arduino 是基於微控制器(如 ATmega328)的開發板。微控制器是一個單一的處理單元,具備處理基本運算和控制輸入輸出的能力。
  • 它的處理能力相對較弱,適用於簡單的任務,如控制LED燈、感測器數據收集、電機驅動等。
  • 記憶體較小,通常只有幾KB的 RAM 和 Flash 存儲空間。

Raspberry Pi:

  • Raspberry Pi 是一個基於 ARM 處理器的單板電腦,具有更強的處理能力。
  • 它具備完整的作業系統支援(通常是 Raspbian 系統),並且能夠運行複雜的應用程式和網頁服務。
  • 記憶體一般為 1GB 或更多,存儲空間為 microSD 卡,這使得它能夠支持較為複雜的處理和多任務處理。

2. 運行環境與操作系統

Arduino:

  • Arduino 不運行完整的作業系統。開發者通常寫 C/C++ 程式碼,並將其直接燒錄到微控制器上。
  • 適合單一任務或簡單控制系統,不會處理複雜的多任務和多線程操作。

Raspberry Pi:

  • Raspberry Pi 運行完整的 Linux 作業系統(如 Raspbian),支持多線程和多任務運行。
  • 可以像普通電腦一樣運行應用程式、瀏覽網頁、播放多媒體、連接網絡等,並且能夠進行更高級的開發。

3. 輸入輸出接口

Arduino:

  • Arduino 擁有多個數字和類比輸入/輸出接口,適合處理感測器、馬達等低級別硬體交互。
  • 它的輸出端口適合簡單的硬體控制,如點亮LED、控制小型馬達等。

Raspberry Pi:

  • Raspberry Pi 提供較多的通訊接口(如 USB、HDMI、網路端口、GPIO 等),並且可以連接更多外部設備。
  • Raspberry Pi 的 GPIO 接口也支持數位和類比輸入輸出,但需要額外的模組來支持類比信號。

4. 用途

Arduino:

  • 由於其簡單的硬體架構和開發環境,Arduino 更適合用於小型、低功耗的嵌入式應用,尤其是在機器人、感測器數據收集和控制等領域。
  • 適合初學者進行簡單的硬體編程。

Raspberry Pi:

  • 由於其強大的處理能力和作業系統支持,Raspberry Pi 更適合用於需要大量計算或處理複雜任務的應用,如物聯網、媒體中心、個人伺服器或教育用途。
  • 也適合進行較為複雜的軟體開發、網頁伺服器搭建、桌面應用開發等。

5. 學習曲線

  • Arduino:

    由於硬體架構較為簡單,Arduino 的學習曲線相對較淺,適合入門者和初學者。開發過程中可以專注於基礎的電子學和編程知識。

    Raspberry Pi:

    Raspberry Pi 提供更多功能和選項,學習曲線相對較陡。開發者需要學習如何使用 Linux 作業系統、編寫較為複雜的程式,以及如何處理硬體和軟體的交互。

    6. 能效與成本

    Arduino:

      • Arduino 消耗的電力非常低,適合長時間運行的嵌入式應用。
      • 價格相對較便宜,是一些簡單專案和 DIY 愛好者的首選。

    Raspberry Pi:

      • Raspberry Pi 雖然比 Arduino 消耗更多的電力,但仍相對節能,並且提供更多功能。
      • 相比之下,Raspberry Pi 的價格較高,但對於那些需要高性能計算和更多外部接口的應用來說,性價比仍然很高。

    總而言之,Arduino 適合於簡單的硬體控制和嵌入式應用,特別是在對低功耗、低成本的需求下;而 Raspberry Pi 則適合需要高處理能力和完整作業系統支援的應用,特別是在需要進行較為複雜的軟體開發和多任務處理的場合。選擇哪一個開發板,取決於您的專案需求和對開發環境的熟悉程度。

    延伸閱讀

NodeMCU-32S (ESP32) WiFi+藍牙雙模開發板|相容 Arduino IDE & MicroPython CH340 版本

如何安裝CH340晶片程式 【2025最新】Windows/Mac/Linux 完整教學

您的開發板(Arduino/ESP8266)找不到序列埠?別擔心,安裝CH340驅動程式通常能立即解決。本文提供Windows, Mac, Linux最新驅動的直接下載連結與清晰的安裝步驟說明。

有些作業系統第一次將CH340晶片連接到電腦的USB端口時,可能需要安裝驅動程序。

CH340已經通過下列系統測試:

  • Windows 7/10
  • Mac OSX
    • v10.10.5
    • v10.11.6
    • v10.13.0
    • v10.14.5
  • Linux
    • Raspberry Pi的Raspbian Stretch(11-13-2018發布)
    • Raspberry Pi的Raspbian Buster(2019-07-10發布)
    • Ubuntu v18.04.2,64位

若作業系統已經預裝了驅動程式,您不需要安裝任何額外的軟體。但若有遇到驅動程序,您可以從下面鏈接下載安裝驅動程式:

CH340由WCH製造。您可以在這裡找到最新版本的驅動程序。

更新驅動程序

如果安裝了較舊的CH340驅動程序,則可能需要更新它們。以下是在每個測試的作業系統上執行此操作的說明。

Windows 7/10:

下載 並執行。

Mac OSX:

下載並解壓縮文件夾。

如果您使用的是Mac OS X v10.12 +(即High Sierra,Mojave),只要將CH340插入電腦,計算機就可能會重新啟動,我們建議您先移除舊驅動程式。如果您發現此問題,則需要從USB端口拔下CH340,重啟電腦並重新安裝最新的驅動程式。

Linux:

延伸閲讀

入門感測器學習 Arduino sensor 教學套件

感測器是什麽?從原理、種類到 AIoT 應用,一篇看懂萬物如何感知世界

感測器(Sensor)是一種能即時偵測物理或化學變化並轉換成電訊號的元件,讓電子裝置得以「感知」周遭環境。就像人類的五官,感測器負責收集光線、溫度、聲音、氣體等資訊,並作為機器控制、資料記錄與自動化反應的基礎。在 AI、IoT 與邊緣運算快速成長的今天,感測器已成為萬物聯網的關鍵入口。

感測器的主要功能

  • 物理量轉換:將光、熱、壓力等轉換為可供處理的電訊號
  • 資料偵測與即時回應:提供系統即時環境感知與判斷依據
  • 作為自動化或安全控制的觸發機制:例:氣體洩漏警報、無人機自動避障

感測器的分類方式

依感知對象分類

  • 溫度感測器(如 DS18B20、NTC、熱電偶)
  • 濕度感測器(如 DHT22、SHT40)
  • 氣體與空氣品質感測器(如 MQ-2、SCD41、PM2.5 模組)
  • 光照感測器(如 BH1750、TSL2561)
  • 壓力感測器(如 BMP280、MPX5010)
  • 距離與位置感測器(如超音波 HC-SR04、ToF VL53L0X、VL53L5CX)

依技術原理分類

  • 光電感測器(反射式紅外線、遮斷式)
  • 超音波感測器(空氣中距離偵測)
  • 霍爾效應感測器(磁場偵測)
  • 電容式 / 電阻式觸控感測器
  • 熱電感測器(例如熱電偶、PT100)

依應用功能分類(含新興技術)

  • 影像感測器(如 ESP32-CAM、AI Vision 模組)
  • 聲音與語音感測器(KY-038、VAD 模組、麥克風陣列)
  • 手勢與近接感測器(如 APDS-9960、PAJ7620)
  • 毫米波雷達感測器(24GHz / 60GHz 人體偵測與動作追蹤)
  • 姿態與運動感測器(如 MPU6050、九軸 IMU、加速度/陀螺儀)
  • 生理訊號感測器(心率、血氧、肌電、EEG)

感測器的真實應用場景

  • 工廠現場:透過壓力與磁場感測器監測設備健康,配合自動控制系統防止異常
  • 農業科技:利用濕度、光照與 CO₂ 感測器進行智慧溫室監控與自動灌溉
  • 智慧學校與教室:以空氣品質、距離與人感模組建立即時環境感知儀表板
  • 醫療與日常健康照護:整合心率、血氧與語音辨識模組,打造居家健康監控系統
  • 零售與公共空間:透過語音、手勢、距離模組改善人機互動介面,提升智慧化程度
  • 機器人與無人車輛:結合 IMU、ToF、攝影模組與超音波實現避障、導航與地圖建構

感測器技術新趨勢:2025 年觀察

  • 複合式模組整合:單一模組同時具備多感測功能,如 SCD41 集合 CO₂、溫度與濕度
  • AI 邊緣運算能力上升:如 ESP32-S3 結合語音或圖像模型,可在地端進行初步辨識
  • 毫米波普及率提升:相較紅外線,毫米波具非接觸、高靈敏、抗干擾特性,應用擴展迅速
  • 介面模組化與即插即用:Grove、Qwiic 等介面簡化開發流程,加速感測器整合速度
  • 電池續航與低功耗設計:LoRa、BLE 感測節點逐漸普及,支援月級以上續航時間

延伸閱讀

作者:台灣物聯科技 編輯部

發布日期:2025年10月31日

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-stillrpicam-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 V2Camera 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) 則是無可取代的唯一選擇。現在,就到我們的顯示器與觸控模組分類頁,為您的下一個專案,挑選最適合它的那張「臉」吧!

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

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

LoRa 無線傳輸模組 SX1278/1276 LoRa 8000m擴頻技術

【ESP32 教學】打造 LoRa 超長距離無線感測器 (附完整程式碼)

您是否曾經想打造一個能覆蓋整座農場、整棟廠房,甚至穿越山谷的無線感測網絡,卻總是苦於市面上 Wi-Fi 或藍牙模組那短短數十公尺的「訊號距離」限制?

這篇文章,就是為了解決這個核心痛點而生。我們將帶您使用兩大神器——ESP32 開發板 的超低功耗模式,以及傳輸距離遠達 8 公里E32 系列 LoRa 無線模組,一步步打造一個真正能實現超長距離通訊的無線感測節點。

  • 專案目標: 打造一個由電池供電的 LoRa 無線溫濕度感測器。
  • 核心功能: 每 10 分鐘自動發送一次數據,然後進入深度睡眠以節省電力。
  • 所需時間: 約 30 分鐘。
  • 技術難度: ★★☆☆☆ (初學者友好)

一、為什麼選擇 ESP32 + E32 LoRa 模組?

  • ESP32 的「深度睡眠 (Deep Sleep)」模式:樂鑫科技 (Espressif) 開發,內建超低功耗模式,可將電池壽命延長數月甚至數年。
  • E32 LoRa 模組的「超長距離」與「簡易 UART」特性: 這款 1W (30dBm) 高功率 LoRa 模組,採用 UART 串列埠通訊,接線和程式設計遠比傳統的 SPI 介面更簡單。

二、專案實作:從零件到成果的完整步驟

步驟一:硬體準備

  1. 主控板: Arduino Nano ESP32 開發板 x 1 (或其他您偏好的 ESP32 開發板)
  2. LoRa 模組: LoRa 無線傳輸模組 (1W 30dBm) x 2 (發送端與接收端各需一片)
  3. 感測器: DHT22 溫濕度感測器模組 x 1
  4. 電源: 3.7V 鋰聚合物電池 (LiPo) x 1 (選配)
  5. 其他: 杜邦線麵包板

關於電池供電的選擇

我們推薦的 Arduino Nano ESP32 是一塊功能強大且小巧的開發板,但請注意它沒有內建鋰電池充電接口。如果您希望打造一個可重複充電的裝置,建議您可以選擇帶有電池座或充電電路的 ESP32 開發板,或是額外搭配一片 TP4056 鋰電池充電模組 來使用。

步驟二:軟體與函式庫設定

請確保您的 Arduino IDE 已經安裝了 ESP32 的開發板支援。由於我們選用的 E32 LoRa 模組是透過 UART 通訊,我們不需要安裝任何複雜的第三方 LoRa 函式庫!您唯一需要安裝的,只有感測器的函式庫:

步驟三:硬體接線

由於採用 UART 介面,接線變得非常簡單!我們將使用 ESP32 的第二組硬體序列埠 (Serial2)。

E32 LoRa 模組 ESP32 開發板 說明
VCC 5V / 3V3 電源 (請參考模組規格)
GND GND 接地
RXD GPIO 17 (TX2) 接收端 ↔️ ESP32 的發送端
TXD GPIO 16 (RX2) 發送端 ↔️ ESP32 的接收端
M0 GND 設為傳輸模式 (接地)
M1 GND 設為傳輸模式 (接地)
DHT22 DATA GPIO 13 DHT22 感測器數據線

【接線防呆提示】 UART 通訊就像兩個人說話,A 的嘴巴 (TX) 要對著 B 的耳朵 (RX),B 的嘴巴 (TX) 則要對著 A 的耳朵 (RX)。所以接線時,請務必將模組的 TXD 接到 ESP32 的 RX2,模組的 RXD 接到 ESP32 的 TX2,交叉連接!

⚠️ 【重要】請確認您的 LoRa 頻率!

這款模組提供 433MHz、868MHz、915MHz 等多種頻率版本,它們無法互相通訊!請務必確認您的「發送端」和「接收端」使用的是完全相同頻率的模組。

步驟四:上傳程式碼 (發送端)

將以下程式碼上傳到您的 ESP32 開發板。它會讀取 DHT22 數據,透過 LoRa 發送,然後讓 ESP32 進入深度睡眠 10 分鐘。


#include <HardwareSerial.h>
#include "DHT.h"

// --- E32 LoRa (UART) ---
HardwareSerial LoRaSerial(2); // 使用 ESP32 的 Serial2 (GPIO 16, 17)

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

// --- Deep Sleep 設定 ---
#define uS_TO_S_FACTOR 1000000ULL
#define TIME_TO_SLEEP  600         // 睡眠 600 秒 (10 分鐘)

void setup() {
  Serial.begin(115200);
  while (!Serial);
  Serial.println("ESP32 LoRa Long-Range Sensor Node");

  LoRaSerial.begin(9600);
  dht.begin();
  delay(1000); // 等待感測器穩定
  
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();

  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
  } else {
    String dataToSend = "Temperature: " + String(temperature, 2) + " C, Humidity: " + String(humidity, 2) + " %";
    Serial.print("Sending data: ");
    Serial.println(dataToSend);
    LoRaSerial.println(dataToSend);
  }
  
  Serial.println("Going to sleep now for 10 minutes...");
  Serial.flush(); 
  
  esp_sleep_enable_timer_wakeup(TIME_TO_SLEEP * uS_TO_S_FACTOR);
  esp_deep_sleep_start();
}

void loop() {
  // This part is not executed after deep sleep
}

步驟五:上傳程式碼 (接收端) 與最終測試

光有發送端還不夠,我們還需要一個接收端來驗證訊號是否成功發出。請將以下程式碼,上傳到您作為「接收端」的另一塊 ESP32 開發板上(接線方式與發送端相同,但可以不接 DHT22)。


#include <HardwareSerial.h>

HardwareSerial LoRaSerial(2);

void setup() {
  Serial.begin(115200);
  while (!Serial);
  Serial.println("ESP32 LoRa Receiver");
  LoRaSerial.begin(9600);
}

void loop() {
  if (LoRaSerial.available()) {
    String receivedData = LoRaSerial.readString();
    Serial.print("Received packet: '");
    Serial.print(receivedData);
    Serial.println("'");
  }
}

完成後,為您的發送端接上電池,並將接收端連接到電腦。打開 Arduino IDE 的序列埠監控視窗,您應該就能每 10 分鐘看到一次從遠方傳來的溫濕度數據了!


透過本篇教學的實作,您會發現,使用 UART 介面的高功率 LoRa 模組,其價值不僅在於強大的傳輸距離,更在於它極大地簡化了開發流程。這意味著您可以從複雜的底層通訊中解放出來,更專注於應用本身的創新,將您的物聯網創意,真正部署到任何過去訊號無法到達的角落。

本文由 台灣物聯科技 技術團隊,根據自家販售產品實測經驗分析彙整。

延伸閱讀

 什麼是嵌入式系統 (Embedded System)?一篇給新手的白話文終極指南

您是否想過,為什麼智慧手錶能偵測心率?為什麼洗衣機能自動選擇洗衣模式?為什麼汽車的倒車雷達會發出警示聲?這些智慧功能的背後,都藏著一個強大而精巧的大腦——那就是「嵌入式系統 (Embedded System)」。

這篇文章就是一篇為您準備的白話文懶人包,將帶您深入淺出地了解這個無所不在卻又充滿神秘感的科技核心。

一、什麼是嵌入式系統?一個隱藏的專家

簡單來說,嵌入式系統就是一個「為了特定任務而生,被『嵌入』到大型裝置中的微型專用電腦」。

它和我們桌上的個人電腦 (PC) 最大的不同在於:個人電腦是「通用」的,可以用來上網、打遊戲、做報告;而嵌入式系統是「專用」的,它的生命中通常只有一項或幾項特定任務,例如冷氣的嵌入式系統只負責控制溫度,汽車的嵌入式系統只負責處理引擎數據。


二、嵌入式系統的三大核心組成

一個完整的嵌入式系統,主要由三個部分組成,就像一個人的「身體、靈魂與神經」:

  • 🧠 硬體 (Hardware):身體
    核心是一顆被稱為「微控制器 (Microcontroller, MCU)」的晶片,它整合了 CPU、記憶體和各種輸出入接口。這就是系統的「大腦與四肢」。我們熟悉的 ArduinoESP32 開發板,其核心就是一顆微控制器。
  • 💻 軟體 (Software):靈魂
    這是在硬體上運行的程式,也稱為「韌體 (Firmware)」。它定義了嵌入式系統的所有行為和邏輯,告訴硬體在什麼情況下該做什麼事。
  • ⚡ 即時作業系統 (RTOS):神經系統 (選配)
    對於更複雜的系統(例如汽車或工業機器人),還會運行一個 即時作業系統 (Real-Time Operating System)。它負責管理多個任務,並確保最重要的指令能在規定的時間內(例如 0.001 秒內)被執行,就像我們的神經系統能讓我們瞬間做出反應一樣。

三、生活中有哪些嵌入式系統?

事實上,我們每天都被數十個甚至上百個嵌入式系統所包圍:

🏠 消費性電子

智慧手錶、藍牙耳機、數位相機、洗衣機、微波爐、電視遙控器。

🚗 汽車工業

引擎控制單元 (ECU)、防鎖死煞車系統 (ABS)、GPS 導航、倒車雷達。

🏭 工業控制

工廠產線上的機器手臂、CNC 工具機、自動化倉儲系統。

❤️ 醫療設備

心律調節器、血糖監測儀、自動注射泵。


四、如何開始學習嵌入式系統?

學習嵌入式系統最快的方式,就是「動手做」!您完全不需要從打造一顆 CPU 開始。透過像 Arduino 或 Raspberry Pi 這樣的開發平台,您可以直接跳到最有趣的「軟體與應用」層面。

  • 第一步:選擇一塊入門開發板
    我們強烈建議新手從 Arduino Uno 開始。它的社群最大、教學資源最豐富,能讓您在幾小時內就完成第一個專案(例如:點亮一顆 LED),建立巨大的成就感。
  • 第二步:連接感測器與致動器
    為您的開發板裝上「五官」(感測器) 和「手腳」(馬達、繼電器),讓它能與真實世界互動。
  • 第三步:撰寫程式碼
    透過簡單的 Arduino IDE,將您的邏輯寫成程式碼,上傳到開發板中,看著您的想法變成現實!

為了讓您無痛入門,我們也準備了包含所有必需品的「學習教學套件組」,是您踏出第一步的最佳選擇。


五、常見問題 (FAQ)

Q1: Arduino 或 Raspberry Pi 算是嵌入式系統嗎?

A: 是的,它們都是典型的嵌入式系統開發平台。Arduino 是一個微控制器系統,更接近傳統的嵌入式;而 Raspberry Pi 則是一個更強大的微處理器系統,能運行完整的作業系統,屬於高階的嵌入式應用。

Q2: 學習嵌入式系統需要用什麼程式語言?

A: C 和 C++ 是最傳統、最主流的語言。但現在,越來越多的平台(如 ESP32、Raspberry Pi)也支援使用 MicroPython 或 Python,大大降低了學習門檻。

Q3: 嵌入式系統的處理器架構是什麼?

A: 目前絕大多數的嵌入式系統,其核心都採用了 Arm 架構(例如 Cortex-M 系列),以其高效能與低功耗的特性著稱。


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

延伸閱讀