//#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);
}