博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Arduino与水泵实验+土壤湿度传感器
阅读量:5037 次
发布时间:2019-06-12

本文共 2294 字,大约阅读时间需要 7 分钟。

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

---------------------

转载于:https://www.cnblogs.com/ly570/p/11102739.html

你可能感兴趣的文章
索尼(SONY) SVE1512S7C 把WIN8降成WIN7图文教程
查看>>
时间模块 && time datetime
查看>>
jquery自动生成二维码
查看>>
spring回滚数据
查看>>
新浪分享API应用的开发
查看>>
美国专利
查看>>
【JavaScript】Write和Writeln的区别
查看>>
百度编辑器图片在线流量返回url改动
查看>>
我对你的期望有点过了
查看>>
微信小程序wx:key以及wx:key=" *this"详解:
查看>>
下拉框比较符
查看>>
2.2.5 因子的使用
查看>>
css选择器
查看>>
photoplus
查看>>
Python 拓展之推导式
查看>>
[Leetcode] DP-- 474. Ones and Zeroes
查看>>
80X86寄存器详解<转载>
查看>>
c# aop讲解
查看>>
iterable与iterator
查看>>
返回顶部(动画)
查看>>