我的ESP32實做書籍:https://youyouyou.pixnet.net/blog/post/121105860
博客來網址:https://www.books.com.tw/products/0010901195
數位寫入是最基礎的Arduino課程,用來指定某腳位輸出高電壓(HIGH=3.3V)或低電壓(LOW=0)。通常我們必須先告訴ESP32要使用那一個腳位,是用作輸入偵測,還是輸出以開啟某個裝置(例如LED),語法則是
- pinMode(腳位,模式);//宣告腳位模式語法腳位是腳位編號,模式則有作為輸入INPUT或輸出OUTPUT,都是大寫
- digitalWrite(腳位,電位);//數位寫入語法,腳位是腳位編號,電位則有HIGH或LOW都是大寫,也可以寫1或0
這裡要注意的是ESP32的腳位(如下圖,腳位解說可參閱本文:第一篇 ESP32 Arduino開發環境架設),除了灰色系統用之外,GPIO34-39僅能提供INPUT,另外有些腳位則是有特殊用途,因此筆者會先避開
- TXRX:GPIO1、3
- I2C:GPIO21、22
- SPI:GPIO5、18、19、23
▲ESP32編號腳位圖
一、ESP32+LED線路佈置
ESP32不像arduino把插孔預留在主板上,而是腳位向下,因此為了方便起見,多會將ESP32插入麵包板中(如下圖),方式是將ESP32的USB插孔朝下,麵包板的編號1朝下,數字多的朝上。
將ESP32腳位對準後,完整用力的壓入麵包板中,避免接觸不良。
▲ESP32插入麵包板的方式與位置
再加上ESP32-S的腳位是寫在下方,一旦插入麵包板就無法看到腳位,為了方便起見,會指定所有學生插入相同的位置,參考下圖,不過這樣就會變成實際GPIO編號與麵包板序號不同,例如你可能會說將LED長腳插入GPIO4,學生可能會以為是右側4號,也就是GPIO15,這個很常發生。因此腳位圖,是非常好用的。
我們先準備一個LED,LED的口訣是「長正短負」,也就是長腳接正極,短腳接負極(在arduino中負極可視為GND=接地),這次我們要用GPIO15作為練習,因此我們將它長腳插入GPIO15(麵包板右側4號),短腳插入右側藍色線的位置,這裡預設是要作為GND,因此最後我們再拿一根公對公杜邦線將GND(麵包板右19)引入右側藍色線的位置,這樣整個右側藍色都是GND。
如此便算是設定好本次練習的線路,接下來就可來寫程式。
▲ESP32 LED練習接線圖
二、程式撰寫
這次我們來練習LED最常見的範例叫做Blink,也就是閃耀,我們希望它亮一秒後,暗一秒,不斷的重複,
開啟Arduino IDE後,寫入以下程式,相關說明都註解在程式內。
void setup() {