美文网首页
按键三档控制

按键三档控制

作者: 招风小妖怪 | 来源:发表于2019-11-28 18:36 被阅读0次

    程序

    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);//等待按键松开
        }
      }
    
    
    }
    

    相关文章

      网友评论

          本文标题:按键三档控制

          本文链接:https://www.haomeiwen.com/subject/gwxiwctx.html