1.实现效果,通过两个按键可以控制led变亮或者变暗
boolean pushButton1;//定义布尔型变量存储按键1的状态
boolean pushButton2;//定义布尔型变量存储按键2的状态
int ledPin=9;//LED引脚号
int brightness=128;//LED亮度参数
void setup()
{
pinMode(2,INPUT_PULLUP);//2脚设置为上拉模式
pinMode(8,INPUT_PULLUP);//8脚设置为上拉模式
pinMode(ledPin,OUTPUT);//LED脚,即9脚设置为输出模式
Serial.begin(9600);//启动串口,波特率设置为9600
}
void loop()
{
pushButton1=digitalRead(2);//读取2脚电平状态,并赋值给布尔变量pushButton1
pushButton2=digitalRead(8);//读取8脚电平状态,并赋值给布尔变量pushButton2
if(!pushButton1 && brightness>0)//当按键1按下,且LED亮度大于0
{
brightness--; //降低LED亮度参数
}
else if(!pushButton2 && brightness<255)//当按键2按下,且LED亮度小于255
{
brightness++; //增加LED亮度参数
}
analogWrite(ledPin,brightness); //模拟输出控制LED亮度
Serial.println(brightness); //将亮度参数显示在串口上
delay(10);
}
2.用for循环语句和if……if else实现呼吸灯的效果
int ledPin=9;//LED引脚号
void setup()
{
pinMode(ledPin,OUTPUT);//LED脚,即9脚设置为输出模式
Serial.begin(9600);//启动串口,波特率设置为9600
}
void loop()
{
for(int ligth=0;ligth<=255;ligth++)
{
analogWrite(9,ligth);
Serial.println(ligth); //将亮度参数显示在串口上
delay(10);
}
for(int ligth=255;ligth>=0;ligth--)
{
analogWrite(ledPin,ligth); //9脚输出电压值
Serial.println(ligth); //将亮度参数显示在串口上
delay(10);
}
}
int ledPin=9;//LED引脚号
int dir=1;
int ligth=0;
void setup()
{
pinMode(ledPin,OUTPUT);//LED脚,即9脚设置为输出模式
Serial.begin(9600);//启动串口,波特率设置为9600
}
void loop()
{
if(dir==1)
{
Serial.println(ligth); //将亮度参数显示在串口上
delay(10);
ligth++;
if(ligth==255)
{
dir=0;
}
}
else if(dir==0)
{
Serial.println(ligth); //将亮度参数显示在串口上
delay(10);
ligth--;
if(ligth==0)
{
dir=1;
}
}
}