我的ESP32實做書籍:https://youyouyou.pixnet.net/blog/post/121105860
博客來網址:https://www.books.com.tw/products/0010901195


腳位:腳位36根,扣除系統使用約10根,還有約26根可用,腳位說明如下圖

1582304623-1199237558_n
這裡特別說明,如果你用過ESP8266系列產品,你會發現8266最大的問題是他的類比只有1個,而ESP32則有18個ADC,也就是說有18個腳位是不分數位類比,直接使用analogRead或digitalRead就可以分別做類別或數位讀取,光這點優勢你就可以換掉ESP8266了。

  • 18 x Analog-to-Digital:可接類比或數位感測(粉紅色標示)
  • 3 x SPI interfaces(MOSI,MISO,SCK,SS):高速資料傳輸 SD card, TFT, RFID(藍色標示)
  • 3 x UART interfaces:藍芽、相機(不限腳位編號)
  • 2 x I2C interfaces(SDA,SCL) and I2S interfaces:LCD、氣壓、陀螺儀(GPIO 21,22)
  • 16 x PWM output channels:數位輸出也可類比輸出(不限定腳位編號,但需要宣告channel)
  • 2 x Digital-to-Analog Converters (DAC):不太需要用
  • 10 x Capacitive sensing GPIOs:提供觸控電容(棕色標示)
  • GPIO 34,35,36,39:Input only(不能作為輸出腳位)
  • GPIO 0,6,7,8,9,10,11:系統用,勿使用(淺灰色標示)
  • GPIO 18:重開機

還有一些個人遇到的問題(不清楚原因,但會搞死你)

  • 1. DHT11不可以用GPIO 5、26
  • 2. GPIO 12, 2燒錄時不可接任何裝置,請空接,燒錄完成後,再接回,否則會上傳失敗。
  • 3.WiFi啟動後,2,4,12,13,14,15,25,26,27僅能數位讀取,不可類比

也可以參考本人的ESP32 Youtube教學頻道

.IDE安裝:

3.1 IDE工具下載: 請至https://www.arduino.cc/en/Main/Software網站下載,筆者比較建議直接下載免安裝檔(如下圖:Windows ZIP for non admin install),解壓縮後直接可用,因為這樣的程式可以帶著走,不需要安裝,未來電腦更新或升級也可以直接開啟,甚至放在USB都可以使用。
下載後,直接解壓縮到C:D:底下都可以使用,整個路徑建議不要有任何中文。

image

此處選擇Just Download,另外一個選項則是捐獻Arduino基金會。
image

下載完成後,找到下載的壓縮檔,選擇解「壓縮所有檔案」,直接將壓縮檔解壓縮到C:\或D:\跟目錄下,例如筆者常放在C:\之下。
image
 
等候3~5分鐘解壓縮完畢之後,我們可以在C:\Arduino1.8.x下找到主程式Arduino.exe,這樣主程式就算安裝完畢,接下來準備安裝ESP32開發核心。

image

3.2 安裝ESP32核心程式:由於ESP32是Arduino相容並非Arduino原廠產品,因此必須在Arduino IDE中安裝ESP32核心程式,這樣才可使用Arduino IDE寫ESP32。

開啟Arduino IDE後,選擇功能表的檔案/偏好設定,開啟偏好設定視窗,在addition boards manager URL輸入以下文字後,按OK。
https://dl.espressif.com/dl/package_esp32_index.json

image

接著點選工具/開發板/開發板管理員,即會出現開發板管理員視窗,在開發板管理員視窗中,輸入關鍵字ESP32後,即可篩選出ESP32核心套件,目前(2020/02月)最新版本為1.0.4,直接點選右側的安裝按鈕,並等候5~10分鐘讓系統下載核心套件並完成安裝,最後再關閉開發板管理員視窗。
image

完成以上步驟,再次選擇工具/開發板,並往下拉即可在下方找到最新的ESP32系列主板,接下來就看您買的是哪一種ESP32主板來選擇。
image

若您購買的是NodeMCU-32s,選擇正確的版本後會出現以下畫面,除了序列埠稍後要更改之外,其餘都請保留預設值不要更動。
image

3.3 驅動程式

完成環境設定後,我們將購買的ESP32插入USB,會發現需要安裝USB驅動程式,目前ESP32大部分採用CH340或者CP2102與電腦溝通並上傳程式,傳統UNO則是CH340,目前windows或MAC系統都沒有內建驅動,因此當您接上ESP32的USB後,還需要安裝驅動。

開啟檔案總管,並在本機上按右鍵/管理,可以進入裝置管理員。由於尚未安裝驅動程式,因此會列在其他裝置,使用者應該能找到這個前方有驚嘆號「!」的USB to UART裝置,就是Arduino ESP32的USB裝置。
image

若是CH340請至這裡下載:http://www.wch.cn/download/CH341SER_ZIP.html

若是CP2102請至這裡下載:https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

由於兩者安裝方式大致相同,因此這裡以CH340為例,依照您的作業系統在網站點選下載

image

下載後,執行並直接install安裝

image

安裝完成

image

在我的電腦(本機)上按右鍵,並點選管理,開啟電腦管理視窗

image 
點選裝置管理員,若
安裝正確的話,前方的驚嘆號會消失,並會將裝置放在連接埠下,此時要記得紀錄一下最後方的COM編號喔。
image
完成驅動程式安裝,再回到Arduino IDE中,此時在工具/開發板的序列埠選擇取得正確的COM編號(本例為COM3)。
image

完成以上步驟即算完成開發環境設定,接下來我們寫第一個HelloWorld測試一下。

 

4. 程式上傳測試HelloWorld:

完成環境設定後,就可以來寫程式測試看看,由於ESP32的語法幾乎與Arduino UNO相同 ,因此這裡就先用HelloWorld先做個簡單練習。
首先在Setup()中輸入Serial.begin(115200); 此為宣告序列傳輸鮑率是115200(Baud),接著在Loop()中輸入Serial.println(“Hello World!”); 及delay(1000);,代表每1000ms(=1 second)就會在序列視窗印出Hello World!。完整程式如下圖。

image
接著我們將程式上傳到ESP32,點選左上的→符號,先會跳出一個存檔視窗,我們先按取消略過存檔,然後等候下方訊息列出現連線訊息時:
Connecting…...____......___......
長按ESP32主板上右下的IO0按鈕(有些會標示為BOOT),直到出現上傳開始再放開IO0,此按鈕為工作模式切換鈕,上傳程式時都需要按這個按鈕將ESP32的「工作模式」轉換成「下載模式」,此為保護措施,避免無意間覆蓋掉原有的程式內容,不過有些ESP32已經取消這個機制,稱為一鍵下載(或一鍵燒錄)。

image
程式更新中,會出現程式上傳的%數,提示使用者程式上傳進度。
image
上傳完畢則會出現Hard resetting via RTS pin...,意思是利用左側的RST按鈕重開機,讓ESP32重新開機來執行程式,不過一般按RST這個步驟是可以省略。
image 
完成HelloWorld程式上傳後,點選右上角的放大鏡圖示開啟序列視窗,即可看到一秒一次的「HelloWorld!」出現。這裡要注意的是序列視窗的baud率必須與Serial.begin的數字相同,才有辦法顯示,否則可能會空白,或是亂碼。

image
經由上述的說明,ESP32確實可以由Arduino IDE進行開發,而且語法、感測器都相同,非常建議立即無痛移轉到ESP32陣營,大量的WiFi及藍牙專案等著您慢慢開發,由於篇幅有限,後續的WiFi及藍牙應用,將於下一期再詳述,敬啟期待。
 
ESP32藍牙連線及智慧家電

image
ESP32 ThinkSpeak雲端圖表製作及LINE Notify串接
image  image

arrow
arrow
    文章標籤
    ESP8266 Arduino ESP32
    全站熱搜
    創作者介紹
    創作者 夜市 小霸王 的頭像
    夜市 小霸王

    夜市小霸王

    夜市 小霸王 發表在 痞客邦 留言(13) 人氣()