NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂)
文章目录
- NodeMCU ESP8266 读取按键外部输入信号教程(图文并茂)
- 前言
- 按键输入
- 常用接口
- pinMode
- digitalRead
- 示例代码
- 结论
前言
ESP8266如何检测外部信号的输入,通常可以检测到TTL
电平的高电平和低电平。
TTL(Transistor-Transistor Logic
)电平是一种常用的数字电平标准,通常用于数字电路和逻辑电路中。TTL电平具有以下特征和定义:
- 输出状态
- L:低于
0.8V
; - H:高于
2.4V
;
- L:低于
- 输入状态:
- L:低于
1.2V
; - H:高于
2.0V
;
- L:低于
下面我们需要通过构造外围的硬件电路来做外部信号输入的测试。
按键输入
通常我们可以使用外部按键作为信号输入的元器件,这里接一个上拉电阻之后连接一个按键,我们可以通过面包板来构建电路,具体电路图如下所示;
常用接口
pinMode
这里我们需要将D2
引脚作为输入,具体接口使用如下所示;
pinMode(2, INPUT);
digitalRead
这里需要使用接口digitalRead
来获取GPIO输入的信号状态,可以读取高电平和低电平,
int buttonState = 0; // 存储按钮状态,0表示未按下,1表示按下
buttonState = digitalRead(2); // 读取按钮状态
示例代码
这段代码会将D2配置为输入引脚,D4配置为输出引脚。当按下按钮时(D2引脚为高电平),LED(D4引脚)会亮起,当释放按钮时(D2引脚为低电平),LED会熄灭。
const int buttonPin = D2;
const int ledPin = D4;
void setup() {
pinMode(buttonPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
int buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
}
结论
本文简单介绍了NodeMCU ESP8266获取外部信号的方法,并给出相应的实验,通过按键控制LED灯的亮和灭。