1.系统功能
监测土壤湿度、环境温度、光照强度
根据当前环境自动浇水,寒冷天气自动加热土壤
2.所需元器件
TPYBoard 板子 1 块
光敏模块 1 块
DS18B20 模块 1 块
土壤湿度检测模块 1 块
杜邦线若干
继电器 2 个
光敏模块 TPYBoard v102
VCC 3.3V
GND GND
A0 Y12
土壤湿度检测模块 TPYBoard v102
VCC 3.3V
GND GND
A0 Y11
单独的两个引脚接到探测板上
DS18B20 TPYBoard v102
VCC 3.3V
GND GND
DO Y10
继电器模块 1 (控制水阀加湿) TPYBoard v102
VCC VIN
GND GND
IN Y9
COM VIN
NO 连接到电水阀
继电器模块 2 (控制电热线加热) TPYBoard v102
VCCVIN
GND GND
IN Y8
COM 连接到 220V 家庭供电火线
NO 连接到加热线其中一端
加热线另一端连接到家庭供电零线
接线完毕之后将 main.py 、boot.py 、ds18x20.py 、onewire.py 导入 TPYBoard v102 盘符即可运行。 https://github.com/TPYBoard/developmentBoard/tree/master/TPYBoard-v10x-master/35.%E8%87%AA%E5%8A%A8%E6%B5%87%E8%8A%B1%E7%B3%BB%E7%BB%9F
5.源代码
from pyb import Pin, ADC
from ds18x20 import DS18X20
gl = ADC(Pin('Y12')) #300 亮-1700 暗
sd = ADC(Pin('Y11')) #1800 干-800 湿
wd = DS18X20(Pin('Y10'))
ks = Pin('Y9', Pin.OUT_PP)
jr = Pin('Y8', Pin.OUT_PP)
while True:
print('\t 光照强度:',gl.read(),'\t 土壤湿度:',sd.read(),'\t 当前温度:',wd.read_temp())
pyb.delay(200)
if gl.read()<=250 : #阳光充足
if sd.read()>800 : #多浇水
ks.value(1)
else :
ks.value(0)
elif gl.read()>=1300 : #阳光不足
if sd.read()>1200 : #少浇水
ks.value(1)
else :
ks.value(0)
else : #阳光一般
if sd.read()>1000 : #正常浇水
ks.value(1)
else :
ks.value(0)
if wd.read_temp()<18 : #温度过低
jr.value(1)
else :
jr.value(0)