本文是ESP32開發板的入門指南。如果您熟悉,那么ESP32是它的后繼產品。ESP32加載了許多新功能。最關鍵的是:它結合了WiFi和藍牙無線功能以及雙核。
ESP32 DEVKIT DOIT
在本文中,我們將使用ESP32 DEVKIT DOIT開發板作為參考。但是帶有ESP-WROOM-32芯片的其他ESP32開發板也兼容。
以下是一些ESP32開發板的示例:
技術指標
關于ESP32芯片規格,您會發現:
· ESP32是雙核,這意味著它有2個處理器。
· 它具有Wi-Fi和內置的藍牙。
· 它運行32位程序。
· 時鐘頻率可以高達240MHz,并且具有512 kB RAM。
· 該特定板有30或36個引腳,每行15個。
· 它還具有多種可用的外設,例如:電容式觸摸,ADC,DAC,UART,SPI,I2C等。
· 它帶有內置霍爾效應傳感器和內置溫度傳感器。
程序設計環境
ESP32可以在不同的編程環境中進行編程。您可以使用:
· Arduino IDE
· 樂鑫IDF(IoT開發框架)
· JavaScript
· …
在我們的項目中,我們主要使用Arduino IDE對ESP32進行編程。
在Arduino IDE中準備ESP32開發板
Arduino IDE有一個附加組件,可讓您使用Arduino IDE及其編程語言對ESP32進行編程。
ESP32引腳指南
與ESP82666相比,ESP32具有更多的GPIO 和更多的功能。
使用ESP32,您可以確定哪些引腳是UART,I2C或SPI –您只需要在代碼上進行設置即可。由于ESP32芯片的多路復用功能允許將多個功能分配給同一引腳,因此這是可能的。如果未在代碼上設置它們,則將默認使用這些引腳-如下圖所示(引腳位置可能會因制造商而異)。
具有30個GPIO的版本
具有36個GPIO的版本
使用Arduino IDE將代碼上傳到ESP32
為了向您展示如何將代碼上傳到ESP32板上,我們將構建一個簡單的示例來使LED閃爍。
將以下代碼復制到您的Arduino IDE中:
/*
Blink
*/
// ledPin refers to ESP32 GPIO 23
const int ledPin = 23;
// the setup function runs once when you press reset or power the board
void setup() {
// initialize digital pin ledPin as an output.
pinMode(ledPin, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
digitalWrite(ledPin, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(ledPin, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
在此代碼中,我們將控制連接到GPIO 23的LED。
const int ledPin = 23;
因此,請按照以下原理圖將LED連接到ESP32。
重要: 在構建任何電路之前,請務必檢查特定電路板的引腳排列。
這是構建此先前電路所需的零件的列表:
將ESP32開發板插入計算機,然后按照以下說明進行操作:
1)轉到工具 >開發板,向下滾動到ESP32部分,然后選擇ESP32開發板的名稱。就我而言,它是DOIT ESP32 DEVKIT V1開發板。
2)轉到 工具 > 端口, 然后選擇可用的COM端口。
3)按上傳按鈕。
僅此而已!
注意:如果您在嘗試上傳代碼時遇到以下錯誤,則說明您的ESP32未處于刷新/上傳模式。
無法連接到ESP32:超時…連接中…
要上傳代碼,您需要執行以下步驟(確保選擇了正確的面板:
· 按住ESP32開發板中的" BOOT "按鈕
· 在 Arduino IDE中看到" Connecting…。"消息后,從" BOOT "按鈕上松開手指:
· 之后,您應該會看到" 完成上傳 "消息。
上載程序后,您可以按" 啟用 "按鈕重啟ESP32并運行新上載的程序。
示范
上載代碼后,連接到GPIO 23的LED應該每隔一秒閃爍一次。
寫在最后
我們希望您發現本入門指南很有用。LED閃爍只是一個簡單的項目,可讓您開始使用ESP32。這也是學習將代碼上傳到板上所需的過程的好方法。
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 舉報,一經查實,本站將立刻刪除。