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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Naiva

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值