FRDM-MCXN947开发板之RGB灯

一、背景

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

在这里插入图片描述

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

在这里插入图片描述

二、颜色表

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

在这里插入图片描述

颜色组合关系表

颜色RedGreenBlue英文名
100Red
绿010Green
001Blue
品红101Pink
110Yellow
011Cyan
111White

三、电路

电路引脚对应关系: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)
{// Redrt_pin_write(LEDR_PIN, PIN_LOW);  rt_pin_write(LEDG_PIN, PIN_HIGH);   rt_pin_write(LEDB_PIN, PIN_HIGH); rt_thread_mdelay(delay);               // Greenrt_pin_write(LEDR_PIN, PIN_HIGH); rt_pin_write(LEDG_PIN, PIN_LOW);   rt_pin_write(LEDB_PIN, PIN_HIGH);    rt_thread_mdelay(delay);            // Bluert_pin_write(LEDR_PIN, PIN_HIGH);   rt_pin_write(LEDG_PIN, PIN_HIGH);   rt_pin_write(LEDB_PIN, PIN_LOW);   rt_thread_mdelay(delay);              // Yellowrt_pin_write(LEDR_PIN, PIN_LOW);    rt_pin_write(LEDG_PIN, PIN_LOW);   rt_pin_write(LEDB_PIN, PIN_HIGH);   rt_thread_mdelay(delay);            // Pinkrt_pin_write(LEDR_PIN, PIN_LOW);   rt_pin_write(LEDG_PIN, PIN_HIGH);   rt_pin_write(LEDB_PIN, PIN_LOW);   rt_thread_mdelay(delay);             // Cyanrt_pin_write(LEDR_PIN, PIN_HIGH);  rt_pin_write(LEDG_PIN, PIN_LOW);   rt_pin_write(LEDB_PIN, PIN_LOW);    rt_thread_mdelay(delay);               // Whitert_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:青色

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/814098.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024 Guitar Pro 8.1.2-27 (x64) win/mac中文激活版破解版

吉他爱好者必备神器:Guitar Pro v8.1.1 Build 17深度解析 随着数字音乐制作和学习的日益普及,越来越多的吉他爱好者开始寻找能够帮助他们提升技能、创作音乐的专业工具。在众多吉他制作软件中,Guitar Pro因其强大的功能和易用的界面备受推崇…

Docker Image (镜像) 常见命令

Docker Image (镜像) 常用命令 docker images 功能:列出本地所有的镜像。如果镜像 ID 相同,但是 Tag 标签不同,也会被当作不同的条目被列出来。 语法: docker images [options] [REPOSITORY[:TAG]] 别名: docker ima…

如何对图像进行聚类

文章来源:https://medium.com/voxel51/how-to-cluster-images-6e09bdff7361 2024 年 4 月 10 日 使用 FiftyOne、Scikit-learn和特征嵌入 在 2024 年深度学习的计算密集型环境中,集群一词最常出现在讨论 GPU 集群时--高度优化的矩阵乘法机器的大规模集…

Mac下安装NVM,NVM安装Node(附带NPM)

1、理解NVM、node、NPM 什么是NVM? NVM: Node.js Version Manager,用来管理 node 的版本。 什么是 Node.js? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js使用了一个事件驱动、非阻塞式I/O的模型( Node.js的特性&…

海洋信息管理系统:守护蓝色星球,促进海洋经济新发展

海洋,覆盖地球表面超过七成的广阔水域,是生命之源,也是经济发展的重要空间。然而,随着人类活动的增加,海洋生态环境面临严峻挑战,海洋资源的可持续利用成为全球关注的焦点。在这样的背景下,构建…

数字IC/FPGA——亚稳态及跨时钟域

什么是亚稳态亚稳态会造成什么平均故障间隔时间如何解决亚稳态同步时钟和异步时钟单bit电平信号如何跨时钟域单bit脉冲信号如何跨时钟域多bit信号如何跨时钟域 目录 一、亚稳态1.基本概念2.危害3.平均故障时间4.解决亚稳态的方法 二、跨时钟域1.同步电路和异步电路(…

Redis 是如何实现消息队列的?

队列的三个需求 消息队列在存取消息时,必须要满足三个需求,分别是消息保序、处理重复的消息和保证消息可靠性 需求一:消息保序。消费者仍然需要按照生产者发送消息的顺序来处理消息,避免后发送的消息被先处理了 需求二&#xf…

链表linked list: 将新节点链接到链表的末尾

// 在链表中插入新节点 // 这段代码定义了一个名为 insert 的函数,用于在链表中插入新节点。让我解释一下这段代码的逻辑: // 函数接受两个参数:指向链表头节点的引用 head 和要插入的新节点的值 value。 // 首先,它创建了一个新的…

RNN知识体系构筑:详尽阐述其理论基础、技术架构及其在处理序列数据挑战中的创新应用

一、为什么需要RNN 尽管神经网络被视为一种强大且理论上能够近似任何连续函数的模型,尤其当训练数据充足时,它们能够在输入空间中的某个点( x )映射到输出空间的特定值( y ),然而,这并不能完全解释为何在众多应用场景中&#xff…

牛客2024【牛客赛文X】春招冲刺ONT61 每日温度【hard 单调栈 Java、Go、PHP】

题目 题目链接: https://www.nowcoder.com/practice/1f54e163e6944cc7b8759cc09e9c78d8 思路 单调栈最直接的应用就是获取数组中每个位置i,i的左边第一个比i大或者小的位置/数以及,i的右边第一个比i大或者小的位置/数不懂的同学看这里https://blog.csdn.net/Borsl…

String类中常见面试题

1.string类属于基本类型吗? string类不是基本类型;它属于引用数据类型 2.操作字符串的类有哪些?有什么区别? 有三种:string,stringBuilder,stringBuffer 区别: String:不可变类,字符串一旦被创建就不能…

Unity打包出来的apk安装时提示应用程式与手机不兼容,无法安装应用程式

1、遇到的问题 * 2、解决办法 这是因为你在Unity中导出来的apk手机安装包是32位的,才导致上述问题发生,要解决这个办法,需要在Unity中导出64位的手机安装包。 32位跟64位的区别,以及如何区分打出来的手机安装包是否是32位或者是…

C++11 新特性:tuple 元组

std::tuple是 C11 中引入的一个非常强大的类型,它允许将多个类型不同的值,组合成单一对象。 std::tuple非常适合用于那些需要返回多个值的场景,而且它的灵活性和通用性使得其成为现代 C 编程中不可或缺的一部分。下面,我们将探讨…

腐蚀Rust 服务端搭建架设个人社区服务器Windows教程

腐蚀Rust 服务端搭建架设个人社区服务器Windows教程 大家好我是艾西,一个做服务器租用的网络架构师也是游戏热爱者。最近在steam发现rust腐蚀自建的服务器以及玩家还是非常多的,那么作为服务器供应商对这商机肯定是不会放过的哈哈哈! 艾西这…

Day:004(4) | Python爬虫:高效数据抓取的编程技术(数据解析)

XPath工具 浏览器-元素-CtrlF 浏览器-控制台- $x(表达式) Xpath helper (安装包需要科学上网) 问题 使用离线安装包 出现 程序包无效 解决方案 使用修改安装包的后缀名为 rar,解压文件到一个文件夹,再用 加载文件夹的方式安装即可 安装 python若使用…

2024年认证杯SPSSPRO杯数学建模D题(第一阶段)AI绘画带来的挑战全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 D题 AI绘画带来的挑战 原题再现: 2023 年开年,ChatGPT 作为一款聊天型 AI 工具,成为了超越疫情的热门词条;而在 AI 的另一个分支——绘图领域,一款名为 Midjourney(MJ&…

【Apache2】彻底删除 Apache2 服务器

要彻底删除 Apache2 服务器,需要卸载 Apache2 软件包并删除其配置文件和数据文件。在 Ubuntu 上,可以按照以下步骤来完成: 停止 Apache2 服务: sudo systemctl stop apache2卸载 Apache2 软件包: sudo apt-get purge a…

JavaWeb--前端--01HTML和CSS

文章目录 1 前端开发介绍2 开发工具3 文档查阅4 VSCode的插件 1 前端开发介绍 Web标准也称为网页标准,由一系列的标准组成,大部分由W3C( World Wide Web Consortium,万维网联盟)负责制定。由三个组成部分:…

2024年认证杯数学建模挑战赛C题全解析

2024年认证杯C题的已经完成啦,包括参考论文,模型代码,分享给大家~ 问题分析 对于这些问题,我们首先需要确定影响日光辐射降低效应的关键参数,例如海盐气溶胶的浓度、粒子大小、分布以及喷洒高度和范围。同…

使用Spring Cloud构建微服务时的一些经验

在使用Spring Cloud构建微服务的过程中,积累了大量的实践经验,也遇到了一些挑战。以下是对使用Spring Cloud进行微服务开发的经验和观察: 1. 服务治理与发现 Spring Cloud Eureka或Consul提供了服务治理和发现的功能,使得微服务…