Arduino基础入门学习——以按键开关控制LED灯

一、前言

不知道该说些什么,给大家来一句名言吧(狗头):

      辛勤的蜜蜂永没有时间悲哀。——布莱克

二、准备工作

硬件:

  • Arduino Uno开发板
  • 3~5V的LED灯(发光二极管)一个
  • 220Ω电阻一个
  • 直插式四脚开关按钮一个
  • 公对公杜邦线若干和面包板一个

软件:

  • Arduino IDE(没安装可看我的另一篇博客点击跳转

电路图:
风行男孩制作

三、程序代码

#define pin_led 7 //控制led的亮灭
#define pin_button 6  //用于读取按钮状态

bool flag = false;  //切换LED状态的标志位(每次按下取反)
bool button_down_flag = false;  //用于消抖,表按钮按下

void setup() {
  Serial.begin(9600);
  pinMode(pin_led, OUTPUT);  //led引脚设为输出模式
  pinMode(pin_button, INPUT_PULLUP); //把控制开关引脚设为上拉状态(高电平)
}

void loop() {
  if(digitalRead(pin_button) == LOW){
    button_down_flag = true;  //表示按钮已经按下(没弹起)
    Serial.println("按钮按下");
    delay(50);  //延迟50ms
    // 再次检测,如果pin_button为高电平,表示已经弹起
    if(digitalRead(pin_button) == HIGH && button_down_flag){
      Serial.println("按钮弹起");
      flag = !flag;  //切换状态
      digitalWrite(pin_led, flag == true ? HIGH : LOW);  //写入 
      button_down_flag = false;  //重新赋值
    }
  }
}

对于这一行代码digitalWrite(pin_led, flag == true ? HIGH : LOW);用到了三元运算符,等价于下面的代码。

  if(flag == true){
	digitalWrite(pin_led, HIGH);
  }else{
  	digitalWrite(pin_led, LOW);
  }

这么看着是不是清晰了。

四、运行结果

把准备工作做好后,为Arduino烧录上面的代码,成功后打开串口调试,并设置波特率为9600。

风行男孩
风行男孩制作

然后我们可以开始测试,多次按下按键,可以发现LED灯的状态一直在开、关、开…,灵敏度相当不错(满意),并且串口调试窗口会打印当时按钮的状态,如果对应上了,恭喜你,操作成功!

五、结束语

好啦,对于如何使用Arduino和按键开关控制LED灯的介绍就到这里了,如果有帮助到您,留个痕迹,点个赞即可哦,咱们后会有期!

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值