STM32单片机声控语音识别RGB彩灯多种模式亮度可调WS2812彩灯

实践制作DIY- GC0129-语音识别RGB彩灯

一、功能说明:

基于STM32单片机设计-语音识别RGB彩灯

二、功能介绍:

STM32F103C系列最小系统板+5VUSB电源+64个灯珠的WS2812灯板+1个开关键(3档亮度调节)+1个模式切换键(白灯 红灯、绿灯、蓝灯、流水灯)

简单说就是可以通过语音或者按键调节亮度、颜色、模式。

1.可以通过开关键(3档亮度调节)调节亮度。3档亮度可调。

2.通过模式切换键切换4种模式:白灯 红灯、绿灯、蓝灯、流水灯。

3.语音命令:你好,灯管家。   开灯、关灯、 一级亮度、 二级亮度、 三级亮度、切换模式、白灯、红灯、绿灯、蓝灯、流水灯、退下。

三、详情介绍:

视频讲解:哔哩哔哩搜索UP主“爱搞单片机”在其空间搜索关键词语音识别RGB彩灯观看该视频详解讲解

功能演示操作

这是一款基于STM32单片机语音识别RGB彩灯STM32F103C系列最小系统板+5VUSB电源+64个灯珠的WS2812灯板+1个开关键(3档亮度调节)+1个模式切换键(白灯 红灯、绿灯、蓝灯、流水灯)

简单说就是可以通过语音或者按键调节亮度、颜色、模式。

1.可以通过开关键(3档亮度调节)调节亮度。3档亮度可调。

2.通过模式切换键切换4种模式:白灯 红灯、绿灯、蓝灯、流水灯。

3.语音命令:你好,灯管家。   开灯、关灯、 一级亮度、 二级亮度、 三级亮度、切换模式、白灯、红灯、绿灯、蓝灯、流水灯、退下。

具体测试方法观看视频详细介绍。。。

了解更多尽请观看视频讲解。。。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
以下是一个简单的STM32实现呼吸流水灯的例子,使用PWM输出制LED灯的亮度。 首先,需要在STM32的CubeMX中配置一个PWM输出通道和一个定时器,以制LED灯的亮度。具体的配置可以参考STM32的官方文档和相关教程。 接下来,可以使用以下代码实现呼吸流水灯的效果: ``` #include "main.h" #define LED_COUNT 8 // LED灯数量 #define BREATH_PERIOD 50 // 呼吸周期,即灯亮度变化的时间间隔,单位为毫秒 // LED灯的亮度值 uint16_t led_brightness[LED_COUNT] = {0}; // 呼吸流水灯的主函数 void breath_led(void) { HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET); // 关闭所有LED灯 // 循环呼吸流水灯的效果 while(1) { // 呼吸灯效果 for(int i = 0; i < 100; i++) { for(int j = 0; j < LED_COUNT; j++) { // 计算当前LED灯的亮度值 led_brightness[j] = i * 65535 / 100; // 设置PWM输出的占空比,制LED灯的亮度 HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, led_brightness[j]); HAL_Delay(BREATH_PERIOD / 100); } } // 流水灯效果 for(int i = 0; i < LED_COUNT; i++) { // 计算当前LED灯的亮度值 led_brightness[i] = 65535; // 设置PWM输出的占空比,制LED灯的亮度 HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, led_brightness[i]); HAL_Delay(BREATH_PERIOD); // 关闭当前LED灯 led_brightness[i] = 0; HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1); __HAL_TIM_SET_COMPARE(&htim2, TIM_CHANNEL_1, led_brightness[i]); } } } int main(void) { HAL_Init(); MX_GPIO_Init(); MX_TIM2_Init(); breath_led(); return 0; } ``` 在这段代码中,我们定义了一个led_brightness数组,用于存储每个LED灯的亮度值。在呼吸流水灯的主函数中,我们使用两个for循环实现了呼吸和流水灯的效果。在呼吸灯效果中,我们循环100次,每次将led_brightness数组中的每个元素乘以当前呼吸周期的百分比,然后设置PWM输出的占空比,制LED灯的亮度。在流水灯效果中,我们依次点亮每个LED灯,并设置PWM输出的占空比为最大值,然后在一个呼吸周期后关闭当前LED灯。 需要注意的是,在呼吸和流水灯效果中,我们使用了HAL_Delay函数来实现延时,需要根据实际的硬件情况和呼吸周期进行整。 这是一个简单的STM32实现呼吸流水灯的例子,可以根据实际需求进行修改和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值