如何使用 Arduino IDE 開發 ESP32


簡介

ESP32 是一款功能強大的微控制器,內建 Wi-Fi 和藍牙,經常用於物聯網(IoT)應用開發。它不僅性能優越,而且價格低廉,因此吸引了無數開發者。而 Arduino IDE 則提供了一個簡單易用的平台,使得編寫、編譯和上傳程式到 ESP32 變得極為方便。

在這篇 Blog 中,我將帶你從零開始,使用 Arduino IDE 開發 ESP32 應用程序,並展示如何用簡單的程式控制 ESP32 上的 LED。

安裝 Arduino IDE 開發 ESP32

首先,如果你還沒有安裝 Arduino IDE,請前往 Arduino 官方網站 下載最新版本並安裝它。它是一款跨平台開發工具,支持 Windows、macOS 和 Linux 系統。

配置 IDE 編輯器以支持 ESP32

1. 打開IDE 編輯器,然後選擇「Arduino > Settings...」。 ( MacOS 為例 )
2. 在「附加開發板管理網址」欄位中,添加以下網址:

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

* 如果你已經有其他開發板管理網址,請在它們之後添加該網址,用逗號隔開。

3. 點擊「確定」以保存設定。
Arduino IDE

安裝 ESP32 開發包

1. 打開 Arduino IDE,然後選擇「工具 > 開發板 > 開發板管理器」。
2. 在開發板管理器的搜索框中輸入「ESP32」,找到「esp32 by Espressif Systems」,然後點擊安裝。

選擇 ESP32 開發板

安裝完成後,進入「工具 > 開發板」,從列表中選擇「ESP32 Dev Module」,這是常用的 ESP32 開發板型號

使用 printf() 控制 ESP32 的 LED閃爍

我們將使用內建的 LED,通常它連接到 GPIO 2 引腳。在這個範例中,我們將每秒將 LED 開啟和關閉,同時使用 printf() 來打印狀態信息到序列監視器。
* pinMode(LED_BUILTIN, OUTPUT) 將內建 LED(連接到 GPIO2)設置為輸出引腳。

* 在 setup() 函數中,我們使用 Serial.begin(115200) 初始化序列通訊,並打印一條消息以指示設置完成。

* 在 loop() 函數中,我們使用 digitalWrite() 來開啟和關閉 LED,並使用自定義的 printf() 函數打印狀態消息(「LED is ON」和「LED is OFF」)。

* 自定義的 printf() 函數使用 vsnprintf() 來格式化消息,然後通過 Serial.print() 將其發送到序列監視器。

將程式上傳到 ESP32

1. 使用 USB 數據線將 ESP32 開發板連接到電腦。

2. 在 IDE 編輯器中,前往 工具 > 端口,選擇正確的端口(例如,Windows 上通常是 COM3,Linux/macOS 上是 /dev/ttyUSB0)。

3. 點擊 上傳 按鈕,將程式上傳到 ESP32。

查看結果

上傳成功後,打開 IDE 編輯器 的 序列監視器(快捷鍵:Ctrl + Shift + M or MacOS Command + Shift + M),並將波特率設置為 115200,以匹配 Serial.begin() 中的設置。你應該能在序列監視器中看到以下輸出:

結論

我們介紹了如何設置 Arduino IDE 以支持 ESP32,並編寫程式控制內建 LED,使用 printf() 進行除錯和示範。這個簡單的項目是一個很好的起點,讓任何人都能探索 ESP32 在物聯網應用中的強大功能。隨著進一步的學習,你可以將這個項目擴展到整合 Wi-Fi、藍牙、感測器和其他外圍設備,創建更複雜的應用程序。

關鍵的收穫是,ESP32 與 Arduino IDE 的結合使微控制器項目的開發和除錯變得簡單。使用 printf() 函數可以幫助你跟蹤程式的執行流程,及時捕捉錯誤並優化代碼。

開始動手吧,享受與 ESP32 一起實驗的樂趣!