使用Arduino开发板点亮RGB全彩LED灯

您所在的位置:网站首页 发光板怎么用 使用Arduino开发板点亮RGB全彩LED灯

使用Arduino开发板点亮RGB全彩LED灯

2024-07-12 22:13| 来源: 网络整理| 查看: 265

使用Arduino开发板点亮RGB全彩LED灯 什么是RGB LED灯?所需的组件电路原理图源代码

Arduino软件下载地址:https://www.arduino.cc/en/Main/Software?setlang=cn.

在本篇文章中,我们将了解什么是RGB全彩LED灯以及如何使用Arduino开发板点亮它。

什么是RGB LED灯?

RGB LED灯可以通过混合红色、绿色和蓝色这三种基本颜色来发出不同的颜色。所以它实际上由3个独立的LED组成,红色、绿色和蓝色包装在一个盒子里。这就是为什么它有4个引脚,3种颜色中的每一种都有一种引线,而RGB LED类型则有一种共用阴极或阳极。在本篇文章中,我使用的是共阴极。

在这里插入图片描述

所需的组件

本篇文章所需的组件如下所示:

● RGB LED灯

● 3个220欧电阻

● Arduino面包板

● 面包板和跳线

电路原理图

我们将阴极接地,3个阳极通过220欧姆电阻连接到Arduino开发板上的3个数字引脚,这些引脚可提供PWM信号。我们将使用PWM模拟模拟输出,这将为LED提供不同的电压电平,以便我们可以获得所需的颜色。

在这里插入图片描述

我们将使用PWM模拟输出,这将为LED提供不同的电压电平,以便我们可以获得所需的颜色。

在这里插入图片描述

源代码

现在让我们看看Arduino草图。我将使用引脚7、6和5,分别将它们命名为redPin、greenPin和bluePin。在setup部分,我们需要将它们定义为输出。在草图的底部,我们有一个名为setColor()的自定义函数,它接受3个不同的参数redValue、greenValue和blueValue。这些参数表示LED的亮度或使用analogWrite()函数创建的PWM信号的占空比。这些值可以在0到255之间变化,表示PWM信号的100%占空比或最大LED亮度。

int redPin= 7; int greenPin = 6; int bluePin = 5; void setup() { pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { setColor(255, 0, 0); // Red Color delay(1000); setColor(0, 255, 0); // Green Color delay(1000); setColor(0, 0, 255); // Blue Color delay(1000); setColor(255, 255, 255); // White Color delay(1000); setColor(170, 0, 255); // Purple Color delay(1000); } void setColor(int redValue, int greenValue, int blueValue) { analogWrite(redPin, redValue); analogWrite(greenPin, greenValue); analogWrite(bluePin, blueValue); }

复制代码 所以现在在loop函数中我们将制作程序,它将每秒改变LED的颜色。 为了在LED获得红光,我们将调用setColor()函数,并为redValue参数设置值255,另外两个参数设置0。 我们分别可以得到另外两种基本颜色,绿色和蓝色。 为了获得其他颜色,我们需要混合参数值。 因此,例如,如果将所有3个LED设置为最大亮度,我们将获得白光,如果我们将以下值设置为参数:170 redValue、0 greenValue和255 blueValue,我们将获得紫色光。

实列:

int redPin= 7; int greenPin = 6; int bluePin = 5; void setup() { //添加引脚。 pinMode(redPin, OUTPUT); pinMode(greenPin, OUTPUT); pinMode(bluePin, OUTPUT); } void loop() { setColor(255, 192, 203); // Pink Color delay(1000); //延迟函数。 setColor(0, 255, 0); // Green Color delay(1000); setColor(0, 0, 255); // Blue Color delay(1000); setColor(255, 255, 255); // White Color delay(1000); setColor(170, 0, 255); // Purple Color delay(1000); setColor(0, 255, 255); // Cyan Color delay(1000); setColor(255, 215, 0); // Gold Color delay(1000); setColor(244, 164, 96); // SandyBrown Color delay(1000); setColor(143, 188, 143); // DarkSeaGreen Color delay(1000); setColor(255, 165, 0); // Orange Color delay(1000); } //setColor()函数接受3个参数。这些参数表示LED的亮度或使用analogWrite()函数创建的PWM信号的占空比。 void setColor(int redValue, int greenValue, int blueValue) { analogWrite(redPin, redValue); analogWrite(greenPin, greenValue); analogWrite(bluePin, blueValue); }

效果图片: ![Alt](https://img-blog.csdnimg.cn/20190619195706323.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xvdmVfdGltZQ==,size_16,color_FFFFFF,t_70 ralf_1.jpg =350x300)

效果图片:![Alt](https://img-blog.csdnimg.cn/20190619195931815.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2xvdmVfdGltZQ==,size_16,color_FFFFFF,t_70 ralf_2.jpg =350x300)

把延迟函数delay(int);参数调低,就能做到闪烁彩灯效果。

参考于:https://www.yiboard.com/thread-1013-1-1.html.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3