Arduino 项目笔记 | 升降减速带


//#include <Servo.h>
//Servo myservo; 
//int potpin = 0;

int val ;   
int WaterPin = 3;//雨水传感器
int LED_Pin = 5;//LED灯
int Switch = 6;//继电器引脚 继电器输出端 :COM - VCC;NC - 电磁阀;NO - 悬空
boolean  flag = true;

void blink_LED();
void setup() {
    
    
  Serial.begin(9600);
//  myservo.attach(6); //servo pin 9
//  myservo.write(90);  //角度为90度

  pinMode(WaterPin,INPUT);
  pinMode(LED_Pin,OUTPUT);
  pinMode(Switch,OUTPUT);
  digitalWrite(LED_Pin,LOW);
  digitalWrite(Switch,HIGH);
}

void loop() {
    
    
  val = digitalRead(WaterPin);
  Serial.print("WaterPin:");
  Serial.println(val);

  if(val == LOW && flag == true)
 {
    
       // myservo.write(3); 
      //雨天,电磁阀接常闭COM-NC,继电器LOW触发,所以电磁阀断开,回到原始状态,上顶加速带。
      digitalWrite(Switch,LOW); //  继电器低电平触发,COM-NO常开接通,电磁阀不工作,减速带上升。
                   
      delay(200);         
      while(1)
      {
    
     blink_LED();        
        if(digitalRead(WaterPin)==HIGH)
        {
    
    
          digitalWrite(LED_Pin,LOW);
          //digitalWrite(Switch,HIGH);  //  晴天,COM-NO断开,电磁阀接常闭COM-NC,所以电磁阀接通,电磁阀下缩。
          break;
        }
       }

       flag = false;
    }
    if(val == HIGH && flag == false)
    {
    
      
        digitalWrite(Switch,HIGH);  //  晴天,COM-NO断开,电磁阀接常闭COM-NC,所以电磁阀接通,电磁阀下缩。
//      myservo.write(90); 
        flag = true;
      }
      delay(10);               
}

void blink_LED()
{
    
    
    digitalWrite(LED_Pin,LOW);
    delay(200);
    digitalWrite(LED_Pin,HIGH);
    delay(200);  
}


猜你喜欢

转载自blog.csdn.net/Naiva/article/details/108736912