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

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑 9 S) @( O. B& c+ x) F

6 w+ Y+ a. T! ^8 M6 x     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。
0 H, g8 @# W$ E! a! Z/ k9 p' m/ Z 5 a3 y5 p  a4 L
下图是MICO给出的RGB_LED的原理图和简单时序:
- f2 ^* |- C2 m# l. n如下是一个简单的使用rgb_led的例子。
8 D; H. w* m8 U3 v5 K7 @

  1. - o5 K0 o2 j% b8 R
#include "MICO.h"
#include "micokit_ext.h"

6 i( V  G8 t( _# ~% Z9 }  G
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)

    8 H1 d& @" t3 y1 Y2 c
  • 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+ s5 u0 R/ L8 ]% a& T
    ! M' _9 e0 n  Q. J9 o( D

    9 C" B" R& o! tled初始化:
    & i- b3 Z5 N1 i, s: n% ]7 r
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:1 Z+ S+ ^* H( _, l
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。" C7 q5 w: `; H' V( l- S: _9 D1 \
    如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:. ~/ l  k5 e# z0 V2 C8 Y# \% B/ {& e
    - Q, {( l  f  w6 {$ F" }  Q
    这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。
    # u' B  P5 e+ M- g. ~3 A
    . u9 B5 a8 g# t. G- @4 S$ Z& S
    然后把他们生成代码了。
    4 }( _, T7 {+ R! o6 O 3 y$ e$ F5 f# S( L

    1 n, E$ I( t  O) a! {/ Q( W6 {2 N- e" j  v9 R6 i
    7 a* [/ o& l5 h
    ( {. @& K/ e2 S! ?0 U
    现在我们就可以用他们来生成各种颜色了。
    4 k8 m. J$ B, S
    ! L. x2 V. X7 Q4 p3 ?5 [! z. G' D  r5 h0 {9 `$ r  q
    最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~) h" m0 L4 A( y+ U* |# p+ @
    . @( S4 P8 w4 r: c9 d6 q) j
    " A5 x& Z2 O" w& j! x
    " Z/ H' W% e8 v* j- Q& a

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2024-12-12 21:31 , Processed in 0.430754 second(s), Total 39, Slave 28 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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