Arduino学习模拟输出

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;  
    }
   }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值