如下圖,是合宙LuatOS官方的ESP32C3-CORE開發板引腳圖。可以看到,在ESP32C3-CORE開發板上有1路I2C和1路SPI以及2路串口。ADC和PWM確實是少了些,但是考慮到這個價格,也並不奇怪,反倒安心了許多——畢竟一分錢有一分貨。
ESP32C3-CORE開發板 網站
不過,考慮到現在的模塊越來越數字化,這樣的布局在實際開發中也不是不能接受。像是DHT22溫濕度傳感器、TCS3472顏色傳感器、GY-30照度傳感器、PAJ7620手勢傳感器以及各種OLED屏幕,加起來也就用到了一個單總線和I2C,再配合上一些其他的驅動模塊,這塊開發板也是很能打的了。當然了,大部分開發者選擇ESP系列還是想在WiFi和藍牙上面下功夫,這些功能的一些基本形式在ESP32C3-CORE開發板上還是有的。
總而言之,若不考慮WiFi和藍牙的功能,硬件資源還是普通的STM32小藍板更勝一籌,但是在考慮到價格等綜合因素的話,這一塊板子還是很值得買的。
硬件準備
在本教程中,你會需要用到這些東西:
1、ESP32C3-CORE開發板——1
2、USB Type-C線——1
軟件準備
1、安裝串口驅動(CH343)
大家如果玩過單片機,電腦應該都有下載CH340驅動,但是ESP32C3-CORE開發板上搭載的是CH343。這也沒有關係,進入WCH官方網站的連接,直接點擊“下載”即可。
WCH官網驅動下載(點擊此處)
下載完成後運行該程序,全程傻瓜式操作,顯示安裝完成即可。
2、安裝Arduino IDE
Arduino IDE 是我們進行編程和調試的工具,如果接觸過 Arduino 的話應該都已經下載了,可以看下一步。Arduino IDE 可以在其官方網站下載,也可以用最簡單直接的辦法,在電腦自帶的Microsoft Store 一鍵下載。
該應用是免費的,點擊“獲取”下載安裝即可。
按下“win”按鍵,就能在開始菜單中找到Arduino IDE的軟件打開它,如果需要桌面快捷方式,直接從開始菜單裡拖出來即可。
3、添加ESP32C3開發板
本來筆者也用過ESP32-WROOM-32D的板子,但是那一個版本的開發板列表裡面好像沒有找到ESP32C3的板子。在添加開發板的時候我們統一用最新的這個版本。
首先打開Arduino IDE,點擊左上角的“文件>>首選項”,在“附加開發板管理器網址”一欄中填寫:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
填好了就點擊“好”確定。
然後點擊“工具>>開發板>>開發板管理器”,搜索“esp32”,這邊只有一個選項冒出來。我原本就安裝了舊版,反正大家直接安裝其最新版本即可。
過程確實是有一點久,大家可以先掛在這邊去做別的事情。
下載完成後,就可以在開發板的選項中找到我們的板子了。
燒錄測試程序
1、編譯程序
新建程序,並將如下程序復制並 CTRL+A 粘貼在Arduino IDE中,覆蓋掉原本的新建程序模板。
//***************************************************************/
//
// -------------------------------------------
// board: ESP32C3 Dev Module
// Flash Mode: "DIO"
// -------------------------------------------
//
//***************************************************************/
#define LED_D4 12
#define LED_D5 13
void setup() {
Serial.begin(115200);
pinMode(LED_D4, OUTPUT);
pinMode(LED_D5, OUTPUT);
}
void loop() {
Serial.println("Hello world!");
digitalWrite(LED_D4, LOW);
digitalWrite(LED_D5, HIGH);
delay(500);
digitalWrite(LED_D4, HIGH);
digitalWrite(LED_D5, LOW);
delay(500);
}
點擊左上角的“√”,軟件會提示你保存,進行命名並保存在你想要保存的位置即可。左下角顯示編譯完成,就沒有問題了,下一步。
2、連接 & 上傳
用USB Type-C線將ESP32C3-CORE開發板連接到電腦上。在Arduino IDE“工具>>端口”這一欄就有對應的COM口顯示了,選擇對應的COM口即可。
這個COM口會因為你插入的USB口不同而改變。你不告訴它,Arduino IDE是不知道你要用哪個口的。在我這裡是COM10,反正你看到有哪個,那就選哪個好了。
需要特別主要的是,合宙LuatOS在ESP32C3-CORE開發板的介紹網站頁尾給出了使用注意事項,其中第3條非常之重要。
使用注意事項(第3條):
IO12(GPIO12)、IO13(GPIO13)在QIO模式下為SPI信號SPIHD和SPIWP復用,為了增加可用GPIO數量,開發板選擇採用2線SPI的 DIO 模式,IO12、IO13並未連接flash,使用自己編譯的軟件時需要注意配置 flash 為 DIO模式。
這意味著,在Arduino IDE進行程序的燒錄時,必須要將Flash Mode配置為 "DIO"模式。
每次下載前,都要確認如下配置是否正確。筆者在上面給出的代碼中的注釋內容就是一個使用筆記,以防止長時間不用該開發板,忘記了開發板的配置。
准備完畢,點擊左上角的“→”圖標進行燒錄。燒錄過程中會在左下角看到燒錄進度的百分比,達到100%之後會有如下提示:
Leaving...
Hard resetting via RTS pin...
於是燒錄完成,就可以看到板子上的兩個指示燈D4和D5在間隔0.5秒地交替亮滅。
這裡需要提一嘴,雖然板子上標注的LED名稱是D4和D5,但在合宙LuatOS給出的資料中,D4對應的是IO12,D5對應的是IO13。筆者最開始在寫測試程序的時候就是沒有注意到這一點,結果調試了很久。
LED編號 對應GPIO 管腳功能 描述
D4 IO12 GPIO12配置 高電平有效
D5 IO13 GPIO13配置 高電平有效
在Arduino IDE內按下“CTRL+SHIFT+M”快捷鍵,打開串口監視器,可以在115200波特率下看到ESP32C3-CORE開發板傳來的“Hello world!”訊息。
至此,你就已經完成了ESP32C3-CORE開發板的“點燈儀式”,正式開啟了你學習和使用ESP32C3-CORE開發板的大門!祝你學習愉快!
採購資訊
露天[S&R] https://www.ruten.com.tw/item/show?22220093941846
露天[DWG] https://www.ruten.com.tw/item/show?22220093908760
蝦皮 https://shopee.tw/-RWG-%E5%85%A8%E6%96%B0-%E7%8F%BE%E8%B2%A8-ESP32C3-ESP32-C3-%E9%96%8B%E7%99%BC%E6%9D%BF-i.14363185.16869338479?sp_atk=b8da6dd4-27a4-45ed-a373-0c43165d8ec9&xptdk=b8da6dd4-27a4-45ed-a373-0c43165d8ec9