#define WATERPUMP 13 //水泵连接到13号针脚
#define SENSOR 8 //土壤传感器数字引脚连接到8号引脚
#define LDR A0//与光相关的电阻连接在A0上
#define PORTNUMBER 9600 //打开串口,设置数据速率为9600 bps
void setup()
{
Serial.begin(PORTNUMBER);
pinMode(WATERPUMP,OUTPUT); //设置13号针脚为OUTPUT针脚
pinMode(SENSOR,INPUT); //设置8号针脚为输入针脚,以接收土壤湿度传感器的数据。
pinMode(LDR,INPUT);
digitalWrite(WATERPUMP,LOW);//水泵一开始就应该关闭
}
void loop()
{
int val = digitalRead(SENSOR); //将从土壤湿度传感器收到的数值存储在变量val中。
int LDRValue=analogRead(LDR);//将从LDR收到的值存入变量LDRValue中。
if(LDRValue <= 400)
{
// 如果天黑了,那么不管水分是低还是高,泵都不应该关闭
Serial.print("天黑了,所以泵会关闭。 LDR值是:");
Serial.println(LDRValue);//打印LDR值
digitalWrite(WATERPUMP,HIGH);//泵将关闭
return;
}
if( val == HIGH)
{
Serial.print("天不黑,水分高,所以泵应该打开,LDR值是:");
Serial.println(LDRValue);//打印LDR值
Serial.print("/n moisture value is: ");
Serial.println(val);//打印土壤湿度传感器值
digitalWrite(WATERPUMP,LOW); //水泵开始工作
}
else
{
Serial.print("天没黑,湿度低,所以泵会关闭,LDR值是:");
Serial.println(LDRValue);//打印LDR值
digitalWrite(WATERPUMP,HIGH);//水泵将启动。
}
delay(400); //等待几秒钟,然后继续循环。
}