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

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑 / P8 D+ ^4 U4 `3 x4 \% y

) J$ G5 W5 o8 K  |& L     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。  }0 h& }9 d8 s6 U( _$ T* f3 g
2 _0 M3 x0 s" d+ J
下图是MICO给出的RGB_LED的原理图和简单时序: , D; C! V5 R% z: [4 Y
如下是一个简单的使用rgb_led的例子。
7 U- O! Z8 p# O: c
  1. $ E+ g+ C4 i% }) Q
#include "MICO.h"
#include "micokit_ext.h"

( ]3 _; n% d& N5 ~3 d
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)

      V+ c$ j' t1 |" T* j
  • 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);
      }
    }
  • 复制代码
    9 w5 T) p/ V8 [: Q) r6 Z* d2 g

    ) K+ P/ U- {7 ^  S+ d2 r+ {$ ]% j
    ) _+ U# R0 D" c2 a9 ]led初始化:& g* ?; i; u2 E' Y; T# m
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:* X  ~7 ^- N) u- U+ U
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。
    ' C# J: ]3 q8 K0 r/ s# l5 ]  {! B* n如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:
    / w) T2 U3 M6 O0 s( v, G
    # \* T3 y6 g2 s0 w! W这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。7 W  r+ I! K7 t2 Q% H  l' V) v0 B2 L

    * g; b6 u" x7 Q, z
    ) ]0 c- ~7 Z" `* g1 g9 L然后把他们生成代码了。
    4 k2 g. s. M* ?# r9 e 1 ~* n: P8 e  m5 ~
    + G# P: s1 I$ t7 G4 a

    3 G" e9 O) O6 ^, t1 F/ Z. W" ~8 v0 f( A. ~) v* r* g- i% f

    . R& r$ {. s$ k& L: d现在我们就可以用他们来生成各种颜色了。3 R1 k1 U6 f# _* _9 A1 P
    ' b; I2 G: l8 y5 _' \
    # ?, R5 f) C. b
    最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~
    5 s% ~: x/ J8 y1 ^. |6 h9 q0 B) U

    ! @; X0 L8 }4 n$ O( o! N) Y( x  ^
    # H2 f- V& O" F5 ]" S1 [

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2025-12-2 03:05 , Processed in 0.651245 second(s), Total 55, Slave 38 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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