使用ESP-WROOM-02 Wifi模組作為Arduino MCU

 

將程式寫入ESP-WROOM-02

我們可以用與一般Arduino相同的步驟來寫入程式。首先,我們使用以下程式來對LED進行測試。將輸出設定為ESP-WROOM-02上的引腳13。

 

esp-wroom-02

圖6:用於ESP-WROOM-02測試的LED電路

 

 

 

 

LED閃爍了!

 

ESP-WROOM-02的類比輸入

所以,我們成功使LED亮起了。接下來查看一下其他程式。我們可以考慮使用其wifi通信功能來實現多種應用,例如,創建一個可以遠端獲取資料的裝置,以實現遠端操控,就像汽車上的無線電控制那樣。

我們先來處理來自光學感測器的輸入。在Arduino UNO上有類比輸入引腳A0-A4,但是ESP-WROOM-02沒有像A0-A4這樣的類比輸入引腳。並且沒有數位引腳1,3-4,以及 6-11。這些引腳是無法使用的,因為這些引腳通常被用於執行ESP-WROOM-02的一些標準功能,如wifi通信。

ESP-WROOM-02似乎並沒有analogRead函數,所以無法使用該功能。那麼,我們如何來進行類比輸入呢?我們也許可以使用TOUT引腳上的 “system_adc_read ()”函數來獲取類比值

 

esp-wroom-02

圖7:TOUT引腳

但是,這與一般的Arduino類比引腳略有不同。TOUT引腳可以檢測出0V至1V之間的輸入值,但是如果直接向TOUT引腳輸入3.3V的值可能會損壞電路。而當添加一個光學感測器時,電源電壓為3.3V,因此必須進行調整,以使輸入TOUT的最大電壓值為1V。我們將使用幾個電阻來創建一個分壓器電路。

 

esp-wroom-02

圖8:所添加的光學感測器

 

esp-wroom-02

圖9:電壓輸出為1V

 

ESP-WROOM-02:用於獲取光學感測器值的程式

 

 

 

程式運行時,光學感測器的值將輸出到序列監視器。

 

esp-wroom-02

圖10:序列監視器中顯示的值

analogWrite函數

在這種情況下,analogRead函數是沒有用的,那麼analogWrite又如何呢?Arduino UNO具有一個像類比引腳那樣可以輸出類比值的引腳。那麼ESP-WROOM-02呢?我們來運行以下程式。

 

ESP-WROOM-02:用於獲取光學感測器值的程式

 

 

 

如上面的視訊所示,我們可以控制LED的亮度。LED逐漸變亮又逐漸變暗。由此可見,我們確實可以使用analogWrite函數!