首页 > 其他分享 >FRDM-MCXN947开发板之RGB灯

FRDM-MCXN947开发板之RGB灯

时间:2024-04-13 10:00:13浏览次数:26  
标签:rt HIGH FRDM pin PIN write RGB LOW MCXN947

一、背景

  • RGB LED:通过红、绿、蓝三种颜色组合发光的LED,可以理解由三个不同发光属性的LED组成,这个是LCD平板显示原理的基础,一个LED相当于屏幕上面的一个像素

  • FRDM-MCXN947集成了一块RGB LED,它由三个GPIO口驱动,这里由于GPIO的电平只能是0或者1,所以这里的RGB LED并不能像LCD的单个像素那样合成256x256x256种颜色

二、颜色表

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

颜色组合关系表

颜色 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

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

四、程序设计

初始化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:青色

标签:rt,HIGH,FRDM,pin,PIN,write,RGB,LOW,MCXN947
From: https://www.cnblogs.com/hywing/p/18132524

相关文章

  • LittleElephantAndRGB
    计数枚举第一个区间的右端点,第二个区间的左端点,然后记录每个点前面第一个连续的\(lim\)个的位置,这个点往前连续的\(g\)的个数,对称在记录一遍然后直接统计答案,如果两个拼起来一段是可行的考虑前面选的不够,后面去到一整段之后前面和后面拼起来够,等差数列前面足够长否......
  • RGB到Lab的转换原理及例程
    RGB到Lab的转换是将RGB颜色空间转换为Lab颜色空间,其中Lab颜色空间是一种在人眼感知上更均匀的颜色模型。转换过程包括以下步骤:将RGB值中的每个通道值除以255,将其转换为范围在0-1之间的小数。对每个通道值应用逆伽马校正,以纠正显示设备的非线性响应。可以使用以下公式:R'=......
  • RGB多色补光灯方案
    一、RGB多色补光灯方案介绍在本RGB多色补光灯项目中,使用低功耗LED,无频闪、无眩光。三色光调节,高显色指数,高流明与宽色温。支持USB及适配器等供电方式,可扩充多路大电流充电输出。按键可选择按压式按键、触摸式按键,支持定制2.4G无线遥控调光。二、RGB多色补光灯方案功......
  • python opencv计算图片rgb平均值
    pythonopencv计算图片rgb平均值importcv2importnumpyasnp#读取图像3_202403281448172_20240328165448image=cv2.imread('3_20240328144817.jpg')#确保图像读取成功ifimageisnotNone:#OpenCV读取图像为BGR格式,我们需要转换为RGB#rgb_......
  • RGB到HSV的转换原理及例程
    RGB(红绿蓝)和HSV(色相、饱和度、明度)是两种常用的颜色模型,RGB用于表示彩色图像,而HSV主要用于描述颜色的特征。RGB到HSV的转换涉及颜色的几何和三维空间的变换。RGB颜色模型使用红、绿、蓝三个通道来表示各种颜色。每个通道的取值范围为0-255,其中0表示没有该通道的颜色,255表示通......
  • OpenHtmlToPdf工具rgba转rgb
    使用OpenHtmlToPdf工具将html转pdf时不识别html中的rgba属性,导致颜色显示出现问题测试字符串StringpdflFile="/yourPath/ppm-3.pdf";FileOutputStreamoutputStream=newFileOutputStream(pdflFile);try(FileOutputStreamfos=newFileOutputStream(p......
  • RGBLCD基本知识
    学习资料来源于网络https://www.bilibili.com/video/BV1yE411h7uQ?p=55&spm_id_from=pageDriver&vd_source=432ba293ecfc949a4174ab91ccc526d6https://doc.embedfire.com/linux/imx6/driver/zh/latest/bare_metal/elcdif.html# 基础概念:LCD:LiquidCrystalDisplay液晶是一......
  • 693、基于51单片机的RGB调色(PWM)
    毕设帮助、开题指导、技术解答(有偿)见文末。目录一、设计功能二、proteus仿真三、原理图四、程序源码五、资料包括一、设计功能采用PWM调制方式进行三基色LED配色控制的研究,实验证明其电路简单、操作方便,能很好的实现各种颜色的配置和切换使用6个按键分别......
  • Monitor test Philips 279P1B 4K 60FPS 10bit HDR400 99%-Adobe RGB, 99% P3, 99% SRG
    SoIboughtthismonitor.Thespecsarefromhere: https://www.usa.philips.com/c-p/279P1B_27/brilliance-lcd-monitor-with-usb-c ---wordsinshort,DP1.4,HDMI2.0,DP1.4viaUSB-CPD90WmaxWhenenablingUSB-Chigh-resolutionmode(10bit),withmym1......
  • Python教程:如何获取颜色的RGB值
    简介在许多计算机图形和图像处理应用中,颜色的RGB值是至关重要的信息。Python作为一种多功能的编程语言,提供了丰富的工具和库,可以轻松地获取颜色的RGB值。本文将介绍如何使用Python获取颜色的RGB值,以及一些实际应用的示例。使用PIL工具获取颜色的RGB值PIL(PythonImagingLibrar......