int redPin= 9;
int greenPin = 10;
int bluePin = 11;
int button = 2; // 定义按键位管脚
int button_count = 0; //定义一个变量
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(button,OUTPUT);
//pinMode(button,INPUT);
}
void setColor(int red, int green, int blue)
{
analogWrite(redPin, red);
analogWrite(greenPin, green);
analogWrite(bluePin, blue);
}
void loop()
{
if(digitalRead(button)==LOW) //按键扫描 接上拉电阻 输入低电平
{
delay(20);
if(digitalRead(button)==LOW);
{
button_count=button_count+1;
while(digitalRead(button)==LOW);
}
}
if(button_count==1)
{
setColor(255, 255, 0); // 黄色一次
}
if(button_count==2)
{
setColor(0, 255, 255); // 蓝绿一次
}
if(button_count==3)
{
setColor(255, 0, 255); // 紫红一次
}
if(button_count>2)
{
button_count=0; //循环黄色
}
}
预计效果:按一下亮一个颜色,松开熄灭,按一下另一种颜色,松开熄灭,三种不同颜色:黄——蓝绿——紫红循环
这个代码还没实际运行,暂时不清楚有哪块需要改动——21:43 2023/9/13