ESP32-土壤湿度传感器


土壤湿度传感器介绍

土壤传感器电路板
土壤传感器电极

提示:土壤湿度传感器,有很多种,我这里用的是电阻式土壤湿度传感器。其原理是,把传感器插入土壤中,不同湿度的土壤的电阻值不一样,通过检测两根电极之间的电流,来分析土壤的湿度。由于不同的土壤的成份不一样。电阻也就不一样,在使用这类传感器前要一定做标定。


一、连接传感器引脚

示例:土壤湿度传感器有5根引脚,名称与功能如下;
vcc 为外接供电电源输入端
GND 地线
DO 数字信号,连接ESP32的33引脚
AO 模拟信号,连接ESP35的33引脚

二、使用步骤

传感器有两种数据输出,一种是数字信号DO,另一是模拟信号AO。模拟信号需要连接到ADC引脚,用ADC库对模拟信号进行转换。

1.创建代码

代码如下(示例):

import time
from machine import Pin, ADC # 模数转换库


# 数字信号
p_in = Pin(33, Pin.IN)#, Pin.PULL_UP)


# soil_sensor 土壤传感器
# 模拟信号
adc = ADC(Pin(35))


def getMoisDo():
    p_in_value = p_in.value()
    return p_in_value
    
def getMoisAo():
    #标定湿土壤实测最少值3100,空气中值4100return adc.read()
      
if __name__ == '__main__':
    while True:
        #print('DO数字信号 value:%s'% getMoisDo())
        print('AO模拟信号 value:%s'% getMoisAo())
        print('相对湿度值:',((4100-getMoisAo())/10),'%')
        time.sleep(1)
        break

2.保存运行

运行结果如下(示例):

>>> %Run -c $EDITOR_CONTENT
AO模拟信号 value:4095
相对湿度值: 0.5 %

总结

提示:这个传感器让我跳坑,很久才爬出来。
注意不同的标定,结果会不同,使用前一种要做标定。
模拟信号一定要连接到ADC引脚

  • 4
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值