扫描二维码,快速下载本应用说明文档(免费)
大小:1587.16KB
价格:0.00元
更新日期:2016-07-28
开发者:小R科技
3色全彩LED
-
-
- 3色全彩LED
-
STMduino
- 2016-07-28
-
【3色全彩LED】 应用介绍
STMduino-3色全彩LED
实验概述
RGB LED模块由一个贴片全彩LED制成,通过R、G、B三个引脚的PWM电压输入可以调节三种基色(红/蓝/绿)的强度从而实现全彩的混色效果。用Arduino对模块的控制可实现酷炫的灯光效果。
实验原理
三色LED采用三基色混色原理 。三基色描述:三基色是指红,绿,蓝三色,人眼对红、绿、蓝最为敏感,大多数的颜色可以通过红、绿、蓝三色按照不同的比例合成产生。同样绝大多数单色光也可以分解成红绿蓝三种色光。这是色度学的最基本原理,即三基色原理。红绿蓝三基色按照不同的比例相加合成混色称为相加混色,除了相加混色法之外还有相减混色法。可根据需要相加相减调配颜色。
实验步骤
三色传感器四个接口R,G,B,GND分别接入STMduino开发板11,2,4,GND。R,G,B分别控制的是红色,黄色和蓝色。
代码解析
mian函数里面初始化系统时钟、SysTick以及定时器3,SysTick初始化之后就可以使用延时函数Delay_ms()
Main()函数里面看下基本都是setColor(255, 255, 0);这个函数,可以看到里面有三个参数,另外注释里面看到有不用的颜色注释,并且setColor(255, 255, 0)里面的参数不一样,那么这三个参数究竟有什么作用呢?
Time.c里面主要是定时器的初始化函数,TIM3_GPIO_Config();是初始化定时器3的引脚,TIM3_Mode_Config();是配置定时器及初始化定时器通道。
找到SetColor()这个原函数可以看到函数里面定义了int red, int green, int blue三个输入参数,就是刚才我们看到的,之后就在函数体里面将这三个参数作为模拟输入量赋值给对应的R,G,B引脚,red,green,blue的值越大,对应的颜色就越深,通过改变这三个的值我们可以组合出五彩斑斓的颜色出来!
实验现象
RGB LED灯红、绿、蓝、黄、紫、浅绿顺序闪烁一秒,一直循。