一、背景

  • 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:青色

FRDM-MCXN947开发板之RGB灯的更多相关文章

  1. 基于uFUN开发板的RGB调色板

    前言 使用uFUN开发板配合Qt上位机,实现任意颜色的混合,Qt上位机下发RGB数值,范围0-255,uFUN开发板进行解析,然后输出不同占空比的PWM,从而实现通过RGB三原色调制出任意颜色. Qt ...

  2. RK3399 友善NanoPC-T4开发板使用sysfs方法控制status LED状态灯-【申嵌视频-RK3399篇】

    实验1:sysfs 操作方法控制NanoPC-T4开发板上LED灯 (status LED状态灯:GPIO0_B5/LED1_OUT)root@NanoPC-T4: cd /sys/class/led ...

  3. 单片机学习(二)开发板LED灯的控制

    目录 开发板上LED灯相关的电路图 点灯 LED闪烁 LED流水灯 其他效果 灯光二进制计数器 进阶版流水灯 开发板上LED灯相关的电路图 这是P2相关7个引脚的电路图,在默认情况下它是直接接着VCC ...

  4. 千呼万唤始出来——uFUN开发板2.0开箱评测

    前言 今年3月,我参与了面包板社区组织的第一批uFUN开发板评测活动,并有幸能获得试用机会,那是我第一次了解到uFUN这个项目及背后的故事,4月份,uFUN 2.0版本来了,收到了张工送的一块样板,后 ...

  5. 1-51单片机WIFI学习(开发板介绍)

    源码链接都在后面 前面的都是介绍单独的WIFI,没有和单片机结合起来,因为做项目很少会只用WIFI模块.大多数都是WIFI模块作为中转数据的桥梁,单片机负责 数据采集,控制等等,所以自己准备出一套51 ...

  6. 1-学习GPRS_Air202(Air202开发板介绍)

    记得自己第一次实现远程通信是在学校里用SIM900A实现的,随着WIFI模块的普及自己就开始用WIFI模块了,当然WIFI模块已经用的很... WIFI模块要想实现远程控制必须连接路由器,其实在做王哥 ...

  7. 基于uFUN开发板和扩展板的联网校准时钟

    项目概述 上周在uFUN试用群里看到管理员说试用活动快结束了,要抓紧完成评测总结,看大家的评测总结也都写了,我也不能落后啊!正好最近做的扩展板到手了,于是赶紧进行调试,做了一个不用校准的时钟,时钟这种 ...

  8. NUCLEO-8L152开发板中文应用笔记整理集合

    [AN5182]基于Adafruit TFT Shield与STM8 Nucleo-64板的图片查看器:https://www.yiboard.com/thread-962-1-1.html 本应用笔 ...

  9. 迅为-IMX6UL开发板丨双网口丨双CAN总线丨4路USB HOST丨2路串口、6路插座引出,共8路串口丨1路RGB信号丨2路LVDS信号

    迅为iMX6UL开发板多路串口开发平台迅为i.MX 6UL开发板基于ARM Cortex-A7内核,主频高达528 MHz,内存:512MDDR3存储:8G EMMC,支持2路CAN,2路百兆以太网, ...

  10. 在 S5PV210 的 开发板上 点亮 一个 LED 灯

    参考学习教程:周立功嵌入式Linux开发教程-(上册) 材料:首先 准备一个 安装好 Linux 的 开发板 使用  xshell 工具 连接 开发板  ,winscp 工具 连接 开发板  ,  准 ...

随机推荐

  1. 手写一个Mybatis框架

    第一:Mybatis框架介绍 最近看了一篇关于Mybatis的文章,发现MyBatis框架的核心功能其实不难,无非就是动态代理和jdbc的操作,难的是写出可扩展,高聚合,低耦合的规范的代码. 本文手写 ...

  2. 中国大陆地区维护的Linux操作系统

    Linux开源生态丰富,中国大陆地区基于CentOS停服,依托阿里云.腾讯云.华为云三大私营企业,相继发布了自己的开源Linux定制版,很高兴的是他们只是改个名字并没有选择闭门造车,只是官网还是很不耻 ...

  3. PolarDB-X迎来开源后首个重大版本升级,2.1版本新增5大特色功能

    ​简介:2022 年 5 月25日,阿里云开源 PolarDB-X 升级发布新版本!PolarDB-X 从 2009 年开始服务于阿里巴巴电商核心系统, 2015 年开始对外提供商业化服务,并于 20 ...

  4. “让专业的人做专业的事”,畅捷通与阿里云的云原生故事 | 云原生 Talk

    简介: 如何借助阿里云强大的 IaaS 和 PaaS 能力去构建新一代的 SaaS 企业应用,从而给客户提供更好.更强的服务,这是畅捷通一直在思考和实践的方向.最终,畅捷通选定阿里云企业级分布式应用服 ...

  5. 好云推荐官丨飞天加速之星怎样选择云服务器ECS?

    ​编者按:本文来自"好云推荐官"活动的技术博主投稿,作者(昵称天狼)曾入选首届"飞天加速之星",获得飞天人气奖. ​你是否还在苦苦地寻找一家合适的云厂商,寻找合 ...

  6. Apsara Stack 技术百科 | 标准化的云时代:一云多芯

    ​简介:随着今年云栖大会现场平头哥的自研云芯片倚天710发布,以及众多新兴厂商的芯片发布,将有越来越多的类型芯片进入到主流市场,"多芯"的架构将在数据中心中越来越常见,阿里云混合云 ...

  7. 一文带你了解企业上云数据分析首选产品Quick BI

    简介: 阿里云Quick BI再度入选,并继续成为该领域唯一入选魔力象限的中国企业,文章将为大家详细介绍上云数据分析首选产品 Quick BI的核心能力. 日前,国际权威分析机构Gartner发布20 ...

  8. [FAQ] uni-app 不支持 v-cloak 情况下如何处理 v-if 页面闪烁问题

    在 Vue 中存在使用 v-if 决定元素显示隐藏的时候,会出现页面闪烁,那么当然 uni-app 中也存在了. 如果编译完后,需要满足 js 的某个条件才隐藏,页面元素必然会有闪烁的情况. 所以解决 ...

  9. [Gin] 路由分组 Group 的内部实现 与 块空间 { } 的应用

    通过这篇 [Gin] 单文件极简 HTTP Server 流程分析 ( gin-gonic/gin ) 我们知道了 gin.go 中的 Engine 继承有 routergroup.go 中的 Rou ...

  10. dotnet 6 命令行 cmd 设置输出英文解决中文乱码

    我遇到在部署 CI 服务器,执行 cmd 命令构建,输出的中文是乱码.我期望让 dotnet 命令行输出使用英文解决乱码问题.通过设置 dotnet 命令行的语言文化,即可解决此问题 给 dotnet ...