在发布的第一篇文章使用RGB共阳极LED,基于Arduino实现七彩渐变_默以思的博客-优快云博客_arduino rgb灯渐变
中,讲解了可以连续变换的RGB灯光效果,实际上,从试着使LED间断变换颜色到连续渐变,最终还是想能够使用一个按键就得到想要的颜色。
也在网络上查找到其他的作品,使用三个按键分别控制一个颜色的电平,可以在按下时使相应电平在0~255~0之间连续变换,但是想要调出想要的颜色仍旧比较麻烦,对我来说难度不亚于水彩调色,需要多次实验才能得到想要的颜色。
那么在RGB渐变的过程中按下按键使得“中断”在某一个颜色相对而言应该是一个更方便简单的方案。以下为在第一篇文章基础上改进的可以随时停止在任意颜色的程序:
int Rpin=D5,Gpin=D6,Bpin=D7;
float R,G,B;
int T;
#define buttonPin D3
bool pinState;
void analogwrite(){
analogWrite(Rpin,R);
analogWrite(Gpin,G);
analogWrite(Bpin,B);
delay(100);
pinState = digitalRead(buttonPin);//检测引脚电平
if(pinState == LOW) //按下按键
{
for(int DELAY=50;DELAY&g