使用ESP32控制板(一):WEMOS LOLIN32簡介

ESP32是結合Wi-Fi和藍牙的32位元系統單晶片(S0C)與外接快閃記憶體的模組,有許多廠商生產採用ESP32模組的控制板,它們的多半大同小異,最基本的ESP控制板就是ESP32模組加上直流電壓轉換器以及USB序列通訊介面IC。這是一款稱為WEMOS LOLIN32的ESP32控制板,具備3.7V鋰電池插座:

WEMOS LOLIN32連接鋰電池

ESP32系列控制板的尺寸、接腳形式和編號沒有統一,LOLIN32接腳沿用ESP32模組本身的接腳編號,有些控制板(如:NodeMCU系列)採用廠商自己的編號(如:D0, D1, D2,…)。

WEMOS LOLIN32的接腳

這是另一款同樣有鋰電池插座的WEMOS LOLIN32 Lite,少了7個數位腳,本體長度縮短8mm、ESP32模組沒有金屬外殼屏蔽:

WEMOS LOLIN32 Lite

這兩款控制板的內建LED接腳也不同:

WEMOS LOLIN32的LED

WEMOS LOLIN32控制板的介面

相較其它同類型的控制板,這兩款ESP32控制板的價格很實惠,但也許是便宜過頭了,我買到的是「相容」控制板而非WEMOS公司出品,它們的鋰電池充電IC都有問題:當電池充飽之後,充電IC應當停止充電、充電指示燈(位於充電IC旁)也會熄滅。我買的控制板不會自動停止充電。

從WEMOS原廠提供的LOLIN32電路圖看來,鋰電池充電IC的型號是TP4054,若需要使用鋰電池,就得自行更換、焊接新的TP4054。

ESP32的系統單晶片具有豐富的I/O,如:電容式觸控輸入、3組UART序列埠、2組I2C…等,不過,許多接腳的功能重疊,像腳6~11包含SPI介面和UART 1序列埠,但它們內定被用於連接快閃記憶體,無法挪作它用,所以也沒有被引出ESP32模組。

有些ESP32模組還內建8MB PSRAM(外部SRAM),例如:ESP32-WROVER-B。PSRAM佔用腳16和17,用於暫存處理數據,適合用在諸如串流音樂和視訊的場合。

LOLIN32主要硬體參數:

  • 系統單晶片時脈:160MHz(預設)或240MHz(上限)
  • 控制板工作電壓:3.3V
  • 5V輸出:從microUSB介面取得5V
  • UART序列通訊介面:兩組,可用軟體模擬改用其他接腳。
  • I2C介面:兩組,可用軟體模擬改用其他接腳。
  • SPI介面:兩組,可用軟體模擬改用其他接腳。
  • 類比輸入:12位元解析度(類比輸入值範圍:0~4095),共12腳,其中6隻腳在啟用Wi-Fi無線功能之後,無法使用。
  • 僅數位輸入:34, 35, 36, 39僅具備數位輸入功能,其餘I/O腳都具備數位輸出和輸入功能,每個I/O腳的輸出電流上限為40mA。
  • PWM輸出:除了「僅數位輸入」的I/O腳,皆可輸出PWM訊號。
  • 電容觸控輸入:9個
  • 系統單晶片內建霍爾效應(磁場)溫度感測器,霍爾效應感測器的輸出連接到VP(Sensor_VP)和VN(Sensor_VN)腳,也連接到晶片內部的ADC(類比數位轉換器)。
  • 無線通訊介面
  • Wi-Fi:802.11 b/g/n
  • 藍牙:雙模藍牙4.2,支援Classic(傳統,與舊版相容)和BLE(藍牙低功耗)。

更多ESP32模組及其32位元系統單晶片的相關資料,可參閱晶片設計公司乐鑫信息科技的原廠簡體中文版技術參考手冊

Posts created 469

16 thoughts on “使用ESP32控制板(一):WEMOS LOLIN32簡介

  1. 不好意思,可以請問
    1.鋰電池是JST幾mm的接頭呢?
    2.接上鋰電池後,5V的腳位還能輸出5V嗎?還是只剩3.7~4.2V呢?感謝!

    1. 1. 2.5mm
      2. 這個板子沒有DC升壓元件,所以接鋰電池時的5V輸出腳位的電壓就是裡電池的電壓(約3.6V~4.2V)。

      thanks,
      jeffrey

  2. 想請問是否有ESP32晶片,然後又有LCD螢幕+鋰電池供電,又有GPIO16、GPIO17的呢…?因為我想要用來顯示PM2.5,並用藍芽傳到手機。
    我所使用的感測器是PMS5003T,需要一對RX、TX接口,目前有看到TTGO T-Display,但TTGO T-Display只有TX(PMS5003T至少要能將TX資料丟到板子的RX才能接收)
    接下來下一階的板子Heltec WiFi LoRa 32,但好像停產了ORZ

  3. 趙老師,我需要找一片ESP32開發版,要有can bus,uart,adc介面
    不知哪一塊板子可以有此介面

    1. CAN, UART, ADC這些介面,ESP32晶片都有內建,所以應該是每一款開發板都可以,但是對應的訊號轉換IC需要額外連接,例如,透過SN65HVD230這個收發器IC或模組連接CAN匯流排。

      thanks,
      jeffrey

  4. 趙老師好,想問最近剛買你的書也買了一塊wemos lolin32的板子,
    usb接上電腦時,充電指示燈閃爍,電腦沒有認到硬體,不知是不是板子本身的問題,還是我操作錯誤

  5. 想請問是否能從esp32板子上連線出來接到一個type c接頭上並有和板子上的usb頭有相同的功能(像上傳程式、供電…)呢?

    1. 這個問題可分成兩個層面:

      1. 介面外型:常見的Arduino開發板的USB介面有micro USB, Type-B和Type-C型式,它們只是外觀不同,都具備供電、序列通訊和燒錄軟體功能;換句話說,你可以直接把開發板的USB改焊成Type-C型式。

      2. 微控器是否內建USB介面:舉例來說,ESP32 S2和S3系列微控器都有內建USB介面,不需要額外連接序列通訊轉換晶片,你可以直接連接USB到微控器的指定接腳,但微控器的USB介面通常只有一個。

      新開發板通常採用Type-C款式,至於除了基本的序列通訊和燒錄軟體之外,是否提供人機介面(鍵盤、滑鼠)和其他功能,那就不一定了,這跟開發板採用的USB介面款式外型無關。

      ESP32-S3-DevKitC開發板有兩個USB Type-C介面,一個透過通訊轉換晶片連接到微控器,用於序列通訊和上傳程式檔,另一個連接到微控器內建的USB介面,可透過程式提供人機介面或儲存設備等服務。

      我手邊的ESP32-S3開發板只有一個micro USB介面,我嘗試連接內建的USB介面測試沒問題。

      ESP32-S3開發板接USB

  6. 老師,我想請問驅動板連接馬達的腳可以連接哪幾個腳位才可以連接Arduinowifi

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top