int redPin= 11;
int greenPin = 12;
int bluePin = 13;
int button = 10; // 定义按键位管脚
int button_count = 0; //定义一个变量
void setup()
{
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
pinMode(button,INPUT_PULLUP);
//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, 0, 0); // r
}
if(button_count==2)
{
setColor(0, 255, 0); // g
}
if(button_count==3)
{
setColor(0, 0, 255); // b
}
if(button_count>2)
{
button_count=0;
}
}
arduino 单击控制小灯变色
最新推荐文章于 2024-07-25 15:54:02 发布
这篇文章介绍了如何使用Arduino编程实现基于按钮的RGB灯颜色控制,通过检测按钮输入,改变红、绿、蓝三种颜色的亮度,当连续按下超过两次时,颜色循环切换。
摘要由CSDN通过智能技术生成