【MiCOKit试用体验】MICOKIT的呼吸三色LED - 问答 - 电子技术论坛 - 最好最受欢迎电子论坛!

【MiCOKit试用体验】MICOKIT的呼吸三色LED

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑
% v! e. S0 I' d6 E% U
, E' E# _9 S$ H3 ~     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。
) h6 I3 o5 @6 @4 t1 o' i& ~ , Y5 k: {7 h) |4 W6 Y- T
下图是MICO给出的RGB_LED的原理图和简单时序:
* B" O- F4 a+ Z3 `如下是一个简单的使用rgb_led的例子。& b& M$ L# v6 y

  1. 5 i3 r: c# C8 d2 Z' Z' R
#include "MICO.h"
#include "micokit_ext.h"

4 d3 v+ {. T1 T( b
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)
    ; Q1 ~* G# {' ~6 L& q9 W) A
  • int application_start( void )
    {
      ext_rgb_led_log("rgb led conrtol demo(RGB_MODE)");
      /*init RGB LED(P9813)*/
      rgb_led_init();
      while(1)
      {
        /*open red led,#FF0000*/
        rgb_led_open(255, 0, 0);
        mico_thread_sleep(1);
        /*open green led #00FF00*/
        rgb_led_open(0, 255, 0);
        mico_thread_sleep(1);
        /*open blue led,#0000FF*/
        rgb_led_open(0, 0, 255);
        mico_thread_sleep(1);
      }
    }
  • 复制代码

    ) p5 [8 o$ t3 D4 D& n: q- F1 E5 i' {% W" o8 i8 c. }8 B* M

    % x  c, l5 ^' n" Hled初始化:( A$ S( n4 T. A8 S
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:% L. m& n/ H& p+ y% F
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。! @; m, `( f4 n: k
    如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:* Y0 m5 {2 S( ^; e  W* o

    - x' Y3 |  G; g0 i8 m( D* T% a这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。% ]0 V6 n; Z4 @; q5 S' l
    ' t# l: ~  W* J0 j3 s5 L
    7 L# ~* Y0 t1 P4 D- t; g& K) V, K$ h
    然后把他们生成代码了。% j" b2 A: q8 Q
    9 G7 J1 m4 |  M6 w0 S7 X
    $ [: r2 X2 `0 U, O+ h  F9 ^6 M
    8 m8 J  e7 w9 @* r- @) S

    ' `3 E% T& Y! T  `% t/ Y. U/ C
    3 O# N) f* V. U, A现在我们就可以用他们来生成各种颜色了。" l  ~' k! o/ Z/ |

    ! C$ {( k+ V8 ]8 Y# ~+ L- y7 `# w& [) M/ S
    最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~1 A* l/ H1 \7 o% p+ ^" @

    & X) d! z& g5 Q. [0 E3 F# _; N9 K; V9 o" J4 b

    ! T  E. ?, q4 k7 e  h8 s

    0个回复

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则


    关闭

    站长推荐上一条 /6 下一条

    小黑屋|手机版|Archiver|电子发烧友 ( 湘ICP备2023018690号 )

    GMT+8, 2024-12-12 23:30 , Processed in 0.464282 second(s), Total 37, Slave 26 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

    微信扫描
    快速回复 返回顶部 返回列表