|
本课学习目标 1. 掌握数字输入读取、内部上拉免电阻接法 2. 学会机械按键消抖写法(项目必用) 3. 熟练使用串口监视器调试代码 所需器材 Uno、按键、LED、220Ω电阻、杜邦线 一、核心知识点 INPUT_PULLUP内部上拉模式:无需外接电阻,一键简化按键接线;机械按键存在20ms抖动,不加消抖会误触发;Serial串口为调试核心工具。 二、简易接线(内部上拉免电阻) 【插图点位5】图4-1按键控制LED接线图 按键一端接2号引脚、一端接GND;LED接9号PWM引脚串联电阻接GND 三、消抖自锁完整代码(按一下开、再按一下关) arduino
int ledPin = 9;
int keyPin = 2;
bool ledState = LOW; //灯光状态
void setup() {
Serial.begin(9600); //开启串口,波特率9600
pinMode(ledPin,OUTPUT);
pinMode(keyPin,INPUT_PULLUP); //开启内部上拉
}
void loop() {
//按键消抖判断
if(digitalRead(keyPin)==LOW){
delay(20); //过滤抖动
if(digitalRead(keyPin)==LOW){
ledState = !ledState; //翻转灯光状态
digitalWrite(ledPin,ledState);
Serial.print("灯光状态:");
Serial.println(ledState);
while(digitalRead(keyPin)==LOW); //等待松手
}
}
} |
避坑要点 串口监视器波特率必须和代码9600一致,否则乱码;所有按键项目必须加消抖代码
|