STEM学习平台团队 bio photo

Email

Zhihu

Bilibili

第二课 家居小灯(下)

——用按钮控制LED的亮与灭


课程目标

  1. 掌握按钮输入原理:理解按钮作为输入设备如何与Arduino交互。
  2. 完善电路设计:在LED闪烁基础上,加入按钮控制功能。
  3. 编程进阶:通过Linkboy实现“按一下亮,再按一下灭”的逻辑。
  4. 拓展应用:思考按钮控制在不同场景中的实际应用。

硬件清单与功能说明

| 名称 | 数量 | 作用与注意事项 | | —————- | —- | ———————————————————— | | Arduino UNO主板 | 1 | 主控核心,处理按钮输入并控制LED输出。 | | LED小灯 | 1 | 长脚为正极(+),短脚为负极(-),需串联电阻保护。 | | 电阻 | 1 | 限流保护,阻值建议220Ω-1kΩ。 | | 按钮开关 | 1 | 四脚机械开关,按下时内部触点闭合,松开时断开。 | | 面包板 | 1 | 提供无焊接电路连接,横向孔位内部连通。 | | 杜邦线(公对公) | 若干 | 用于连接主板、按钮和LED。(推荐使用红色代表正极,黑色代表负极便于区分) | | USB数据线 | 1 | 上传程序并为Arduino供电。 |


第一部分:从自动闪烁到按钮控制

1.复习上节课内容

  • LED自动闪烁:通过程序控制LED周期性亮灭。
  • 硬件连接:LED正极接数字针脚(如7号),负极通过电阻接GND。

2.本节课升级目标

  • 交互式控制:通过按钮实现“按一下亮,再按一下灭”。
  • 核心原理
    • 按钮作为输入:Arduino检测按钮状态(按下/松开),并改变LED状态。
    • 信号传递:按钮按下时,电路导通,向Arduino发送高电平信号;松开时电路断开,信号变为低电平。

3.目标系统分析:

  • 传感器:小按钮
  • 控制器:Arduino UNO 主板
  • 执行器:LED灯

第二部分:硬件连接与原理详解

###

1. 按钮的结构与接线

  • 四脚按钮
    • 两对引脚(内部对称):按下时,同一侧的左右引脚导通。(如下图)
    • 正确接法
        - 一侧两个引脚分别接GNDArduino数字针脚(如8号)

image-20250215105623258

image-20250215105653032

image-20250215105815049

小按钮电路连接正误示例

2. 完整电路设计

  1. LED部分:与上节课相同,正极接数字针脚7,负极通过电阻接GND。
  2. 按钮部分
    • 按钮一脚接GND,另一脚接*数字针脚8(信号输入)。

电路示意图

Arduino UNO  
│  
├─ 7号针脚 → LED正极 → 电阻 → GND  
└─ 8号针脚 → 按钮 → GND  

第三部分:Linkboy编程——按钮控制逻辑

1. 虚拟电路搭建

  1. 打开Linkboy,拖入以下模块:
    • Arduino UNO主板(主控板 → Arduino Nano/Uno)。
    • LED灯(LED和数码点阵 → 红色LED)。
    • 按钮(传感输入 →按键输入 →小按钮)。
    • 电阻(辅助元件 → 分流电阻)。
  2. 连线步骤
    • 主板7号针脚 → LED正极。
    • LED负极 → 电阻 → 主板GND
    • 主板8号针脚 → 按钮一端。
    • 按钮另一端 → 主板GND

2. 编写按钮控制程序

  1. 主程序逻辑

    当按钮被按下时:  
      红灯|反转  
      根据红灯反转指令,当红灯点亮时熄灭,当红灯熄灭时点亮,控制LED亮或灭  
    
  2. 具体操作

    • 点击小按钮,选择“按下时”
    • 添加控制模块:在小按钮 按下时,中添加红灯 反转指令。
  3. 仿真测试:点击“仿真”,测试按钮按下时LED状态是否切换。


第四部分:实战操作——连接真实电路

1. 硬件连接步骤

  1. LED部分
    • 正极接数字针脚7,负极通过电阻接GND(同第一课)。
  2. 按钮部分
    • 按钮一脚接数字针脚8,另一脚接GND。

检查要点

  • 按钮引脚未短路。
  • 这一步骤一定要认真完成,如果连接错误,主板在通电后很可能会烧坏,一定要注意安全!

2. 上传程序

  1. 用USB线连接Arduino与电脑。
  2. 在Linkboy中选择正确串口号,点击“上传”。
  3. 测试效果:按下按钮,LED亮;再次按下,LED灭。

第五部分:常见问题与解决方法

| 问题 | 可能原因 | 解决方案 | | ————- | —————— | —————————— | | 按钮无反应 | 针脚接错或接触不良 | 检查按钮是否接至8号针脚和GND。 | | LED状态不稳定 | 程序未防抖动 | 在代码中加入延时消抖逻辑。 |


第六部分:知识延伸与创意挑战

1. 按钮的更多应用场景

  • 智能门铃:按下按钮触发声音或灯光提示。
  • 游戏控制器:通过多按钮组合控制复杂动作。

2. 动手挑战

  • 任务1:修改程序,实现“按下按钮LED亮,松开熄灭”。
  • 任务2:添加第二个按钮,控制LED切换颜色(需使用RGB LED)。
  • 任务3:添加任意数字按钮,控制多个LED有序切换颜色,如从左至右依次点亮,从右至左依次熄灭。(需使用RGB LED)。

课后作业

  1. 实践任务:完成按钮控制电路,录制演示视频并说明原理。
  2. 思考题:如何用按钮实现“三击切换LED闪烁模式”?

下节预告:结合红外接收器和红外遥控器,制实现“无线”控制!


作者寄语:电子世界的奇妙之处在于,每一个按钮的按下,都可能开启一扇新的大门。保持探索,让创意在实践中生根发芽! 🎮🔧