TPYBoard v102 自动浇花系统
1.系统功能
监测土壤湿度、环境温度、光照强度
根据当前环境自动浇水,寒冷天气自动加热土壤
2.所需元器件
TPYBoard板子1块
光敏模块1块
DS18B20模块1块
土壤湿度检测模块1块
杜邦线若干
继电器2个
3. 接线方式
光敏模块 | 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 |
VCC | VIN |
GND | GND |
IN | Y8 |
COM连接到220V家庭供电火线 | |
NO连接到加热线其中一端 | |
加热线另一端连接到家庭供电零线 | |
接线完毕之后将main.py、boot.py、ds18x20.py、onewire.py导入TPYBoard v102 盘符即可运行。自动浇水实验代码
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)