ESP8266的輸入和輸出
這篇文章主要講述了如何使用ESP8266讀取數字輸入和數字輸出,這里使用的是ESP-12F的Node MCU模塊。

圖片來源於必應搜素
ESP8266 NodeMCU 控制數字輸出
首先,您需要將要控制的 GPIO 設置為OUTPUT
使用pinMode
功能如下:
pinMode(GPIO, OUTPUT);
要控制數字輸出,您只需使用digitalWrite()
函數,函數的參數位陣腳和狀態(高或低,1或0)
digitalWrite(GPIO, STATE);
ESP8266 NodeMCU 讀取數字輸入
First, set the GPIO you want to read as INPUT, using the pinMode() function as follows:
首先要使用pinMode()
函數來設置GPIO為INPUT模式
pinMode(GPIO, INPUT);
使用digitalRead()來讀取GPIO引腳的數值:
digitalRead(GPIO);
項目實例
為了向您展示如何使用數字輸入和數字輸出,我們將構建一個帶有按鈕和LED的簡單項目示例。 我們將讀取按鈕的狀態並相應地點亮LED,如下圖所示。
所需零件
以下是構建電路所需的零件清單:
- ESP8266
- 5毫米LED
- 330歐姆電阻
- 按鍵開關
- 10k歐姆電阻
- 面包板
- 導線若干
原理圖
我們需要組裝一個帶有LED和按鈕的電路。 我們將把LED連接到GPIO 5(D1),將按鈕連接到GPIO 4(D2)。
代碼
// 設置數字引腳
//Arduino IDE與ESP8266配合使用時,4對應GPIO 4,而5對應GPIO 5。
const int buttonPin = 4; // 開關的數字引腳針腳號
const int ledPin = 5; // LED的數字引腳針腳號
// 用於存儲按鈕狀態的變量
int buttonState = 0;
void setup() {
// 將按鈕引腳初始化為輸入
pinMode(buttonPin, INPUT);
// 將LED引腳初始化為輸出
pinMode(ledPin, OUTPUT);
}
void loop() {
// 讀取按鈕值的狀態
buttonState = digitalRead(buttonPin);
// 檢查按鈕是否按下。
//如果是,按鈕狀態為高
if (buttonState == HIGH) {
// 點亮LED
digitalWrite(ledPin, HIGH);
} else {
//關閉LED
digitalWrite(ledPin, LOW);
}
}