| ESP32 教學 | MicroPython | ESP32 IO 基礎知識 | 102 |

這篇這主要來講講我們 ESP32 這個模組在一開始在使用上需要注意的地方,最重要的就是ESP32 IO 的限制啦!有些腳位在我們做實驗時,最好事先避開或著事先了解,可以少走一些冤枉路,不管是你日後要使用官方的SDK、Arduino IDE或者是接下來要分享的micropython的平台,都是很有用的,所以這篇推薦大家一定要了解一下!

1. ESP32 IO 腳位

目前市面上的 ESP32 各家開發板本質差異不大,大多是針對ESP模組拉出來的GPIO腳位不同,我們這邊會使用大家最常用的 nodemcu-32s 硬體板來做介紹(也是JIMI哥最常用的),這片的特色就是 ESP32 模組的腳位幾乎全部都拉到PIN腳上,好處就是彈性很大,壞處就是 不能無腦 的選擇(不然會有悲劇),下面先來看一下 nodemcu-32s 的 PIN 位置圖。(圖片源自官網 datasheet )

因為各家廠商開發板腳位定義不同,所以建議大家腳位都以『ESP32模組』的本身的gpio定義來當作標準(也就是上圖的淡黃色標示,想了解更多,可以網路搜尋ESP32 datasheet),後續要與大家分享的micropython的函式庫,也都是用gpio xx來做定義。

2. IO 規劃重點事項

下面有一些關於IO規劃的重點與大家分享:(必讀!!

  1. GPIO6.7.8.9.10.11:這些是不可以使用的,因為這些腳位預設是給ESP32內部的記憶體使用的。
  2. GPIO0:決定開機時所需要設定的模式,有正常啟動跟uart download模式,通常這隻腳都會接到一顆按鈕來決定開始時進入哪種模式,建議不要使用。
  3. GPIO2:預設有接到1顆LED,如果要進入uart download模式的話,此腳位比必須floating或驅動到GND,建議可以跳過不要使用,或單純利用內建LED電路操作即可。
  4. GPIO1 & 3 : 是模組預設的UART通訊TX/RX,建議在腳位規劃時跳過這兩支,這兩支腳位在nodemcu板內部已經接到usb-ttl晶片,除了可以初期顯示資訊外,因為micropython底層預設也是透過uart來建立所謂的REFL(Read-Eval-Print Loop)模式,如果使用的話,可能會有顯示或鍵盤輸入異常。
  5. GPIO12 & GPIO15:與bootloader模式與flash有關,內部分別預設有pull-down 和pull-high電阻,使用上須注意,特別是GPIO12關係到FLASH的內部電壓值,建議不要使用。
  6. GPIO 34.35.36.39:這幾隻只有Input Only,所以不要設定成output模式。
  7. GPIO5:與SDIO Slave模式有關,如果有需要使用到這界面,請注意使用。

以上就是基本上需要注意的地方,為方便使用,整理成下面表格參考。

紅色方塊為不要使用,橘色為須特別注意使用細節,綠色為電源腳,灰色為GND,所以大家可以搭配這張表格與nodemcu 32s的腳位對照圖,在進行實驗腳位規劃時,可以在注意一下,應該就不會遇到一些怪異問題。

↓↓↓↓↓↓賣場連結↓↓↓↓↓↓

歡迎大家有需要的話,可以多多支持一下我們的蝦皮賣場喔! 😀 

吉米家官方店-創客機器人材料專賣 https://shopee.tw/jimirobot.tw

Follow JIMI哥 Twitter : https://twitter.com/jimirobot  <–得到最新文章通知

發佈留言

Close Menu