FRDM-MCXN947开发板之RGB灯

news2025/1/11 14:53:34

一、背景

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

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

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

相关文章

【C++】详解类的--封装思想(让你丝滑的从C语言过度到C++!!)

目录 一、前言 二、【面向过程】 与 【面向对象】 三、结构体 与 类 🍎C中结构体的变化 🍉C中结构体的具体使用 🍐结构体 --> 类 ✨类-----语法格式: ✨类的两种定义方式: 四、类的访问限定符及封装【⭐】 …

海外媒体发稿:4种旅游业媒体套餐助你宣发推广-华媒舍

在现代社会中,旅游业发展迅速,竞争也变得日益激烈。为了让自己的旅游产品或服务脱颖而出,宣传和推广变得至关重要。有着强大传播力的媒体平台成为了旅游行业的一项重要资源。为了更好地推广旅游业,提高其影响力,有许多…

如何做好软件平台的全生命周期管理?

一、为何需生命周期管理 做好软件平台的全生命周期管理至关重要,主要原因如下: 确保软件质量: 全生命周期管理涵盖了从需求分析、设计、开发、测试、部署、运行维护到废弃的全过程,通过有效的管理可以确保每个阶段的质量控制&…

Java集合(一)Map(1)

Map HashMap和HashTable区别 线程是否安全:HashMap线程不安全,HashTable线程安全。因为HashTable内部的方法都经过了synchronized关键字修饰。 HashMap线程不安全例子:如果两个线程都要往HashMap中插入数据,但是发生哈希冲突&…

响应式布局(其次)

响应式布局 一.响应式开发二.bootstrap前端开发框架1.原理2.优点3.版本问题4.使用(1)创建文件夹结构(2)创建html骨架结构(3)引入相关样式(4)书写内容 5.布局容器(已经划分…

YOLOv8绝缘子边缘破损检测系统(可以从图片、视频和摄像头三种方式检测)

可检测图片和视频当中出现的绝缘子和绝缘子边缘是否出现破损,以及自动开启摄像头,进行绝缘子检测。基于最新的YOLO-v8训练的绝缘子检测模型和完整的python代码以及绝缘子的训练数据,下载后即可运行。(效果视频:YOLOv8绝…

【IR-SDE】Image Restoration SDE项目演示运行app.py

背景: code:GitHub - Algolzw/image-restoration-sde: Image Restoration with Mean-Reverting Stochastic Differential Equations, ICML 2023. Winning solution of the NTIRE 2023 Image Shadow Removal Challenge. paper: Official PyTorch Implementations o…

Salient Object Detection 探索经历

概述 显著性目标检测也被称为显著性检测,旨在通过模拟人类视觉感知系统来检测自然场景图像中最显著的目标和区域。虽然,显著性目标检测听名字是一个检测任务,但是实际上是一个图像分割任务,即一个像素级分类任务,是一…

毅速ESU丨增材制造有助于传统制造企业打造新增长极

在科技浪潮的推动下,传统制造企业正面临着前所未有的挑战与机遇。产品的复杂程度不断提升,个性化需求层出不穷,越来越短的生产周期,不断升级的品质要求等,传统的生产模式在应对这些变化并不容易。而增材制造&#xff0…

[大模型]Yi-6B-Chat 接入 LangChain 搭建知识库助手

Yi-6B-Chat 接入 LangChain 搭建知识库助手 环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器,如下图所示镜像选择 PyTorch–>2.0.0–>3.8(ubuntu20.04)–>11.8 接下来打开刚刚租用服务器的 JupyterLab,并且打开其中的终端开始…

港科夜闻|叶玉如校长牵头举办大湾区国际科创峰会,与海内外教育领袖共话全球合作,教育与创新...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大校长叶玉如教授牵头举办大湾区国际科创峰会,与海内外教育领袖共话全球合作、教育与创新。粤港澳大湾区院士联盟主办的“第二届大湾区国际科创峰会”4月3日在香港科学园举行,汇聚了区内及海…

浅说深度优先搜索(上)——递归

好久没有讲算法了,今天我们就来谈谈“初学者”的第二个坑,深度优先搜索,其实也就是递归。 写在最前 相信很多人都和我一样刚开始的时候完全不知道怎么下手,甚至可以说是毫无头绪,那么我们来理一理递归到底要怎么写。…

C/C++ 入门(5)内存管理

个人主页:仍有未知等待探索-CSDN博客 专题分栏:C 欢迎指教! 目录 一、内存分布 二、C中动态内存管理 new delete 三、C语言的动态内存管理 四、operator new 和operator delete函数 operator new operator delete 五、new和delete的…

STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978(4)

接前一篇文章:STM32H743VIT6使用STM32CubeMX通过I2S驱动WM8978(3) 本文参考以下文章及视频: STM32CbueIDE Audio播放音频 WM8978 I2S_stm32 cube配置i2s录音和播放-CSDN博客 STM32第二十二课(I2S,HAL&am…

php反序列化(2)

一.pop链 在反序列化中,我们能控制的数据就是对象中的属性值(成员变量),所以在php反序列化中有一种漏洞利用方法叫“面向属性编程”,即pop(property oriented programming)。 pop链就是利用魔…

蓝桥杯基础18——第13届省赛真题与代码详解

目录 0.心得体会 1.题目如下 2.代码实现的思路 键值扫描 数码管窗口切换 数码管的动态扫描 继电器工作时L3闪烁,整点时刻L1灯光亮5秒 3.变量列表 定义的常量和数组 功能控制和状态变量 定时器和计数变量 4.代码参考 4.1 头文件 onewire.h ds1302.h 4…

vscode远程免密登录ssh

vscode远程免密登录ssh 1. 安装vscode2. 安装ssh3. 本地vscode配置免密登录远端开发机1. 本地配置秘钥2. 远程开发机配置秘钥 4. vscode常用小工具1. vscode怎么设置ctrl加滚轮放大字体 1. 安装vscode 2. 安装ssh 设置符号打开config配置文件,点击符号ssh连接新的远…

(UDP)其他信息: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。

“System.Net.Sockets.SocketException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理其他信息: 通常每个套接字地址(协议/网络地址/端口)只允许使用一次。这个异常表示端口已经被占用了,需要释放端口或者使用其他端口来建立连接。您可以…

单片机方案 发声毛绒小黄鸭

随着科技的不断进步,智能早教已经成为了新时代儿童教育的趋势。智能早教玩具,一款集互动陪伴、启蒙教育、情感培养于一身的高科技产品。它不仅能陪伴孩子成长,还能在游戏中启迪智慧,是家长和孩子的理想选择。 酷得电子方案开发特…

程序员Java.vue,python前端后端爬虫开发资源分享

bat面试资料 bat面试题汇总 提取码:724z 更多资料