ESP8266Arduino编程实例GPIO输入和输出
ESP8266-Arduino编程实例-GPIO输入和输出
GPIO输入和输出
本实例将演示如何通过GPIO的输入和输出功能控制LED。
1、GPIO输入与输出控制
1)GPIO模式设置
通过函数pinMode可以将GPIO设置为输入或输出模式:
1 | pinMode(pin,INPUT); // 设置为输入模式 |
2)GPIO状态设置
通过函数digitalWrite函数可以控制GPIO的状态:
1 | digitalWrite(pin,HIGH);// 输出高电平 |
3)GPIO状态读取
通过函数digitalRead函数可以读取GPIO的状态。当GPIO为高电平时,返回HIGH;当GPIO为低电平是,返回LOW。
1 | int state = digitalRead(pin); |
2、硬件准备
- ESP8266 NodeMCU开发板一块
- 微动开关一个
- LED一个
- 470欧姆电阻两个
- 杜邦线若干
- 数据线一条
3、软件准备
- Arduino IDE或VSCode + PlatformIO
在前面的文章中,对如何搭建ESP8266开发环境做了详细的介绍,请参考:
ESP8266 NodeMCU的引脚介绍在前面的文章中做了详细的介绍,请参考:
4、硬件电路接线图

引脚D1(GPIO5)连接LED引脚,引脚D2(GPIO4)连接按钮引脚。
5、代码实现
1 | #include <Arduino.h> |
6、代码解析
1)分配引脚
1 | const int buttonPin = 4; // 按钮引脚 |
2)按钮状态储存
1 | int buttonState = 0; |
3)初始化引脚
在setup函数中,初始化LED和按钮引脚工作模式。INPUT为输入模式;OUTPUT为输出模式。
1 | pinMode(buttonPin, INPUT); |
4)按钮状态读取及LED控制
在loop函数中,通过digitalRead函数读取按钮状态:
1 | buttonState = digitalRead(buttonPin); |
当按钮状态为HIGH时,点亮LED:
1 | if (buttonState == HIGH) { |
否则,关闭LED:
1 | else { |
文章来源: https://iotsmart.blog.csdn.net/article/details/125990188
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 秋意寒!
评论