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

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

GalaIO ( 楼主 ) 2015-9-27 13:44:03  只看该作者 倒序浏览
本帖最后由 GalaIO 于 2015-9-27 13:46 编辑
3 f/ |, `& v  l  K
* ~, Y6 D( G' n, ]! v; n/ Z     上次的帖子简单介绍了MICOKIT的调试环境和使用KEIL的基本开发流程以及简单开发框架,下载我们对MICO的编程框架有一定认识,值得一提是,在MICO发布的sdk中,有一个demo的文件夹,里面有好多的现成例子,可以知道我们使用MICO的外设资源。位置如下。7 X: `( i! G6 A2 q* V- \
: A; T" H0 U# i( H( f* Y/ G
下图是MICO给出的RGB_LED的原理图和简单时序: 4 ]4 Z/ L+ G4 k& N; t4 Q$ w# m
如下是一个简单的使用rgb_led的例子。- R3 r& c9 T0 {/ C
  1. & ]5 x/ {0 ?4 @- v+ I" Y+ w8 {
#include "MICO.h"
#include "micokit_ext.h"

- t" g5 D- j* H6 i: P$ B1 S3 u
  • #define ext_rgb_led_log(M, ...) custom_log("EXT", M, ##__VA_ARGS__)
    - g& J0 i: G1 A  R: A' a7 x
  • 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);
      }
    }
  • 复制代码
    4 F4 S# h* `  y7 T
    & [- w7 F& u0 N2 j

    - f2 W- l& u1 X/ vled初始化:
    ; Z1 x( ]  x( a* s
    1. /*init RGB LED(P9813)*/
    复制代码
    led的RGB颜色配置:- h% M7 I# M7 D
    1. /*open red led,#FF0000*
    复制代码
    如上的函数,传入RGB颜色模型的三个值,对于RGB模型来说,RGB模型是由真实的人眼颜色匹配实验得出的模型,RGB分别表示那三个固定波长的光的份量。RGB是基于色光混合的原理设计的,是一种以硬件为导向的色彩模型,它描述了显示器的电子枪打在Red红、Green绿、Blue蓝三色发光极上的显色方式。当红绿蓝三色光的亮度均为最大值(255)的时候,屏幕上重现的颜色就是最亮的白色,都为0的时候,结果就是黑色。
    " F7 }" s* m' f/ g如果想要得出刚才提到的“海棠红”,我们就要把红光调到最亮,把绿光的亮度调到1/5左右,再把蓝光的亮度调到1/3左右,如下图:
    . {, T. P* e9 I4 w( D
    ( F: N. l4 ?8 B6 Q' Q这是我在互联网上找到的颜色,都比较常用,一共有200多种颜色。- ~  {( @. {: Z: v2 j
    4 ~' v# [. P0 {4 l7 S3 ?3 U- z
    6 ^% }* L8 ?- m+ `
    然后把他们生成代码了。+ D6 z; C% _: S* h: U6 W
    5 e; `  A# k, t3 @; k0 ^9 `

    $ E+ f% D3 Y6 \8 w
    ! N% ?3 ^, f- G; P$ e
    ) n; Z" B/ _, \  r- Y9 {; E( a& H/ P  @% K! R8 p
    现在我们就可以用他们来生成各种颜色了。
    $ w2 m1 r: J3 I9 h6 p, Y 4 G$ ?8 r  I2 g# u, H. r. p

    9 J. Y/ t% P( o: I! w最后,通过修改RGB的某一分量,然后通过渐变方式就获得呼吸灯了哦~~相当绚丽~~3 s$ q% j# F  Y5 i) D" V
    4 G$ d. C4 E, v. K1 V4 @, J8 R4 `

    5 ]. [& Z9 d: i* z# E% G1 b! ]/ u1 x, F8 U8 l8 K

    0个回复

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

    本版积分规则


    关闭

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

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

    GMT+8, 2024-12-26 17:23 , Processed in 0.712490 second(s), Total 56, Slave 40 queries .

    Powered by 电子发烧友网

    © 2015 bbs.elecfans.com

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