首页 理论教育 Arduino单片机自动灌溉系统规范

Arduino单片机自动灌溉系统规范

时间:2023-10-23 理论教育 版权反馈
【摘要】:使用Arduino的analogRead函数读取土壤湿度,并将其存储在soilMoistureValue中。你可以使用以下代码读取该值:将上述代码上传到Arduino并打开串行监视器。现在将该值替换为490。这些值将正确校准传感器以获得更好的结果。在“if条件”的帮助下,写入第一个条件,如果水分百分比低于10,则Arduino将把针脚3转到低位,水泵将开启,Arduino将在串行监视器中打印泵开启信息。图5-8传感器数据转换当含水率超过80%时,Arduino将关闭水泵并在串行监视器上显示“泵关闭”。

Arduino单片机自动灌溉系统规范

对于这个项目,我们没有使用任何库,我们只是使用编程的基本函数。代码非常简单,易于使用。代码解释如下。

我们从定义所有需要的整数开始,这里我使用了两个整数来存储土壤湿度和转换的湿度百分比

int soilMoistureValue=0;

int percentage=0;

现在,我们定义引脚模式,这里我使用引脚3作为输出,在下一行中,我初始化了串行监视器进行调试。

通过读取土壤湿度开始循环部分。使用Arduino的analogRead函数读取土壤湿度,并将其存储在soilMoistureValue中。该值在0到1023之间变化。

void loop(){

soilMoistureValue=analogRead(A0);

在下一行中,已经将传感器值从0~100%转换为我们在Arduino上使用的map函数。这意味着,如果土壤极度干燥,则输出水分百分比为0%,如果土壤极度湿润,则水分百分比为100%。

percentage=map(soilMoistureValue,490,1023,0,100);

Serial.println(percentage);

校准湿度传感器:(www.xing528.com)

在map函数中,我们需要指定干值和湿值。为此,我们需要监控这些值。你可以使用以下代码读取该值:

将上述代码上传到Arduino并打开串行监视器。然后将土壤湿度传感器放在干燥的土壤中,或将传感器放在空气中读取数值。现在将该值替换为490(map函数的第二项)。

如图5-7所示,下一步是将传感器放置在湿土中或将其浸入水中,读取值并指定该值代替1023(map函数的第三项)。这些值将正确校准传感器以获得更好的结果。

图5-7 校准传感器数据

如图5-8所示,转换数值后,我们可以根据土壤湿度百分比控制水泵。在“if条件”的帮助下,写入第一个条件,如果水分百分比低于10,则Arduino将把针脚3转到低位,水泵将开启(我们的继电器模块使用激活的低位信号触发),Arduino将在串行监视器中打印泵开启信息。

图5-8 传感器数据转换

当含水率超过80%(表明土壤水分充足)时,Arduino将关闭水泵并在串行监视器上显示“泵关闭(pump off)”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈