|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Micropython实例之TPYBoardv102自动浇花系统
1 b; p7 f2 ?6 U2 N) o! \3 h3 r4 [1.系统功能8 L# @) n: |, C" i& P* m
监测土壤湿度、环境温度、光照强度 根据当前环境自动浇水,寒冷天气自动加热土壤3 B& [- p0 f/ R, ^3 D4 N, T
2.所需元器件. L8 c* B6 P6 A' P! Z% S
TPYBoard板子1块 光敏模块1块 DS18B20模块1块 土壤湿度检测模块1块 杜邦线若干 继电器2个4 T% r0 {1 P# o( d& W3 u3 W X" z
3. 接线方式, [1 S. J! ^( G- b" Z3 Z6 t
接线完毕之后将main.py、boot.py、ds18X20.py、onewire.py导入TPYBoard V102 盘符即可运行。自动浇水实验代码$ G) b6 Q) S% C: P) }6 }
. ~* @( v- m4 _9 M) O3 c. E
% h! p- d% b% K" e) w
5.源代码
! a8 P- ]. x: p- C& [
( e: `$ g+ m" y; F4 R- t" n5 |+ L
- 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)% A' a- k9 D* ]* t% d) q/ c
1 r0 k; S; w' K# u1 b( V1 B- Y7 ?
0 u5 F6 F3 X' n* {
|
|