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

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  显示全部楼层
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑 2 ]0 F1 ?* C3 L2 f. O1 R; i! x9 v
" X' j5 c& h' }$ Y% g
     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。
) l: K9 b! ^/ h* t5 M 2015-09-27_132627.png
- i9 u$ K* e. Z下图是MICO给出的RGB_LED的原理图和简单时序: 2015-09-27_132502.png
' a- z0 n7 b- F0 |( r% f% i如下是一个简单的使用rgb_led的例子。
+ S8 P% J3 ^4 g2 A1 A  r6 @
  1. 5 C& t$ ~# |+ }
#include "MICO.h"
#include "micokit_ext.h"

4 A0 D+ q4 G3 v; V7 i+ F2 g7 ~9 |0 \7 Z
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)
    . r3 m$ t* o1 _1 C7 N
  • 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);
      }
    }
  • 复制代码
    : M% q  y, `" O  r( d

    % ?4 x" S, g$ r, T  ]  o
    * M/ @. ^; e8 r" l( {; kled初始化:
    $ V& l" Q$ D2 A( }! F7 [; x+ n
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:
    ' s' A. m/ w, I4 c, ~8 [& ^
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。
    , U/ D' p8 K4 q8 e如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:; h; e6 z- Z! I# A. w2 R  M$ c
    2015-09-27_133904.png
    6 n; K+ T2 p$ M; N9 `; W+ m这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。
    " V5 p1 ^+ w9 @$ _- E4 ~/ P 2015-09-27_132438.png $ V% D: ]5 z3 t) H
    + U+ y4 K' _' K; \7 {
    然后把他们生成代码了。" Y" p' i4 D' u, b0 i5 b
    2015-09-27_132236.png * @7 z+ t; v* ~6 ]$ c

    4 P! A4 d7 J0 v9 T
    7 g6 g& f$ R% i' j5 {! X! H9 n+ d* T( D7 U9 v9 e9 _9 d! \
    * f8 Z- Z, \: p
    现在我们就可以用他们来生成各种颜色了。
    . A5 p; \4 W) {; J' @2 y IMG_20150925_225201.jpg IMG_20150925_225202.jpg IMG_20150925_225203.jpg IMG_20150925_225204.jpg
    7 c9 R$ V- L; `1 c  M
    3 ~7 ^9 g4 w  D+ R最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~
    # d1 k+ X- e- ^$ Q7 `6 t  X) s) i$ G$ a3 O$ C. I2 P
    9 Z( I0 @$ n8 M: u: i2 C
    $ x  t0 Z4 ~  H/ U* o% L' \

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2024-3-29 08:21 , Processed in 0.448651 second(s), Total 57, Slave 40 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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