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

查看: 3268|回复: 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管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版