|
1、实验材料:
ESPDUINO模块1个,土壤湿度计检测模块模块和土壤传感器一套,杜邦线4根;
2、硬件连接:
接线说明(4线制)
1)、 VCC---外接3.3V-5V(本次实验接5V);
2)、GND---外接GND;
3)、DO ----接ESPDUINO的数字量I/O口(0和1);
4)、AO ----接ESPDUINO的模拟量A0口;
3、模块工作原理;
a,通过电位器调节控制相应阀值,湿度低于设定值时,DO输出高电平,高于设定值时,DO输出低电平;模块中蓝色的电位器是用于土壤湿度的阀值调节,顺时针调节,控制的湿度会越大,逆时针越小;
b,数字量输出D0可以与单片机I/O直接相连,通过单片机来检测高低电平,由此来控制LED灯的亮灭等定性地显示土壤湿度状态;c,模拟量输出口AO读出所在湿度的状态值,然后转换为0~1023的数值(由于ESPDUINO电路板的A0口已经被连接上拉电阻,也就是被放大5倍,所以测量的值要乘以5),再转换成百分比数值,通过这样的转换可以定量地获得土壤湿度更精确的数值;
4、产品介绍:
a,土壤湿土壤湿度传感器模块 自动浇水浇花系统 采用优质土壤传感器做土壤湿度的检测,表面采用镀镍处理,有加宽的感应面积,可以提高导电性能,防止接触土壤容易生锈的问题,延长使用寿命;
b,产品可以宽范围控制土壤的湿度,通过电位器调节控制相应阀值,湿度低于设定值时,DO输出高电平,高于设定值时,DO输出低电平;
c,比较器采用LM393芯片,工作稳定;
d,工作电压3.3V-5V;
e,设有固定螺栓孔,方便安装;
d,PCB尺寸:3.2cm * 1.4m;
5、示例代码:
- #include<Ticker.h>
- Ticker timer;
- #define hum 4
- #define LED 16
- #define mol A0
- int val=1;
- int mo=0;
- void tick_humidity_control()
- {
- val=digitalRead(hum);
- mo=(analogRead(mol))*5;
- mo=map(mo, 0, 1023*5, 100, 0);
- }
- void setup()
- {
- Serial.begin(9600);
- pinMode(hum, INPUT);
- pinMode(LED, OUTPUT);
- digitalWrite(LED, LOW);
- timer.attach(0.1, tick_humidity_control);
- }
- void loop()
- {
- if(val==0)
- {
- digitalWrite(LED, LOW);
- Serial.print("soi_moisture: ");
- Serial.print(mo);
- Serial.println(" %");
- }
- else
- {
- digitalWrite(LED, HIGH);
- Serial.print("soi_moisture: ");
- Serial.print(mo);
- Serial.println(" %");
- }
- delay(500);
- }
复制代码 6、实物连接与实验效果图:
|
|