首页 > 分享 > 基于arduino的土壤湿度检测以及水泵浇水(包含proteus仿真)

基于arduino的土壤湿度检测以及水泵浇水(包含proteus仿真)

最新推荐文章于 2024-10-12 19:44:06 发布

我怎会不珍惜你 于 2022-04-28 10:31:05 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

proteus中没有arduino中土壤传感器所需的继电器以及四线制模块,因此我从其他地方找到原理图

上图便是四线制模块的原理图,其中的SOIL SIMULATED RESISTANCE为土壤的模拟电阻,及两脚式土壤湿度检测器的接入端,变阻器用来调节灵敏度

上图为水泵系统,jqc3ff继电器的原理图,RL4为普通的继电器,开关转换的电压阈值可调。

若13处输入高电平,经三极管后与VCC形成电势差,最终吸附开关使电机断开,因此为低通。

总电路图

 另外,arduino开发板需要二进制代码:

#include <Servo.h>

int sensorpin = 4; //传感器引脚 有水为0;无水为1

float pumpin = 13; //水泵引脚 低电平触发 digitalWrite(8,LOW);

int var;

int var2;

int var3;

int sensorpin2 = A0;

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 > 300)

{

Serial.print(var);

Serial.println("缺水状态!");

digitalWrite(pumpin, LOW); //水泵打开

Serial.println("水泵状态-打开");

delay(5000);//浇水的时间是10秒   

digitalWrite(pumpin, HIGH); //水泵关闭

Serial.println("水泵-关闭");

}

else

{

digitalWrite(pumpin, HIGH);

Serial.print(var);

Serial.println("不缺水状态!");

Serial.println("水泵-关闭");

}

delay(10000);//十秒钟扫描一次;

Serial.flush();

//delay(36000000);//10小时扫描一次 

while(Serial.available() > 0)

Serial.read();

}

代码块是从别处搬来的稍微改动了一下,代码块还是需要用arduino IDE来编译,最终导出二进制文件,双击proteus的arduino UNO可以看到添加二进制文件的地方(.hex)

感谢观看!!!

相关知识

基于STM32的土壤湿度检测自动浇水系统proteus仿真设计(仿真+程序+设计报告+讲解视频)
Arduino与水泵实验+土壤湿度传感器
51单片机的花卉、农田自动浇水灌溉系统开发,Proteus仿真,原理图和C代码
基于单片机智能花卉灌溉浇花浇水检测系统设计
基于Arduino的自动浇灌系统
基于Arduino微控制器的自动植物浇水系统设计
Arduino 自动浇花系统的控制原理
基于单片机的智能自动浇花浇水控制系统设计
一种基于Arduino的智能浇花系统的制作方法
基于单片机士壤湿度检测及自动浇花系统

网址: 基于arduino的土壤湿度检测以及水泵浇水(包含proteus仿真) https://m.huajiangbk.com/newsview514212.html

所属分类:花卉
上一篇: 如何将土壤湿度传感器与Ardui
下一篇: 兰花按生态习性分,可分为地生兰、