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的上拉电阻,空闲状态默认高电平

posted @ 2026-02-03 13:22  玛雅人  阅读(5)  评论(0)    收藏  举报