ARDUINO - P2:按钮控制LED
1 //全局变量定义 2 int pinBtn=2;//引脚号 3 int pinLED = LED_BUILTIN; 4 bool isBtnStateChanged = false;//记录开关的状态是否变化 5 bool ledState = LOW; //默认低电平(灭) 6 bool btnIdleState=HIGH;//开关默认(空闲)状态 7 bool btnState; 8 9 void setup() { 10 pinMode(pinLED, OUTPUT); //设置LED工作引脚模式:OUTPUT 11 pinMode(pinBtn,INPUT_PULLUP); //设置开关工作引脚模式:INPUT 12 Serial.begin(9600); //设置串口数据传输速率 13 } 14 15 void loop() { 16 while(digitalRead(pinBtn)==btnIdleState){ 17 isBtnStateChanged=true; 18 } 19 20 //按钮按下并状态改变时执行 21 if(isBtnStateChanged){ 22 ledState=!ledState; //切换LED的状态 23 isBtnStateChanged=false; //设置开关变化状态:false 24 digitalWrite(pinLED,ledState); 25 Serial.println(ledState?"LED-亮":"LED-灭"); 26 } 27 delay(20);//消除抖动 28 }
知识点或说明
1. 以上程序,解决了按钮长时间按下,LED闪烁的问题
2.开关 - 默认带10K的上拉电阻,空闲状态默认高电平

浙公网安备 33010602011771号