arduino开发ESP8266学习笔记二----按键控制LED灯

时间:2024-02-23 22:57:18

本节为通过按键控制LED灯的亮灭,LED依然设置为输出模式,二按键则就需要设置为输入模式,为了增加抗干扰增强,将按键所对应的IO口设置为上拉输入模式

 

代码部分:

int LED=16;//LED对应着GPIO16
int KEY=5;//KEY对应值GPIO5
char flag=1;
bool temp=0;
void setup()
{
Serial.begin (9600);
pinMode(KEY,INPUT_PULLUP);//将GPIO16设置为上拉输入模式
pinMode(LED,OUTPUT);
digitalWrite(LED,HIGH);//默认将LED拉高,也就是熄灭lED
}
void KEY_PROS()
{
if(digitalRead(KEY)==0&&flag==1)
{
delay(5);flag=0;//延时5ms,消除抖动造成的误操作影响
if(digitalRead(KEY)==0)
{
temp=!temp;//啊啊啊,这个地方有坑呀,习惯C语言里面的"~"取反了,然后不行***********
}
}
else if(digitalRead(KEY)==1)
{
flag=1;

}
switch (temp)//
{
case 1:digitalWrite(LED,LOW);break;
case 0:digitalWrite(LED,HIGH);break;
}
}
void loop()
{
KEY_PROS();
Serial.println(temp);

}