3-4 RGB LED(智能应用篇)

news2024/9/20 7:58:22

3-4 RGB LED(智能应用篇)

  • 3-4 RGB LED
    • RGB-LED及电路
    • 示例程序
    • 效果演示

3-4 RGB LED

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

Led的灯珠和灯带,相当于点和线(可以画出丰富否画面)

主要介绍led灯珠

RGB-LED及电路

在这里插入图片描述
在这里插入图片描述

RGB-LED可以发出红、绿、蓝色的光芒(并通过各个通道的数值不同发出其余各种颜色)

发光二极管,
这里有四个引脚

传统的发光二极管只有一个正极一个负极
在这里插入图片描述

最长的引脚为其负极
上面为RGB-LED的简化过程(三个负极链接在一起接地,另外三个灯放在一个灯里)

在这里插入图片描述

正极独立,负极链接在一起,为共阴极RGB-LED

也有共阳极LED,这里不介绍了

在这里插入图片描述

在这里插入图片描述

最长引脚为负极链接arduino的接地线
在这里插入图片描述

其余的三个RGB引脚分别连接在6,5,3号引脚(~)

示例程序

主要将实际制作了,程序不会太细讲

/*
* Serial-RGB-LED
* 
* 通过串口输入信息调整LED的颜色
* 指令示例: r128g100b20
*          以上指令将LED的RGB数值调整为(128,100,20)
*          
* by 太极创客
* www.taichi-maker.com
*/
const int rLedPin = 6; //引脚R
const int gLedPin = 5; //引脚G
const int bLedPin = 3; //引脚B
 
int ledR  = 0; //R Led 亮度
int ledG  = 0; //G Led 亮度
int ledB  = 0; //B Led 亮度
 
void setup() {
  pinMode(rLedPin, OUTPUT);
  pinMode(gLedPin, OUTPUT);
  pinMode(bLedPin, OUTPUT);
  Serial.begin(9600);
  Serial.println("Welcome to Taichi-Maker RGB Led Tutorial.");
  Serial.println("Please Input RGB value(eg. r128g100b20).");
}
 
void loop() {
  
  if (Serial.available()>0) { 
    char serialCmdChar = Serial.read();  
    serialCmd(serialCmdChar);       
  }
  delay(50);      //延时让程序更加流畅稳定
}
 
void serialCmd(char serialCmdChar) {  //r128g100b20
  switch (serialCmdChar){
    case 'r':
      ledR = Serial.parseInt();
      break;
 
    case 'g':
      ledG = Serial.parseInt();
      break;
 
    case 'b':
      ledB = Serial.parseInt();
      break;    
 
//使用‘C’字符将RGB置为0
    case 'c':
      ledR = 0;
      ledG = 0;
      ledB = 0;
  }
 
//将数值输出到引脚上
  analogWrite(rLedPin, ledR);
  delay(100);
  analogWrite(gLedPin, ledG);
  delay(100);
  analogWrite(bLedPin, ledB); 
  delay(100); 
  
//输出当前的RGB各通道数值
  Serial.print ("Red Value = ");
  Serial.println (ledR);
  Serial.print ("Green Value = ");
  Serial.println (ledG);
  Serial.print ("Blue Value = ");
  Serial.println (ledB);
  Serial.println ("-------------");    
}

效果演示

在这里插入图片描述
在这里插入图片描述

先尝试单独打开红色、绿色、蓝色led

r255g0b0
在这里插入图片描述

发送
在这里插入图片描述

r0g255b0
在这里插入图片描述

回车发送变成绿色
在这里插入图片描述

发送r0g0b255
在这里插入图片描述

发送r100g0b100得到紫色
在这里插入图片描述

RGB-LED,三原色可以进行调和得到不同的颜色

发送r100g10b0得到黄色
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

RGB可以显示出16777216种颜色(真彩led)
在这里插入图片描述

下方的发出多种颜色的led灯珠并不是RGB-LED,而是只有两个引脚

并不是能改变颜色的led都是RGB-led

在这里插入图片描述

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

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

相关文章

Flutter 09 Future 和 Stream

一、Future 和 Stream 是处理异步操作的两个重要概念: Future: Future 用于表示一个延迟操作的值或错误,即异步操作的结果。通过 Future,可以在异步操作完成后获取其结果。可以使用 async 和 await 关键字来处理 Future&#xf…

Cisco Catalyst 8000v Edge Software, IOS XE Release IOSXE-17.14.01a ED

Cisco Catalyst 8000v Edge Software, IOS XE Release IOSXE-17.14.01a ED Cisco Catalyst 8000V 边缘软件 - 虚拟路由器 请访问原文链接:https://sysin.org/blog/cisco-catalyst-8000v/,查看最新版。原创作品,转载请保留出处。 作者主页&…

Redis笔记-分布式存储方案中哨兵模式配置

以前在系统分析师中学习到了Redis哨兵模式,只知道其中基本概念,但不知道怎么去配这个,今天看到某项目,特意记录下其配置过程。哨兵模式比主从模式,更具有容错性。 Redis分布式存储方案 分布式存储方案 核心特点 主从…

centos 7.9 迁移到 openEuler22.03-LTS-SP3

openEuler移植案例 | 移植操作指南 | openEuler社区官网 cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core) 需要两台机器, 不通过原因 在待升级节点检查是否有安装x2openEuler-core时, 发现已经安装了,不能作为升级节点。该节点为: 解…

开发日记:Object-c 中的 NSString 和 NSMutableString的常用方法

今天讲不可变数组 NSArray 可变数组 NSMutableArray。话不多说,直接上干货。 oc中的数组 可变数组 NSMutableArray使用初始化方法创建可变数组使用便利构造器创建可变数组可变数组追加元素可变数组追加一个不可变数组可变数组删除一个元素可变数组删除指定下标的元素…

IPD推行成功的核心要素(十七)矩阵型组织架构设计实现多组织协同以便快速抓取市场机会

随着企业规模不断增长,业务越来越复杂,组织架构对企业高效运作的影响也越来越大。加之企业所处的市场环境瞬息万变,机会稍纵即逝。传统金字塔型的组织架构,完全无法满足这样快速灵活的要求。而IPD体系设计了产品线(IPM…

decoy靶机复现

靶机设置 设置网卡ens33 设置靶机为NAT模式 靶机IP发现 nmap 192.168.112.0/24 靶机ip为192.168.112.149 端口扫描 nmap 192.168.112.149 -p- -sV -O -Pn 访问浏览器 默认是8080,需要更改为80端口 下载好之后发现解压需要密码 破解密码 将该安装包放到kali中…

配置Prettier+Vscode setting提高前端开发效率

前言 大家好,上一篇一文读懂 系列的文章中我们介绍了前端的代码格式化校验工具ESLient。代码格式是进行自动校验了,但你还要一个个的微调,很麻烦不是吗? 本文介绍和ESLient配合使用的Prettier实现编译器自动将代码格式化。 同时也…

Nat Methods编委:积极探索AI与生物学交叉的高质量基于人工智能方法的论文发表|顶刊速递·24-08-19

小罗碎碎念 今天分享的这篇文献(特刊)发表于《Nat Methods》,目前IF36.1。 分享这篇文献是临时做的决定,因为在朋友圈看到有关这篇特刊的介绍,对标题很感兴趣,所以我立刻找到对应的文章来详细分析一下。 在…

Leetcode JAVA刷刷站(35)搜索插入位置

一、题目概述 二、思路方向 为了实现这一功能,我们可以使用二分查找的变种来找到目标值或确定其应插入的位置。在二分查找过程中,我们不仅检查中间元素是否等于目标值,还根据比较结果更新搜索的上下界。如果目标值大于中间元素,则…

一文带你从源码中学习那些实用的位运算技巧

写在文章开头 众所周知位运算执行效率高于常规运算,通过不同的位运算搭配可以让我们写出简洁高效的代码表达式,所以本文从各大开源项目的源码中介绍一下各类运算技巧及其使用场景。 Hi,我是 sharkChili ,是个不断在硬核技术上作死的 java coder ,是 CSDN的博客专家 ,也是…

【体检】程序人生之健康检查,全身体检与预防疫苗,五大传染病普筛,基因检测等

程序员养生指南之 【体检】程序人生之健康检查,全身体检项目分类,五大传染病普筛,基因检测等 文章目录 一、全身体检与预防疫苗(年检)1、实验室检测:生化全套检查2、医技检查:辅助诊疗科室3、科…

【Python实现禁用任务管理器】

效果展示: 代码及解析: 提示:使用pyinstaller打包可以避免弹窗,食用更佳哦 提示(2):运行后要等待一段时间再关机哦 禁用代码: 要禁止任务管理器关闭 Python 程序,可以通过修改注册表来实现。以…

【OpenCV_python】凸包检测 轮廓特征 直方图均衡化 模板匹配 霍夫变换

凸包特征检测 凸包就是图像的最小外接多边形,通过图像的轮廓点,找到距离最远的两个点的直线,根据直线找到距离最远的下一个点,直到所有的点被包围在多边形内 读取图像二值化找图像的轮廓获取凸包点的坐标绘制凸包点 convexHull 获…

bilibiliDown-纯净B站视频解析提取工具

软件简介 bilibiliDown是一款简洁好用的B站视频下载工具,支持由UP主上传的单集,多集以及相关封面,弹幕,字幕,音乐,刮削等等,支持任意粒度批量组合,登录后支持到1080P,大…

Git Merge 实例教学:同步代码库与处理分支冲突的最佳实践

文章目录 前言一、git merge是什么?二、git merge基本用法1. 合并两个分支2. 合并时创建合并提交3. 快进合并(Fast-forward Merge)4. --abort参数5. --continue参数6. -X theirs参数 三、实际例子1. 更新仓库2. 将origin/main分支合并到当前分…

podman安装过程记录

最近注意到podman兼容docker镜像包,于是好奇心的驱动下,研究了一下 本来以为podman的desktop跟docker一样,最后发现podman桌面版是轻量级的,还需要安装podman的服务(当然,是支持直接通过它的桌面版来安装其…

Linux系统中用户、用户组及文件权限的常用知识汇总

Linux为多用户多任务的操作系统,文件权限管理十分重要,每一个文件都有很多属性,合理的权限设置,可以确保数据不被未授权的人员访问,同时也能提高系统安全性。 本文将介绍Linux系统中用户、用户组及文件权限的常用知识…

【C++二分查找 前缀和 】1292. 元素和小于等于阈值的正方形的最大边长

本文涉及的基础知识点 C二分查找 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LeetCode1292. 元素和小于等于阈值的正方形的最大边长 给你一个大小为 m x n 的矩阵 mat 和一个整数阈值 threshold。 请你返回元素总和小于或等于阈值的正…

C++ 设计模式——策略模式

策略模式 策略模式主要组成部分例一:逐步重构并引入策略模式第一步:初始实现第二步:提取共性并实现策略接口第三步:实现具体策略类第四步:实现上下文类策略模式 UML 图策略模式的 UML 图解析 例二:逐步重构…