【MiCOKit试用体验】MICOKIT的呼吸三色LED - 问答 - 电子威廉希尔官方网站 论坛 - 最好最受欢迎电子论坛!

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑 " l$ u+ E) D- C* X

) H1 F9 u9 t, Z     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。
. e8 u$ M' ]- K. M( F
2 P9 M  }- ^0 \+ Y下图是MICO给出的RGB_LED的原理图和简单时序:
6 J* D# G# {* ~9 c" g如下是一个简单的使用rgb_led的例子。3 ]4 E4 m, z/ A/ Q

  1. & a, u: A1 o" n8 M7 r
#include "MICO.h"
#include "micokit_ext.h"

. n5 U  ^; q3 b, m4 b5 h# r3 S* q
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)
    , m" v2 a( E' F: |$ ?& f3 x+ n4 R' ?
  • 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);
      }
    }
  • 复制代码
    ' W! Y2 A! I& k! Z. n
    2 X0 M* n& ^" W1 t4 S; f
    6 h+ }9 J6 s& {+ m- w, R' r# f6 N" ]6 N
    led初始化:
    : V! `* H- T3 }/ `. H
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:
    : `3 K' q- d' ^5 c4 W1 ?  p/ w; {) B
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。/ Q6 @/ ^- i6 |! w8 k
    如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:
    1 Z0 z) a5 `# ?9 k! g 5 y& Y, M7 C0 A6 b% y, w3 N
    这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。
    0 a4 `  w* r( a7 T
    ( L/ [: U4 ?+ _0 G
    ) p0 d9 G) u2 M, R( A然后把他们生成代码了。
    7 i; M. |% [/ }# w+ R
    9 y, l- V4 T8 n( ?# \5 {" i; P4 Y4 J& n3 K5 G0 {  b  m
    " g5 u7 h  ]$ x8 R
    4 G; U! v4 X5 K% M
    4 j1 i, ^' _' V& T# ]% i& M
    现在我们就可以用他们来生成各种颜色了。& L3 d# T* [- B& J! y: t

    : `* g* k, Y0 F3 b
    ; x2 p5 E) W' M$ Q2 {最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~
    ' J5 r, V: R8 Z0 c4 {3 F
    0 o8 q% e  E% {1 }! K4 r1 y) u6 b& G
    . C* s/ g5 N* I# i  m

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2025-7-1 05:50 , Processed in 0.593623 second(s), Total 34, Slave 24 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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