回答

收藏

Micropython TPYBoard v102 自动浇花实验

STMCU STMCU 2378 人阅读 | 0 人回复 | 2018-03-31

本帖最后由 酥小小酥 于 2018-3-31 10:32 编辑

1.系统功能

监测土壤湿度、环境温度、光照强度

  根据当前环境自动浇水,寒冷天气自动加热土壤

2.所需元器件

TPYBoard板子1块

光敏模块1块

DS18B20模块1块

土壤湿度检测模块1块

杜邦线若干

继电器2个

3. 接线方式


光敏模块TPYBoard v102
VCC3.3V
GNDGND
A0Y12
土壤湿度检测模块TPYBoard v102
VCC3.3V
GNDGND
A0Y11
单独的两个引脚接到探测板上
DS18B20TPYBoard v102
VCC3.3V
GNDGND
DOY10

继电器模块1 (控制水阀加湿)TPYBoard v102
VCCVIN
GNDGND
INY9
COMVIN
NO连接到电水阀

继电器模块2 (控制电热线加热)TPYBoard v102

VCC

VIN

GNDGND
INY8
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)



分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条