你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 3281|回复: 15

[STM32L432] 基于STM43L432的色彩环变换效果制作评测

[复制链接]

59

主题

1666

回帖

17

蝴蝶豆

论坛元老

最后登录
2020-12-9
发表于 2016-7-29 09:44:47 | 显示全部楼层 |阅读模式
    RGB_LED是一种有特色的器件,它将红绿蓝三种色彩集成在同一器件中,依赖这三基色可以组合出多种多样的色彩,那如何才能展示这种效果呢?
借助L432的多通道PWM输出功能可以轻松地实现这一功能,它只需一个RGB_LED32K的限流电阻及少量导线即可。其显示效果如下图所示,程序只需将main()函数中的while(1){} 循环改为如下的程序就行了。
由于器件中的3个发光点并不在一点,所以色彩的混合效果不均匀,因此最好在该器件前附上一层纸来辅助混光。
snap.jpg
色彩环变换效果图
  1. 色彩环变换效果程序:
  2.   while (1)
  3.   {
  4.                 for(n=0;n<3;n++)        //  以三基色组合色彩
  5.                 {
  6.                   for(i=0;i<100;i++)      //  调节色彩的亮度
  7.                   {
  8.                     if(n==0)
  9.                         {
  10.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*(100-i)/100);   // R
  11.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_2);
  12.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_2);
  13.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*i/100);        // G
  14.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_3);
  15.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_3);
  16.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*0);           // B
  17.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_1);
  18.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_1);
  19.                         }
  20.                         if(n==1)
  21.                         {
  22.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*0);           // R
  23.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_2);
  24.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_2);
  25.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*(100-i)/100);   // G
  26.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_3);
  27.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_3);
  28.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*i/100);        // B
  29.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_1);
  30.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_1);
  31.                         }
  32.                         if(n==2)
  33.                         {
  34.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*i/100);         // R
  35.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_2);
  36.                 HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_2);
  37.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*0);            // G
  38.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_3);
  39.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_3);        
  40.                         sConfig.Pulse = (uint32_t) (PERIOD_VALUE*(100-i)/100);    // B
  41.             HAL_TIM_PWM_ConfigChannel(&TimHandle, &sConfig, TIM_CHANNEL_1);
  42.                         HAL_TIM_PWM_Start(&TimHandle, TIM_CHANNEL_1);
  43.                         }
  44.             //  延时处理
  45.                         for(j=0;j<2000;j++)
  46.                         {
  47.                         for(k=0;k<2000;k++);
  48.                         }
  49.                 }
  50.           }
复制代码




相关推荐:

NUCLEO-L432KC官方技术文档

STM32 L4系列超低功耗微控制器官方介绍

STM32L4单片机参考设计

STM32单片机官方开发工具一览
<
回复

使用道具 举报

100

主题

3617

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-12-8
发表于 2016-7-29 10:46:33 | 显示全部楼层
回复 支持 反对

使用道具 举报

29

主题

290

回帖

15

蝴蝶豆

论坛元老

最后登录
2020-12-3
发表于 2016-7-29 12:30:58 | 显示全部楼层
不错这种led多少钱?
回复 支持 反对

使用道具 举报

4

主题

228

回帖

0

蝴蝶豆

高级会员

最后登录
2018-5-25
发表于 2016-7-29 13:16:52 | 显示全部楼层
支持,不错!
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2016-7-29 13:57:07 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

59

主题

1666

回帖

17

蝴蝶豆

论坛元老

最后登录
2020-12-9
 楼主| 发表于 2016-7-30 09:43:48 | 显示全部楼层
pythonworld 发表于 2016-7-29 12:30
不错这种led多少钱?

不贵,我是在网上买的,好像20个与快递费一样多。
回复 支持 反对

使用道具 举报

26

主题

992

回帖

169

蝴蝶豆

论坛元老

最后登录
2020-11-13
发表于 2016-8-8 23:08:32 | 显示全部楼层
RGB的LED,一个1毛5左右吧,淘宝上买过
回复 支持 反对

使用道具 举报

1

主题

5

回帖

0

蝴蝶豆

新手上路

最后登录
2016-8-16
发表于 2016-8-9 20:18:58 | 显示全部楼层
select326 发表于 2016-8-8 23:08
RGB的LED,一个1毛5左右吧,淘宝上买过

引脚间距有点小
回复 支持 反对

使用道具 举报

26

主题

992

回帖

169

蝴蝶豆

论坛元老

最后登录
2020-11-13
发表于 2016-8-9 22:56:38 | 显示全部楼层

这个就是施工的工艺问题了,其实 ,我想用这种LED弄个阵列板,没有低成本的加工工艺啊
回复 支持 反对

使用道具 举报

1

主题

629

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-3-7
发表于 2016-8-10 08:17:49 | 显示全部楼层
谢谢分享。
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版