本电路设计模块可以宽范围控制土壤的湿度。自动对菜园,花园自动浇水
通过电位器调节控制相应阀值,湿度低于设定值时,DO输出高电平,高于设定值时,DO输出低电平。
测试程序:
- /******************************************
- 传感器触发测试
- 单片机:STC89C52
- 波特率:9600
- *****************************************/
- #include <reg52.h>
- unsigned char date;
- #define uchar unsigned char
- #define uint unsigned int
- sbit key1=P0^1;
- /* 函数申明 -----------------------------------------------*/
- void delay(uint z);
- void Initial_com(void);
- //***********************************************************
- /*
- ********************************************************************************
- ** 函数名称 : delay(uint z)
- ** 函数功能 : 延时函数
- ********************************************************************************
- */
- void delay(uint z)
- {
- uint i,j;
- for(i=z;i>0;i--)
- for(j=110;j>0;j--);
- }
- //******************************
- //*****串口初始化函数***********
- //******************************
- void Initial_com(void)
- {
- EA=1; //开总中断
- ES=1; //允许串口中断
- ET1=1; //允许定时器T1的中断
- TMOD=0x20; //定时器T1,在方式2中断产生波特率
- PCON=0x00; //SMOD=0
- SCON=0x50; // 方式1 由定时器控制
- TH1=0xfd; //波特率设置为9600
- TL1=0xfd;
- TR1=1; //开定时器T1运行控制位
- }
- //*************************
- //**********主函数*********
- //*************************
- main()
- {
- Initial_com();
- while(1)
- {
-
- if(key1==0)
- {
- delay(); //消抖动
- if(key1==0) //确认触发
- {
- SBUF=0X01;
- delay(200);
-
-
- }
-
- }
-
- if(RI)
- {
- date=SBUF; //单片机接受
- SBUF=date; //单片机发送
- RI=0;
- }
-
-
- }
- }
复制代码
功能介绍:
1.传感器适用于土壤的湿度检测
2.比较器采用LM393芯片,工作性能稳定
3.工作电压3.3V-5V
4.模块中蓝色的电位器是用于土壤湿度的阀值调节,顺时针调节,控制的湿度会越大,逆时针越小;
5.数字量输出D0可以与单片机直接相连,通过单片机来检测高低电平,由此来检测土壤湿度;
6.小板模拟量输出AO可以和AD模块相连,通过AD转换,可以获得土壤湿度更精确的数值;
应用领域:
可以自动对菜园,花园自动浇水,家庭花盆土壤湿度的控制,应用电子比赛,电子积木,arduino 设计等
上面这个代码下载(只是简单的对这个模块进行测试而已,无其他功能,就是网页上我发的代码,如果你会复制到Keil里面去就不必下载了):
土壤传感器模块(4线制).zip
(267.79 KB, 下载次数: 140)
|