时间函数 

delay(ms)    延时函数(单位ms)。   

delayMicroseconds(us)    延时函数(单位 us)。

数学函数 

min(x,y)  求最小值   

max(x,y)  求最大值   

abs(x)   计算绝对值   

map(value,fromLow,fromHigh,toLow,toHigh)    约束函数,value必须在fromLow与toLow之间和fromHigh与toHigh之间[6]。   

pow(base,exponent)  开方函数,base的exponent次方。   

sq(x)     平方   文献综述

sqrt(x)   开根号

4。 总体设计方案

4。1 设计思路

首先就是设备硬件的搭建。然后就是根据硬件来编写它们所需要的程序。

本系统所包含的主要模块有:Arduino pro mini开发板,温度检测与控制模块,湿度检测与控制模块,光强度检测,LCD1602显示模块和电磁阀浇水模块。

4。1。1Arduino pro mini开发板

在应用arduino在自动浇花的场合中, 我们并不需要Arduino UNO 这种功能“太全”的板子,体积太大不说,成本也高,所以选用arduino pro mini,它功能很足,成本低,可以直接永久固定用于某些东西上。对于用惯arduino自带串口转USB板子的同学, arduino pro mini是不带串口转USB的。这时候,我们需要自己买一个USB转串口来实现arduino pro mini 和电脑之间的通讯。

4。1。2系统程序的功能定义

通过光强度传感器对外部环境的检测,当到适合花草生长浇水的温度时,通过土壤湿度传感器对花草土壤的检测实时数值的反馈来判断此时花草是否缺少水分,从而来决定浇水模块是否启动。环境的温度和土壤的湿度实时的在LCD1602显示模块显示出来。

4。1。3系统程序设计的根据

让控制器定时循环采集每一个湿度传感器实时数据和自己所设定的阀值比较,如果其中某个传感器低于我们所设定初值,那么就控制电磁阀打开对其所缺水的花草进行浇水灌溉。

程序代码:

引脚定义:

#define RELAY1 9    //继电器1,当系统处在节能模式时控制其他模块的电源

#define RELAY2 10   //继电器2,控制电磁水阀

#define DHT11_PIN 2 //温湿度检测模块

#define SOIL_HUMIDITY_PIN A1 //土壤湿度检测模块

用户自定义设置:来自~优尔、论文|网www.youerw.com +QQ752018766-

#define CHECK_INTERVAL 9600 //检查土壤湿度间隔的秒数(每3小时检测一次)

#define MAX_SOIL_HUMIDITY 600 //初始土壤的湿度阈值(可根据实际花草情况进行修改,大于这个值就会浇水)

#define WATER_TIME 5 //单次浇水的秒数(控制每次的浇水量,可根据实际情况修改)

#define IS_MINIMUN_POWER false //是否开启节能模式。用于太阳能电池供电的情况

上一篇:平面机械手逆解问题求解算法研究MATLAB仿真
下一篇:基于SIMATICS7-200的小型锅炉控制系统设计+PLC梯形图

STC89C52单片机的温度控制系统设计+电路图

FAST风速观测器的设计与实验验证

CCHP考虑热网特性的综合能源系统的研究

基于状态估计的控制系统...

LQG四分之一汽车悬架系统的主动抗扰控制

MATLAB的GUI倒立摆控制系统设计与实现

基于RS-485的电梯呼梯装置设计+电路图

互联网教育”变革路径研究进展【7972字】

新課改下小學语文洧效阅...

网络语言“XX体”研究

LiMn1-xFexPO4正极材料合成及充放电性能研究

张洁小说《无字》中的女性意识

安康汉江网讯

麦秸秆还田和沼液灌溉对...

我国风险投资的发展现状问题及对策分析

老年2型糖尿病患者运动疗...

ASP.net+sqlserver企业设备管理系统设计与开发