问答
直播中

GalaIO

9年用户 38经验值
擅长:MEMS/传感技术 嵌入式技术
私信 关注

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

本帖最后由 GalaIO 于 2015-9-27 13:46 编辑
. I3 f# w: h& [* K
  C, X7 u9 g+ D2 b; Z. e     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。
& D; c( {1 a" y; G) t 2015-09-27_132627.png 3 j# M3 i5 K: f6 d3 _
下图是MICO给出的RGB_LED的原理图和简单时序: 2015-09-27_132502.png % g% A' |' G0 n
如下是一个简单的使用rgb_led的例子。
7 }' A7 l1 A+ f

  1. : g$ y+ `  x0 A- _
#include "MICO.h"
#include "micokit_ext.h"
$ w& b" A# m% g2 ^  Z5 _
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)

    8 ~8 U9 y+ 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);
      }
    }
  • , ]. d! X: _7 @' d! C+ G7 \

    / J0 L  ^7 A, i- K5 [5 a8 P9 B  Y2 V; a' G3 K1 a5 w
    led初始化:/ ], {( ]" z' e5 _# n9 Z8 S
    1. /*init RGB LED(P9813)*/
    led的RGB颜色配置:" g  p% U, {7 U1 I
    1. /*open red led,#FF0000*
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。
    # s9 k/ f: l, u9 U! P" L6 c' F如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:
    7 \" ?2 n' Y6 Q- C 2015-09-27_133904.png
    / v0 ^0 U+ y2 d! `) }这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。
    0 W, Z; m1 c6 k% @( d 2015-09-27_132438.png , D. e' Y+ R' t4 X: \$ T" @; |* S
    6 E& J( Y- a, Y) s9 A" s: f
    然后把他们生成代码了。1 a- Z" P' R* H' J0 J; d
    2015-09-27_132236.png
    . w  C% }( j: Q# k# ]9 d
    * R5 a2 h" g3 H7 F! k& i0 S( A. `+ w3 Y
    ' ?, J2 P! I# s7 D# j

    : Y3 k' j) _0 R' w4 D) B现在我们就可以用他们来生成各种颜色了。
    5 X: m: C1 y: w9 q1 ?9 ], c' U IMG_20150925_225201.jpg IMG_20150925_225202.jpg IMG_20150925_225203.jpg IMG_20150925_225204.jpg . u" z9 _0 x! y) `* K
    2 g. V: u4 L! {) M- V, ?6 ?1 x( N
    最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~
    / V! A: V+ t- g* A6 d
    ( @3 W$ b* `$ ]1 s% b7 d$ @
    - Y- v4 p; O2 M+ F% }1 ]8 Z' u" [* W  A" \3 [

    更多回帖

    相关帖子

    发帖
    登录/注册
    ×
    20
    完善资料,
    赚取积分