FRDM-MCXN947开发板之RGB灯

一、背景

  • RGB LED:通过红、绿、蓝三种颜色组合发光的LED,可以理解由三个不同发光属性的LED组成,这个是LCD平板显示原理的基础,一个LED相当于屏幕上面的一个像素
led-module.PNG
  • FRDM-MCXN947集成了一块RGB LED,它由三个GPIO口驱动,这里由于GPIO的电平只能是0或者1,所以这里的RGB LED并不能像LCD的单个像素那样合成256x256x256种颜色
board-logo.PNG

二、颜色表

三原色合成颜色关系表如图所示

color-table.PNG

颜色组合关系表

颜色 Red Green Blue 英文名
1 0 0 Red
绿 0 1 0 Green
0 0 1 Blue
品红 1 0 1 Pink
1 1 0 Yellow
0 1 1 Cyan
1 1 1 White

三、电路

电路引脚对应关系:R -> P0_10,G -> P0_27,B -> P1_2

leds.png

驱动方式:上拉接VCC,通过灌电流方式接入GPIO,低电平发光

circuit.png

四、程序设计

初始化RGB LED

#include "drv_pin.h"
 
 #define LEDR_PIN        ((0*32)+10)
 #define LEDG_PIN        ((0*32)+27)
 #define LEDB_PIN        ((1*32)+2)
 
 ......
 
 {
  rt_pin_mode(LEDR_PIN, PIN_MODE_OUTPUT);  /* Set GPIO as Output */
  rt_pin_mode(LEDG_PIN, PIN_MODE_OUTPUT);  /* Set GPIO as Output */
  rt_pin_mode(LEDB_PIN, PIN_MODE_OUTPUT);  /* Set GPIO as Output */
 }

动态展示各种混合颜色

while (1)
 {
  // Red
  rt_pin_write(LEDR_PIN, PIN_LOW);
  rt_pin_write(LEDG_PIN, PIN_HIGH); 
  rt_pin_write(LEDB_PIN, PIN_HIGH); 
  rt_thread_mdelay(delay); 
  // Green
  rt_pin_write(LEDR_PIN, PIN_HIGH); 
  rt_pin_write(LEDG_PIN, PIN_LOW); 
  rt_pin_write(LEDB_PIN, PIN_HIGH);
  rt_thread_mdelay(delay);
  // Blue
  rt_pin_write(LEDR_PIN, PIN_HIGH); 
  rt_pin_write(LEDG_PIN, PIN_HIGH); 
  rt_pin_write(LEDB_PIN, PIN_LOW); 
  rt_thread_mdelay(delay);
  // Yellow
  rt_pin_write(LEDR_PIN, PIN_LOW);
  rt_pin_write(LEDG_PIN, PIN_LOW); 
  rt_pin_write(LEDB_PIN, PIN_HIGH); 
  rt_thread_mdelay(delay);
  // Pink
  rt_pin_write(LEDR_PIN, PIN_LOW); 
  rt_pin_write(LEDG_PIN, PIN_HIGH); 
  rt_pin_write(LEDB_PIN, PIN_LOW); 
  rt_thread_mdelay(delay); 
  // Cyan
  rt_pin_write(LEDR_PIN, PIN_HIGH);
  rt_pin_write(LEDG_PIN, PIN_LOW); 
  rt_pin_write(LEDB_PIN, PIN_LOW);
  rt_thread_mdelay(delay); 
  // White
  rt_pin_write(LEDR_PIN, PIN_LOW); 
  rt_pin_write(LEDG_PIN, PIN_LOW); 
  rt_pin_write(LEDB_PIN, PIN_LOW); 
  rt_thread_mdelay(delay); 
  }

五、总结

纸上得来终觉浅,绝知此事要躬行,曾经在大学学过LCD平板显示原理,知道像素的显示原理,知道三原色,但一直没有机会实操,我也不大清楚青色(cyan)居然由绿色(green)和蓝色(blue)合成的

六、术语

  • RGB:red green blue,红色、绿色、蓝色三种颜色的通称

  • LED:light emittiing diode,发光二极管

  • LCD:Liquid Crystal Display,液晶显示

  • pink:品红、粉红

  • cyan:青色

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容