2022年6月14日 星期二

[ESP32] ESP32-C3 開發板使用教學

 如下圖,是合宙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


沒有留言:

張貼留言