1 水泵实验
我们这里是使用的继电器控制的水泵,注意再实验的时候电池的电压不要超过6v,太大容易烧毁水泵,如果是长时间的使用水泵,要注意将水泵放入水中,这样可以达到给水泵降温的效果。
1、全新5V继电器模块
2、可以用作单片机开发板模块,可以用作 家电控制
3、TTL控制信号
4、控制直流或者交流信号,可以控制220V交流负载。
5、有一个常开和一个常闭触点
6、有电源指示灯
7、有控制指示灯,吸合亮,断开不亮
8、三极管驱动增加继电器线圈,控制脚高阻抗。
9、控制脚有下拉电路,防止悬空继电器误动作
继电器属于数字信号模块,我们通过继电器数字信号使继电器开合来控制水泵。我们使用Arduino 控制器的数字接口13,输出高电平延时1 秒后,输出低电平1 秒,即为开关断开一秒再接通一秒。
参考源程序:
int RelayPin=13;
void setup() {
// put your setup code here, to run once:
pinMode(13,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
delay(1000);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2 土壤湿度传感器
土壤湿度传感器用于土壤的湿度检测。可通过电位器调节土壤湿度的阀值,顺时针调节,控制的湿度会越大,逆时针越小;湿度低于设定值时,DO输出高电平,模块提示灯亮;湿度高于设定值时,DO输出低电平,模块提示灯灭。工作电压3.3V-5V。3V时,在空气中AO读取的值最大为695,浸泡在水里的 最小值245;5V时,在空气中AO读取的值最大为1023,浸泡在水里的最小值245。
接线:VCC接 Arduino 3.3V或5V,GND接Arduino GND,AO接ArduinoAnalog。
DO接Arduino Digital 4
代码:
#define PIN_AO 2
#define PIN_DO 4
void setup() {
pinMode(PIN_AO, INPUT);
pinMode(PIN_DO, INPUT);
Serial.begin(9600);
}
void loop() {
Serial.print("AO=");
Serial.print(analogRead(PIN_AO));
Serial.print(", DO=");
Serial.println(digitalRead(PIN_DO));
delay(2000);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
3 自动浇花(土壤湿度传感器+水泵)
代码:
#include <Servo.h>
int sensorpin = 4;//传感器引脚 有水为0;无水为1
float pumpin = 13;//水泵引脚 低电平触发 digitalWrite(8,LOW);
int var;
int var2;
int var3;
int sensorpin2 = A2;
void setup() {
Serial.begin(9600);
pinMode(sensorpin,INPUT);
pinMode(sensorpin2,INPUT);
pinMode(pumpin,OUTPUT);
digitalWrite(pumpin,HIGH);//水泵关闭
}
void loop() {
var = digitalRead(sensorpin);
var2=digitalRead(pumpin);
var3=analogRead(sensorpin2);
Serial.print("var3:");
Serial.println(var3);
//如果传感器检测值为1表示没水;0表示有水
if(var==1&&var3>600)
{
Serial.print(var);
Serial.println("缺水状态!");
digitalWrite(pumpin,LOW);//水泵打开
Serial.println("水泵状态-打开");
delay(1000);//浇水的时间是10秒
digitalWrite(pumpin,HIGH);//水泵关闭
Serial.println("水泵-关闭");
}
else
{
digitalWrite(pumpin,HIGH);//水泵关闭
Serial.print(var);
Serial.println("不缺水状态!");
Serial.println("水泵-关闭");
}
delay(1000);//十秒钟扫描一次;
//delay(36000000);//10小时扫描一次
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
---------------------