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

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑
/ Z6 L- J( g' n7 x. e
; S5 r# j6 a% B  r8 U% D     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。; r, c7 f$ w7 a' H9 d0 K
% c( e; l6 u! M! D1 \
下图是MICO给出的RGB_LED的原理图和简单时序: 8 Y- Y' I) w& a$ F
如下是一个简单的使用rgb_led的例子。% r, `; P* E  t$ Q: w) {& z' J

  1. , j: D4 M) L1 E/ {
#include "MICO.h"
#include "micokit_ext.h"

9 F8 d7 T4 ?) Q0 \2 T+ Y
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)
    . o& ~" U7 z: y0 f8 Z. n3 h
  • 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);
      }
    }
  • 复制代码

    ) ~% {+ V# L  ^9 y6 c! q( y5 m9 S% o3 b2 Y5 H
    3 p* c: N3 N2 H1 q
    led初始化:
    + M) ^$ q  R1 I' j! d* g* X& C
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:
    ; W  ?! v2 a: U. c- O
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。- ?8 a0 \! _5 h, h6 c/ d& I8 a
    如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:
    5 E, w8 e8 y4 u! u' @5 x9 M
    # R1 S9 E) w( x$ Q! s1 i这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。) ]0 j4 k2 t2 O3 [) ?' H$ {: F
    ; n$ r7 b$ a1 ~# T$ S8 x, `, `

    4 l5 h& N$ S7 C" ]0 ]& J* ?然后把他们生成代码了。
    8 n2 f) Z- U, q+ I! Z ! J  G7 j( a- l& @- E# S0 F

    : B# b3 n( O) M) S; m$ E- ]$ U2 Y& Z4 P

    ' a4 l7 m" D8 @+ `2 B7 V3 q* i; L5 B
    现在我们就可以用他们来生成各种颜色了。& h7 R8 |, L; k. R5 o2 A) O1 V6 o

    9 k3 h+ S3 Q& J: y! L
    $ E# f- b* s6 d; y4 g1 v% q" l$ t最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~$ k& N% \) w) o+ n4 j8 _4 V
    ) @) [% p& d: u6 @
    9 ?% q7 m6 D& B
    1 O5 L4 L5 b4 J; e% c

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2024-4-28 18:23 , Processed in 0.487042 second(s), Total 56, Slave 39 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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