找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 27|回复: 0

按键控制+串口调试(数字输入)

[复制链接]

15

主题

0

回帖

73

积分

管理员

积分
73
发表于 2026-6-24 09:17:06 | 显示全部楼层 |阅读模式
本课学习目标
1. 掌握数字输入读取、内部上拉免电阻接法
2. 学会机械按键消抖写法(项目必用)
3. 熟练使用串口监视器调试代码
所需器材
Uno、按键、LED220Ω电阻、杜邦线
一、核心知识点
INPUT_PULLUP内部上拉模式:无需外接电阻,一键简化按键接线;机械按键存在20ms抖动,不加消抖会误触发;Serial串口为调试核心工具。
二、简易接线(内部上拉免电阻)
【插图点位5】图4-1按键控制LED接线图
按键一端接2号引脚、一端接GNDLED9PWM引脚串联电阻接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一致,否则乱码;所有按键项目必须加消抖代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表