一、所需器件:
(1)Arduino UNO开发板 1块;
(2)面包板 1块;
(3)蓝牙模块BT008 1个;
(4)土壤湿度传感器 1个;
(5)继电器 1个;
(6)卧式水泵 1个;
(7)杜邦线若干;
二、硬件连接:
(1)蓝牙模块:连接5V电压、接地、蓝牙的RXD与Arduino的TXD连接、蓝牙的TXD与Arduino的RXD连接;
(2)土壤湿度传感器(4接口):VCC接5V电压、GND接地、DO接数字接口2、AO接模拟接口A1;
(3)继电器:VCC接5V电压、GND接地、IN接数字接口12,公共端接5V电压;
(4)卧式水泵:红接继电器常闭口,黑接地。
三、代码:
1、全部代码:
int T;
void setup() {
pinMode(A1,INPUT);
digitalWrite(2,HIGH);
Serial.begin(9600);
pinMode(12,OUTPUT);
digitalWrite(12,LOW);
}
void loop() {
T=analogRead(A1);
Serial.println("此时的土壤湿度为:");
Serial.println(T);
if(T>=700){
digitalWrite(12,HIGH);
Serial.println("开");
}
else {
digitalWrite(12,LOW);
Serial.println("关");
}
delay(5000);
}
2、土壤传感器:
int T;
void setup() {
pinMode(A1,INPUT); //模拟接口A1类型设置为输入
digitalWrite(2,HIGH); //数字接口2设置为高电平
Serial.begin(9600); //波特率设置为9600
}
void loop() {
T=analogRead(A1);
Serial.println("此时的土壤湿度为:");
Serial.println(T);
delay(5000); //每隔5s检测土壤湿度,并打印
}
3、卧式水泵:
void setup() {
Serial.begin(9600);
pinMode(12,OUTPUT);
digitalWrite(12,LOW); //波特率为9600,数字接口12为输出模式,且初始化为低电平
}
void loop() {
if(T>=700){
digitalWrite(12,HIGH);
Serial.println("开");
}
else {
digitalWrite(12,LOW);
Serial.println("关");
}
delay(5000); //每隔5s判定是否工作,若土壤湿度低(>700)工作;反之、为低电平。
}
四、成品图
五、参考文章
https://blog.csdn.net/lu_embedded/article/details/103396014 Arduino实验——DHT11读取温湿度
https://blog.csdn.net/Blackoutdragon/article/details/125911480 Ardunio开发——水泵操作过程
https://blog.csdn.net/LYXlyxll/article/details/124665053 Arduino 操作BT008蓝牙串口模块