电路连接如图所示:
![](https://img-blog.csdnimg.cn/21a4e578280f4185bb769f4035f36ac8.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5p-Q56eR5a2m55qE5Yid5a2m6ICF,size_20,color_FFFFFF,t_70,g_se,x_16)
源代码如下:
int i;//i循环
int led=6;//led接口6
int potpin=0;//电位器接口0
int val=0;//暂存变量
int inpin=7;//接口7
int val3;//暂存变量
int R=11;//R接口11
int G=10;//G接口10
int B=9;//B接口9
void setup()
{
pinMode(led, OUTPUT);//output led
Serial.begin(9600);//波特率9600
pinMode(inpin,INPUT);//按键接口为输入接口
pinMode(R, OUTPUT);//output R
pinMode(G, OUTPUT);//output G
pinMode(B, OUTPUT);//output B
}
void loop()
{
val3=digitalRead(inpin);//赋值
//检测按键是否按下
if(val3==LOW)
{
digitalWrite(led,LOW);
//循环语句,控制PWM亮度增加
for (i=0; i<=255; i++)
{
analogWrite(led,i);
delay(5); //持续5ms
}
//循环语句,控制PWM亮度减小
for (i=255; i>=0; i--)
{
analogWrite(led,i);
delay(5); //持续5ms
}
delay(500); //延迟500ms
val=analogRead(potpin);//赋值
Serial.println(val);//显示
analogWrite(R,val);//打开RGB并设置亮度
analogWrite(G,val);//打开RGB并设置亮度
analogWrite(B,val);//打开RGB并设置亮度
if (val>=0&&val<300)
{
analogWrite(R,255);
analogWrite(B,0);
analogWrite (G,0);
}
else if (val>=300&&val<700)
{
analogWrite(R,0);
analogWrite(B,0);
analogWrite(G,255);
}
else
{
analogWrite(R,0) ;
analogWrite (B,255) ;
analogWrite(G,0) ;
}
delay(10);//延迟10ms
}
else
{
digitalWrite(led,HIGH);
}
}