先看效果(我这里用的是触摸控制):
代码部分:
const int buttonPin = D2; // 开关的数字引脚针脚号
const int ledPin = D1 ; // LED的数字引脚针脚号
int buttonState = 0; // 用于存储按钮状态的变量
int SensitivityTime=100; // 开关灵敏度(越小越灵敏)
void ChangeSwitch(int buttonState); //开关函数定义
void setup()
{
pinMode(buttonPin, INPUT);// 将按钮引脚初始化为输入
pinMode(ledPin, OUTPUT); // 将LED引脚初始化为输出
Serial.begin(115200);
Serial.println("Started!");
}
void loop() {
while (1)
{
while (digitalRead(buttonPin) == LOW); //不按限制
delay(50);
while (digitalRead(buttonPin) == HIGH);//限制长按
ChangeSwitch(buttonState);
buttonState = !buttonState;//改变开关状态
Serial.println("开关状态:");//串口输出状态
Serial.println(buttonState);
delay(SensitivityTime);//灵敏度
}
}
void ChangeSwitch(int buttonState)//开关函数
{
if (buttonState == false) digitalWrite(ledPin, HIGH);
else digitalWrite(ledPin, LOW);
}
求关注@&@