智能呼吸灯

智能呼吸灯:多色渐变 + 按键模式切换」

在原有 红→绿→蓝→绿→红 循环呼吸的基础上,加入 按键控制,实现 多种呼吸模式切换。

✅ 任务目标

保留原有的 RGB 呼吸循环(周期约 6秒完成一个完整红-绿-蓝-绿-红)

增加一个物理按键(如板载 KEY)

每按一次按键,切换一种呼吸模式:

模式 0:原版循环(红→绿→蓝→绿→红)

模式 1:单色呼吸(只红灯呼吸)

模式 2:心跳模式(快速亮 → 慢速灭,模拟心跳)

模式 3:关闭(LED 全灭)

使用非阻塞方式实现(主循环 + 定时器/计数器,不使用 delay())

注:上期bug:原要求输出:LED 平滑循环,周期约 2 秒红->绿->蓝->绿->红循环

实现效果:红-绿-蓝-绿-红-红-绿-蓝-绿-红.

在本文章中已更改。

TIM3配置

在左侧TimersTIM3,Clock Source: Internal Clock

启用:

Channel1: PWM Generation CH1

Channel2: PWM Generation CH2

Channel3: PWM Generation CH3

Parameter Settings:

Prescaler: 71

Counter Period: 999

Pulse: 0

Auto-reload preload: Enable

模式0:多色循环呼吸颜色顺序:红 → 绿 → 蓝 → 绿 → 红

模式1:单色呼吸,只有红色LED呼吸。呼吸周期:约2秒

模式2:心跳模式快速亮起缓慢熄灭

相关推荐
Be for thing34 分钟前
【嵌入式成长10】STC89C51蜂鸣器|有源/无源蜂鸣器区分、三极管驱动、定时器播放音乐实战
单片机·嵌入式硬件·学习
郎哥编程课堂1 小时前
单片机零基础训练营第2天:嵌入式开发常用的三种进制
单片机·嵌入式硬件
LCG元1 小时前
STM32 DAC+DMA+定时器触发生成任意波形:数据对齐陷阱、输出缓冲器选型与频率精度实测
stm32·单片机·嵌入式硬件
etc95272 小时前
IAR下如何同时指定section的LMA和VMA
arm开发·嵌入式硬件·mcu
LuminousCPP2 小时前
嵌入式-51单片机入门(三)-数码管驱动:从单管点亮、多位扫描到动态刷新与消隐原理
笔记·单片机·嵌入式硬件·51单片机
小柯博客2 小时前
01 · 点亮 STM32MP25 的硬件视频编解码:VPU 与那些“安静“的坑
c语言·笔记·stm32·单片机·嵌入式硬件·嵌入式·视频编解码
自小吃多3 小时前
Capture软件原理图PDF输出笔记
笔记·嵌入式硬件
电化学仪器白超3 小时前
梅特勒-托利多自动滴定管产品线全览
网络·python·单片机
SUNNYSPY0013 小时前
30N06NF-ASEMI高耐压功率器件选型30N06NF
单片机
花月mmc3 小时前
Arduino UNO R4 ——电压电流数据显示
嵌入式硬件·mcu·物联网