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

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑
6 o7 E1 J9 Z: K% v5 R8 S5 [
* t# p' r* J- [* _     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。$ Z7 o; Y  S! ?7 d7 w, Z' l1 h
( d  D4 n$ @1 m) M0 L: |
下图是MICO给出的RGB_LED的原理图和简单时序:
3 q  ^; j: T, E+ s2 X如下是一个简单的使用rgb_led的例子。# W" }0 i* Q/ z; A2 C/ q2 Y
  1. 8 R6 L$ I6 p0 O6 ^1 ~$ D0 Z
#include "MICO.h"
#include "micokit_ext.h"

* o7 J  a2 y6 U4 o: Y+ ~
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)

    6 U* F# v7 t' |8 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);
      }
    }
  • 复制代码

    ' m+ J; a" T: @" T1 N+ \% o6 r/ c0 t; w6 y0 j/ ]3 l# P

    2 X7 C  j9 I4 _' X( @0 dled初始化:
    : m+ C( L; O3 Q* x
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:
    ! L4 B  t* L7 Z7 _
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。
    4 f7 N, n9 i3 b! d  h& x3 m如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:
    & |; L7 `- m" v* u # i0 v, Z/ \- W* S  C
    这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。2 C7 ?7 ~; S8 S9 W  c
    5 D6 ~/ U; U, y

    6 r; ]3 l# D* {% Y2 j, ?9 K$ v. l然后把他们生成代码了。4 D. u9 p* y4 f/ K7 m' X: r
    : V6 s8 x8 m/ s1 O

    & \, j$ C) N; R* e
    0 ?( y% W3 b' T$ I0 T$ L0 e  c+ u3 L  \/ T) h, R7 b8 h- _

      |' d0 P$ Q9 n% x' ^; @% I/ ~! o现在我们就可以用他们来生成各种颜色了。5 V: I4 T" a$ i' M3 e: a+ [7 y6 z

    + I, K+ O7 {: [. N
    1 @0 |& L: Y" v& x最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~* t6 ?  h5 X# ]3 V" q( x# d
    ) i0 H) f; X  W( E
    & s" p% F3 N/ I* W

    & k  a5 F# ]! c3 E. K

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2025-12-4 16:21 , Processed in 0.513956 second(s), Total 35, Slave 24 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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