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

我们将了解什么是RGB全彩LED灯以及如何使用Arduino开发板点亮它。

什么是RGB LED灯?

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

所需的组件

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

● RGB LED灯

● 3个220欧电阻

● Arduino面包板

● 面包板和跳线

电路原理图

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


实际上我是用白色线接LED灯的引脚GND,黄色线与一个220欧姆的电阻用串联的方式接LED灯的引脚B,粉色线与一个220欧姆的电阻用串联的方式接LED灯的引脚G,紫色线与一个220欧姆的电阻用串联的方式接LED灯的引脚R。
实际电路图接线图样:


我们将使用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,我们将获得紫色光。

实验效果图


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

使用Arduino开发板点亮RGB全彩LED灯相关推荐

  1. 利用Arduino开发板制作RGB全彩LED灯

    制作所需组件 RGB LED灯 1 个 220欧电阻 3 个 Arduino开发板 1 块 面包 1 块 跳线 4 根 电路原理图 电路图搭建过程 将RGB LED灯接入面包板 将3个电阻的一端引脚分 ...

  2. ESP32从零开始系列之玩转RGB全彩LED

    ESP32从零开始系列, 适合没有基础的各位工程师, 愿作为钥匙替各位打开ESP32开发的大门. ESP32从零开始系列之玩转RGB全彩LED 一.导入项目到Eclipse 二.源码分析 三.瞎改 四 ...

  3. 「雕爷学编程」Arduino动手做(28)——RGB全彩LED模块

    37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里 ...

  4. 【雕爷学编程】Arduino动手做(64)---RGB全彩LED模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  5. STM32F103VET6实现全彩LED灯

    全彩LED灯的实现 文章目录 全彩LED灯的实现 前言 一.相关知识 1.全彩 LED 灯简介 2.硬件简介 二.代码实现 1.编程要点 2.LED灯硬件相关宏定义 2.初始化 GPIO 3.定时器 ...

  6. 实战microPython(05)-WS2812全彩LED灯串的控制

    实战microPython(05)-WS2812全彩LED灯串的控制 David Zou 2018-09-17 在喜庆的节日中,我们经常使用彩灯串来增加节日的气氛.最早期的使用的是单色的小灯珠,只有亮 ...

  7. STM32驱动全彩LED灯模块WS2812

    STM32驱动全彩LED灯模块WS2812 WS2812全彩LED灯模块系列,可以进行级联实现灯带的效果,MCU端通过一个管脚可以控制所有级联的LED灯的不同发光颜色显示. 级联电路 WS2811(未 ...

  8. 如何基于Arduino开发板使用APDS9960 RGB和手势传感器

    今天大多数手机都带有手势控制功能,可以打开或关闭任何应用程序.启动音乐.拨打电话等.这是一个非常方便的功能,可以节省时间,并且看起来很酷,可以用手势控制任何设备.我们以前使用加速度计来构建手势控制的机 ...

  9. Arduino - RGB全彩LED模块

    听起来挺高大上,就是个LED灯.说是全彩,其实就是三色.各个针脚(RGB)连上电就亮. 先看看长什么样子: RGB三个针,分别接三个数字口,进行控制. 另外一根针,有写"-"的,有 ...

最新文章

  1. linux挂载其他硬盘
  2. java进城杀不死怎么办_linux – 如何杀死永不死的进程?
  3. 信息系统项目管理师:第二三章:信息系统项目管理基础与立项管理
  4. onpropertychange事件
  5. 怎么避免后台被搜索_复星保德信人寿保险有限公司星满意重大疾病保险怎么样?好不好?可信/靠谱吗?有什么优缺点/注意事项?值不值得买?一年多少钱?...
  6. 养鹿专辑二:恋鹿篇之枕着老婆的梦编程
  7. Python学习8 函数 匿名函数 内置函数
  8. 互联网晚报 | 3月29日 星期二 | 豆瓣私密小组将停用;辉瑞口服药深圳小规模临床显示初步疗效...
  9. Linux保护文件实现,Linux完整性保护机制模块实现分析(1)
  10. Redis集群原理详解
  11. java-遍历Json
  12. 汉字编码对照表(gb2312/unicode/utf8)
  13. 卡巴斯基7.0反病毒一年激活码免费领取(官方活动,现已停止)
  14. 网络显示404是怎么回事?
  15. 数据结构与算法Python版-第六周作业
  16. 互金协会:各相关机构即日起就高息现金贷等违规业务开展自查
  17. .nte连接数据库常见问题,Unknown column '张三' in 'where clause'
  18. 第二节 python知识点梳理
  19. java spu sku_SpringBoot电商项目实战 — 商品的SPU/SKU实现
  20. 区块链让公益更透明安心 | FinTechathon 上园村小红果团队

热门文章

  1. 【JOURNAL】deep sadness and sorrow at the unexpected passing of Michael Jackson
  2. java 分页查询语句_Java实现分页查询
  3. js判断div滚动条是否滚动到底部
  4. Cannot negotiate, proposals do not match
  5. 使用VirtualBox安装Ubuntu系统
  6. 掘金是不是对php有意见,富贵教你用PHP爬取掘金文章 | 码农网
  7. 爬取豆瓣电影中:华语、欧美、韩国、日本电影每个标签下按评价排序的全部电影。
  8. 计算机专业留学动机信范文,留学动机信英文范文出国范文模板
  9. 异步实现:回调回调和消息队列
  10. mybatis读取配置文件报错:Could not find resource configuration.xml