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);
}
}