TA的每日心情 | 慵懒 2018-1-6 09:01 |
---|
签到天数: 7 天 连续签到: 1 天 [LV.3]偶尔看看II
|
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)
复制代码
|
|