一、 實驗說明:讓電腦與 ESP32 進行第一步對話!
在這一篇教學中,我們將練習一個不需要任何其他複雜感測器或輔助元件,只需要一塊 ESP32 和一條 USB 線就能完成的簡單實驗!
二、 實驗材料準備清單
- 本篇實驗所需的材料非常簡單,主要包含以下硬體:
[ESP32 開發板] × 1 片
[Micro USB ] × 1 條(注意:需具備資料傳輸功能,若僅能充電將無法上傳程式與傳輸資料)
🛒 還沒有材料嗎? 歡迎直接購買米羅為您搭配好的 ESP32 物聯網應用學習套件,新手零基礎也能輕鬆上手!
三、 核心知識:什麼是序列埠通訊(Serial Communication)?
在開始寫程式之前,我們必須先認識序列埠通信的基本工作原理:
序列埠通信一般是指通用異步接收器/發送器(UART),常用於電子電路通信中。 它有兩條通信線,一條負責發送數據(TX 線),另一條負責接收數據(RX 線)。 兩台設備的序列埠通訊連接如下:
1. 鮑率(Baud Rate)是什麼?
序列埠通信在開始之前,雙方的「鮑率(Baud Rate)」必須設定完全相同,雙方的設備才能順利進行資料解讀。常用的鮑率為 9600 和 115200。如果鮑率不符,電腦接收到的資料就會變成一堆看不懂的亂碼。
2. ESP32 與電腦如何連接?
ESP32 的主板上集成了 USB 轉串口(USB to TTL)晶片,因此它能直接透過 USB 傳輸線與電腦的 USB 連接埠進行連線通訊。當你將板子接入電腦時,作業系統會將其識別為一個虛擬的 COM 連接埠(例如:COM3 或 COM5),這也就是我們上傳程式碼與接收資料的通道。
四、 實作實驗:讓 ESP32 說出 “Hello World!”
請依序按照以下步驟,在 Arduino IDE 中編寫並執行你的第一個序列埠通訊程式:
1. 輸入實驗範例程式碼
請在 Arduino IDE 編輯器中輸入(或貼上)以下程式碼:
程式:
int val;
int ledpin=2; //GPIO2
void setup()
{
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
}
void loop()
{
val=Serial.read();
if(val=='R')
{
digitalWrite(ledpin,HIGH);
delay(500);
digitalWrite(ledpin,LOW);
delay(500);
Serial.println("Hello World!");
}
}
程式說明:
第 1 列定義變量val 。
第 2 列定義數位接口GPIO2Pin 。
第 5 列設置鮑率為9600,這裡要跟軟體設置相一致。當接入特定設備(如:藍牙)時,我們也要跟其他設備的鮑率達到一致。
第 6 列設置GPIO2Pin 為輸出接口,ESP32上我們用到的I/O 接口都要進行類似這樣的定義。
第 10 列讀取PC 發送給ESP32的指令或字符,並將該指令或字符賦給val。
第 11 列判斷接收到的指令或字符是否是“R”。
第 13 列點亮GPIO2Pin LED。
第 15 列熄滅GPIO2Pin LED。
第 17 列顯示“Hello World!”字符串。
2. 燒錄程式與序列埠監控操作步驟
- 點擊 Arduino IDE 的 [上傳 (Upload)] 按鈕(向右的箭頭),將程式燒錄進 ESP32 開發板中。
- 開啟 Arduino IDE 右上角的 [序列埠監視器 (Serial Monitor)](放大鏡圖示)。
- 您的電腦將連接到它的序列埠設備識別為COMx。 我們可以使用 Arduino 軟體的 Serial Monitor序列埠監控視窗與ESP32通信,通過USB線將ESP32連接到電腦,選擇正確的設備,然後單擊Serial Monitor序列埠監控視窗圖標打開 Serial Monitor窗口。
3. ⚠️ 超重要避坑點(新手必看): 請確認序列埠監視器視窗右下角(或設定選單)的鮑率,手動切換為 9600 baud
(必須與程式中 Serial.begin(9600); 設定的一致,否則畫面上會出現看不懂的亂碼)!
序列埠監控視窗界面如下。 如果打不開,請確保ESP32已經連接到電腦,在菜單欄“工具”中選擇正確的序列埠。
4. 在輸入欄中輸入一個大寫字母 R 並發送,你將會看到:
ESP32 板子上的藍色 LED 燈被點亮。
序列埠監視器的螢幕上順利印出 “Hello World!” 訊息!
五、 結語與下一篇教學
恭喜你!不僅掌握了如何在 Arduino IDE 進行序列埠通信,也成功開啟了電腦與 ESP32 之間互動的大門!這在未來的 IoT 實作、接收 WiFi 訊號、或是讀取各類感測器數值時,都是極為重要的基礎技能。
👉 上一篇回顧:【ESP32教學】第二篇:Arduino IDE環境建置與首個LED閃爍實作教學
👉 下一篇預告:【ESP32教學】第四篇:GPIO數位輸出與LED燈程式控制實作






