程序
int buttonPin = 0; // 按键的管脚定义
int lightPin = 12; // 大灯
int lightMode=0;
//初始化
void setup() {
pinMode(lightPin, OUTPUT); //设置LED管脚输出模式
pinMode(buttonPin, INPUT_PULLUP); //设置按键管脚上拉输入模式
}
//按键修改亮度
void exchangeLightModel()
{
lightMode++;//改变模式
if(lightMode==4)
{
lightMode=0;
}
if(lightMode==0)//模式0,关闭灯
{
analogWrite(lightPin, 0);
}
else if(lightMode==1)//模式1,一档亮度
{
analogWrite(lightPin, 300);
}
else if(lightMode==2)//模式2,二档亮度
{
analogWrite(lightPin, 600);
}
else if(lightMode==3)//模式3,三档亮度
{
analogWrite(lightPin, 1023);
}
}
void loop() {
//如果按键按下
if (digitalRead(buttonPin) == LOW) { // 若按键被按下
delay(100);//延时消抖//
if (digitalRead(buttonPin) == LOW) { // 若按键被按下
exchangeLightModel();
while(digitalRead(buttonPin) == LOW);//等待按键松开
}
}
}
网友评论