Ardunio控制RGB的LED灯显示彩虹渐变色.
由于我使用的是共阴极的RGB LED,如果你的是共阳极的,接线的时候要注意一下.
其他没什么不同
//定义RGB色彩的输出I/O
int redPin = ;
int greenPin = ;
int bluePin = ; //标记颜色变化的方式,增加值还是减小值
bool redBool =false;
bool greenBool=true;
bool blueBool=false;
//颜色值,初始化为0,127,255
int redVal =;
int greenVal=;
int blueVal=; void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
} /**
* 改变颜色的增减顺序
*/
void changeStatus()
{
if (redVal==)
{
redBool=true;
}
else if (redVal==)
{
redBool=false;
} if (greenVal==)
{
greenBool=true;
}
else if (greenVal==)
{
greenBool=false;
} if (blueVal==)
{
blueBool=true;
}
else if (blueVal==)
{
blueBool=false;
}
} /**
* 改变颜色的变化量,增加还是减少
*/
void changeColorVal()
{
if (redBool)
{
redVal++;
}
else
{
redVal--;
}
if (greenBool)
{
greenVal++;
}
else
{
greenVal--;
}
if (blueBool)
{
blueVal++;
}
else
{
blueVal--;
}
}
/**
* 设置led灯颜色
*/
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
void loop()
{
//更新颜色变化状态
changeStatus();
//更新颜色值
changeColorVal();
//设置颜色
setColor(redVal, greenVal, blueVal);
delay();
}
Ardunio控制RGB的LED灯显示彩虹渐变色.的更多相关文章
- 树莓派GPIO控制RGB彩色LED灯
树莓派GPIO通过PWM来控制RGB彩色LED灯,可以显示任何我们想要的颜色. RGB模块简介 这个RGB彩色LED里其实有3个灯,分别是红灯.绿灯和蓝灯.控制这三个灯分别发出不同强度的光,混合起来就 ...
- nodejs和树莓派开发以及点亮RGB的LED灯代码
前段时间集团举行前端IOT比赛,借此机会熟悉了树莓派相关的东西,特此记录一些相关的文档和开发指南. 先介绍一些树莓派的入门教程 阮一峰的树莓派入门 微雪电子-树莓派硬件中文官网 ssh链接树莓派 ss ...
- STM32 用c语言控制4个LED灯从左向右无限流动
在用c语言写LED流水灯的前提条件是配置好其他环境,这里我就不说环境了, 想让LED灯无限循环时,首先要想到的是无限循环函数,我这里利用的是for函数 无限循环. #include "stm ...
- 定时器控制单只LED灯
点击查看代码 #include <reg51.h> #define uchar unsigned char #define uint unsigned int sbit LED=P0^0; ...
- 电位器控制两个 LED 灯交替闪烁
电路图: 布局:
- 单片机远程控制步进电机、LED灯和蜂鸣器
通过採用C#语言实现的上位机控制单片机的步进电机模块.LED灯和蜂鸣器模块,使步进电机进行正.反转和停止并控制转速:LED灯模块进行有选择的呼吸式表达:蜂鸣器模块的開始和终止. 上位机通过串口和自己定 ...
- [51单片机] nRF24L01 无线模块 串口法命令 通过无线控制另一个的灯
>_<!概述: 这是在上一个的基础上通过按键发送4种不同命令来控制接收端的LED灯亮的改进版(上一个:http://www.cnblogs.com/zjutlitao/p/3840013. ...
- 74HC595点亮8个LED灯
一.原理介绍 595有两个寄存器,都是8位的,如下所示: 595是串入并出带有锁存功能移位寄存器,它的使用方法简单: - - 在正常使用时 /SCLR接高电平,/G接低电平. - - 从SER每输 ...
- 创客系列教程——认识LED灯
认识LED灯 一.初识LED灯 LED灯是一种能够将电能转化为可见光的固态的半导体器件,它可以直接把电转化为光.LED灯逐步融入到生活中的方方面面:室内外的照明.电子指示牌.酷炫的舞台灯光.车辆的 ...
随机推荐
- 精度更高的double类型计算工具类(借助BigDecimal类型)
/** * 提供精確的加法運算 * @param args */ public static double add(double v1, double v2) { BigDecimal b1 = ne ...
- [九省联考 2018]秘密袭击coat
Description 题库链接 给出一棵 \(n\) 个点的树,每个点有点权.求所有联通块的权值 \(k\) 大和,对 \(64123\) 取模. \(1\leq n,k\leq 1666\) So ...
- C# 从Excel 批量导入数据库
最近遇到了关于 C# MVC 批量添加数据的问题,解决后就自己写了一个未完成的小Demo 不管什么编程语言都会提供操作Excel文件的方式,C#操作Excel主要有以下几种方式: 1.Excel 说 ...
- Java中泛型通配符的一点概念
以List<T>为例,通常如果我们想在List中存储某种类型的数据,我们会用下面的语法进行声明和使用: List<String> allMsg = new ArrayList& ...
- xmpp实现的即时通讯聊天(一)
参考网址:http://www.jianshu.com/p/b401ad6ba1a7 http://www.jianshu.com/p/4edbae55a07f 一.mysql和openfire环境的 ...
- 7行代码看EntityFramework是如何运行
这段时间在项目中运用Entity Framework作为底层数据交互框架.一个字,爽.不仅提高了开发效率,省了很多代码,而且数据库也规范了很多.按照网上的一些教程初步学习,然后实际运用了,再结合MVC ...
- zoj Calculate the Function
Calculate the Function Time Limit: 2 Seconds Memory Limit: 65536 KB You are given a list of num ...
- importnew:Map大家族的那点事儿
Map大家族的那点事儿(1) :Map Map大家族的那点事儿(2) :AbstractMap Map大家族的那点事儿(3) :TreeMap Map大家族的那点事儿(4) :HashMap Map ...
- iReport(模版) 与Jasper(数据填充)生成pdf文档
报表模板生成软件:iReport . 润乾.水晶. 一.Jaspersoft iReport Desiginer 5.60 的使用 1.软件jar包的下载地址与配置 百度云盘下载链接:https:// ...
- Mac下 KGDB连接Linux
kgdb按照资料说可以使用网络(kgdboe)和串口连接(kgdboc)等方式连接. 这里使用后者,资料比较多,下面是自己在Mac上进行配置连接的过程. 先说一下环境: 主机:Mac OSX 10.1 ...