参考思路:
本方案为土壤干湿度检测自动浇花系统,启动系统时设定土壤水分为0,即土壤最干时候为250个单位。当将土壤传感器插入泥土(可以拿个纸杯装点),数值下降,例如显示0125,即目前土壤干燥度为125个单位,总共250,也可以算出土壤湿度在50%左右。如果往里面浇水,数值会下降,因为干燥度降低 ,相反的湿度增大。数码管显示为干燥度。
如果目前数码管显示0125,你可以手动设置自动浇花启动的数值为0130,当土壤越来越干,数值到达0130单位时,继电器启动(可外接水泵),红灯亮。
#define uint unsigned int #define uchar unsigned char #define Data_ADC0809 P1 //管脚声明 sbit Feng = P3^0; //ADC0809 sbit ST=P3^3; sbit EOC=P3^4; sbit OE=P3^2; //按键 sbit Key1=P3^5; sbit Key2=P3^6; sbit Key3=P3^7; //显示数组 0-9+F uchar Data_[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x71,0x3f}; sbit Wei1 = P2^7; sbit Wei2 = P2^6; sbit Wei3 = P2^5; sbit Wei4 = P2^4; //函数声明 extern uchar ADC0809(); void Display(uchar X,uchar Data); void delay(uint t); //酒精含量变量 uchar temp=0; //蜂鸣器变量 uchar FF=125; //显示模式 uchar Mode=0; uchar p; void main() { while(1) { //正常模式 if(Mode==0)
实物效果:
模块构成:
【资源下载】下载地址:点击下载(754) 百度网盘