ESP8266的输入和输出

ESP8266的输入和输出

这篇文章主要讲述了如何使用ESP8266读取数字输入和数字输出,这里使用的是ESP-12F的Node MCU模块。

image-20210205213840618

图片来源于必应搜素

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)。

image-20210205214512687

代码



// 设置数字引脚
//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);
  }
}
原文地址:https://www.cnblogs.com/cuianbing/p/14409047.html