在本教程中,我們將了解 ESP-12 Wi-Fi 模塊以及如何使用 Arduino IDE 對其進行編程。然后我們將編寫一個程序來使用 ESP8266-12 閃爍 LED。
什么是 ESP8266 和節點單片機?
大多數人將 ESP8266 稱為 WIFI 模塊,但它實際上是一個微控制器。ESP8266 是樂鑫開發的微控制器的名稱,樂鑫是一家總部位于上海的公司。該微控制器具有執行WIFI相關活動的能力,因此它被廣泛用作WIFI模塊。
ESP8266 模組有多種類型可供選擇,從 ESP8266-01 到 ESP8266-12。我們在教程中使用的是ESP8266-12。所有 ESP 模塊只有一種類型的 ESP 處理器,區別僅在于使用的分支吟游詩人類型。ESP8266-01 的分線板只有 2 個 GPIO 引腳,而 ESP-12 有 16 個 GPIO 引腳。
我們周圍的許多設備無法自行連接到互聯網。因此,該芯片使這些設備能夠與互聯網連接并使其成為物聯網設備。
這種低成本、小尺寸的模塊可以創造奇跡,并且非常簡單易用,只要我們遵循正確的步驟。
現在,來到什么是NodeMCU?
節點MCU是ESP8266上的固件。它是ESP-12,它基本上是一個片上系統(SoC)。它具有基于Lua的固件,用于開發基于物聯網的應用程序。
在這個廉價的SoC上工作并使我們的設備變得智能很容易。它具有模擬和數字引腳,我們可以使用它們來連接我們的傳感器,并可以通過互聯網獲取數據。
節點單片機ESP-12:
引腳配置:
引腳說明:
GPIO 引腳:如上圖所示,NodeMCU具有16個GPIO引腳,可用于控制其他外圍設備,如傳感器,LED,開關等。這些引腳也可用作PWM引腳。
ADC(模數轉換器)引腳:它有一個ADC通道,可通過引腳A0訪問。
SPI 引腳:有 4 個引腳(SCK、MISO、MOSI 等)可用于 SPI 通信,如圖中的綠色矩形所示。
I2C 引腳:它具有I2C功能支持,但由于內部使用這些引腳,您必須找到哪個引腳是I2C。
UART 引腳:它有兩個UART接口。由于 RXD0 和 TXD0 用于將代碼上傳到電路板,因此在對該模塊進行編程時無法使用它們。我們可以隨時使用 RXD1 和 TXD1。
下表給出了該模塊的完整規格:
工作電壓 | 5V |
閃存 | 4兆字節 |
處理器 | L106 32 位 |
處理器速度 | 80-160兆赫 |
公羊 | 32K + 80K |
通用信息總組織 | 16 |
模數轉換器 | 1、10 位 |
本教程旨在向您介紹 NodeMCU ESP8266-12 模組并幫助您入門。此外,我們將看到如何使用Arduino IDE對此模塊進行編程,我們還將運行幾個測試程序。
為什么 NodeMCU ESP-12 而不是 ESP-01?
ESP-01 是 ESP8266 家族首款 Wi-Fi 模塊。這個小板只有 2 個 GPIO,但這并不意味著它的性能不符合標準。它也可以獨立工作并控制1-2個設備。它以 3.3v 電壓運行。
NodeMCU 將 ESP-12 集成到一個功能豐富的小開發板中。NodeMCU 具有所有 ESP-12 引腳,還包括一個帶有板載編程器 IC、穩壓器、復位和編程按鈕以及 LED 的微型 USB 連接器。它還具有與面包板兼容的標頭。
如果您想了解 ESP8266 系列,NodeMCU 是最好的選擇。
使用 Arduino IDE 對 NodeMCU 進行編程:
讓我們為 ESP8266-12 模塊設置 Arduino IDE,并對其進行編程以閃爍 LED 燈。
第 1 步:如果您沒有Arduino IDE,請下載并從此處安裝。(確保Arduino版本為1.6.5或更高版本)
第 2 步:轉到“文件”->“首選項”以打開以下對話框。在“其他董事會經理URL”中粘貼以下鏈接,如圖所示。
第 3 步:現在,轉到工具 -> 看板 ->看板管理器。通過 esp8266 社區搜索 ESP8266,然后單擊安裝,如下圖所示
您的安裝將需要一些時間,完成后我們可以繼續下一步。
第 4 步:現在,轉到工具 -> 板 -> 節點MCU。您應該會看到下面的屏幕。
讓我們上船吧。!
使用 NodeMCU ESP-12 閃爍的 LED:
以下是將 LED 與 NodeMCU ESP-12 連接起來的電路圖:
我們不需要任何程序員來編程我們的電路板。我們只需要一根USB電纜,然后就可以了。
現在,我們使用Arduino IDE將blink程序上傳到NodeMCU。引腳 D0 具有內置 LED,因此我們可以使用LED_BUILTIN函數在 D0 上獲取輸出,或者我們可以通過指定 D1、D2 等來使用任何其他 GPIO。
void setup() {
pinMode(D0, OUTPUT);
void loop() {
digitalWrite(D0, LOW); // Turn the LED on (Note that LOW is the voltage level
// but actually the LED is on; this is because
// it is active low on the ESP-01)
delay(1000); // Wait for a second
digitalWrite(D0, HIGH); // Turn the LED off by making the voltage HIGH
delay(2000); // Wait for two seconds (to demonstrate the active low LED)
}
-
led
+關注
關注
242文章
23252瀏覽量
660580 -
Arduino
+關注
關注
188文章
6468瀏覽量
186956 -
ESP8266
+關注
關注
50文章
962瀏覽量
44964
發布評論請先 登錄
相關推薦
評論