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

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑
3 J, |7 n) U) y- J% Z& `' J; O+ B2 l- P# e  p  |' t
     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。
( |" H* `, K  i0 i5 j' h / q1 \8 }  R# g1 V) P
下图是MICO给出的RGB_LED的原理图和简单时序:
+ @6 x' e/ n) j$ o如下是一个简单的使用rgb_led的例子。
- s3 P/ Y3 m! D4 b9 P6 z

  1. % Q+ O2 R. N  L' P; }8 E
#include "MICO.h"
#include "micokit_ext.h"

* k' b/ E$ u: ]% b0 @; p+ P9 ~
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)

    * @  D& f5 k1 g; K
  • 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);
      }
    }
  • 复制代码
    5 _7 U$ l  C& y) m' e7 U" m
    % E* w% X; R# s# E  \3 i
    . Y# Z8 @5 [. `1 ~( y! L3 V3 h
    led初始化:) A3 V) [  Y) `5 \9 R- v
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:
    4 |. X8 o" ^; |  q4 G* n" o
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。) _# @3 W5 M4 K" _' B1 U/ M+ [( C0 V
    如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:* m4 }9 K. O. _- b

    $ p9 b1 b2 C% E( D1 |这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。
    1 o; Z, D5 H" u5 R) l % j/ A- _: J5 Y# t$ O% F

    0 _; Z0 G2 e/ V: a' k! d  V然后把他们生成代码了。4 i) d3 }& a8 i. t1 c3 f

    7 U% B# z; ?$ A* V" O
    0 Q& b8 n- c& W8 x
    * S! f$ X1 [3 X  H8 G  Y, k8 A; D, i" `$ r7 g) n. D) t0 I' Y0 l

    ( ]  J3 m! y5 x" b1 J3 ]现在我们就可以用他们来生成各种颜色了。% O- t0 y. j# n" p2 f) W3 V4 m, h
    0 f' b: D+ F) Y

    - v* T' k5 Z4 X* W! V5 K最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~
    " V4 v8 T8 y% Y0 r6 |+ W' L) Q7 n5 M$ e& v
    : r7 L- v. T" D( U- ^6 D9 F/ P

    $ N4 Y; W, H1 m) P! ?2 v4 D* ]& F

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2025-12-10 02:48 , Processed in 4.201647 second(s), Total 53, Slave 36 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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