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

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

[复制链接]
jinglixixi 提问时间:2016-7-29 09:44 /
    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单片机官方开发工具一览
收藏 1 评论15 发布时间:2016-7-29 09:44

举报

15个回答
stary666 回答时间:2016-7-29 10:46:33
pythonworld 回答时间:2016-7-29 12:30:58
不错这种led多少钱?
木木鱼 回答时间:2016-7-29 13:16:52
支持,不错!
zero99 回答时间:2016-7-29 13:57:07
谢谢分享
jinglixixi 回答时间:2016-7-30 09:43:48
pythonworld 发表于 2016-7-29 12:30
不错这种led多少钱?

不贵,我是在网上买的,好像20个与快递费一样多。
CC4 回答时间:2016-8-8 23:08:32
RGB的LED,一个1毛5左右吧,淘宝上买过
康师傅果粒橙 回答时间:2016-8-9 20:18:58
select326 发表于 2016-8-8 23:08
RGB的LED,一个1毛5左右吧,淘宝上买过

引脚间距有点小
CC4 回答时间:2016-8-9 22:56:38

这个就是施工的工艺问题了,其实 ,我想用这种LED弄个阵列板,没有低成本的加工工艺啊
disheng4688 回答时间:2016-8-10 08:17:49
谢谢分享。
jinglixixi 回答时间:2016-8-10 10:01:30
select326 发表于 2016-8-9 22:56
这个就是施工的工艺问题了,其实 ,我想用这种LED弄个阵列板,没有低成本的加工工艺啊 ...

好像见过有成品板出售,你在网上扫扫。
beebird 回答时间:2016-8-27 09:37:56
楼主分享了好多好帖子哦
jinglixixi 回答时间:2016-8-28 08:27:33
beebird 发表于 2016-8-27 09:37
楼主分享了好多好帖子哦

哈,放假玩疯了!
beebird 回答时间:2016-8-28 09:51:44
没几天就开学喽
zhangguo 回答时间:2016-8-28 10:43:22
单个的就不要考虑发热问题。要是LED是数量多了,就得考虑了。
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版