(AD001)土壤湿度
提示
以下仅提供了必要的关键信息,如果不知道怎么使用,请参考 (AD000)紫外线S12D(范例) 即可,整个操作十分简单。
一、LoRa节点上报格式
{"LrAddr":1,"Dev":"Uart","Data":{"soil":260} ,"Err":null}
二、代码替换
--传感器接口初始化
function SensorInit()
--配置土壤传感器占用AD电压采集的A0引脚,最大值采样值4096对应3.6V输入电压
--当通道采集满10个点时缓存满,每个点的采集时间间隔为30ms
LIB_ADConfig(10,30000)
end
--读取传感器数据,获取到的json data数据形式可如下:
--{"soil":260} 单位mv
function SensorGetValue()
err = "null" --err包含错误信息,如果没有错误,设置为"null"
--查询A0通道电压采集是否转换完成
A0_full_flag, A0_tab = LIB_ADCheckBufFull("A0")
if A0_full_flag == 1 then
SUM = 0
for i = 1, #A0_tab do --此处#A0_tab的值是10,表示A0_tab表内的元素个数
SUM = SUM + A0_tab[i]
end
AVER = SUM / #A0_tab --平均值
--将A0通道的AD值转换成实际电压mv
val = math.floor(AVER*3600/4096.0)--整数mv
--data是一条完整的json字符串
--紫外线传感器电压值,单位:mv
data = string.format("{\"soil\":%d}", val)
else
--如果获取失败,data设置为"null"
data = "null"
err = "Read sensor fail"
end
--返回结果
finish = 1 --finish=1表示传感器读取完成(无论是否成功)
return finish,data,err
end
三、传感器资料及采购来源
传感器说明书位于: flexluadisk
->Spec
-> AD001
文件夹中。
采购来源:淘宝搜索四线制土壤传感器模块。
四、硬件连线
将 CMA 底板的 A0/3V3/GND 三个引脚和传感器连接即可。