|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
Micropython实例之TPYBoardv102自动浇花系统
! z6 w1 N3 _7 j- a* P# a: o0 i1.系统功能
4 J$ i k2 T% @2 L& E- H 监测土壤湿度、环境温度、光照强度 根据当前环境自动浇水,寒冷天气自动加热土壤
5 K( T- {7 J! c/ V+ C 2.所需元器件
4 r" {& `) W- Z/ A7 f TPYBoard板子1块 光敏模块1块 DS18B20模块1块 土壤湿度检测模块1块 杜邦线若干 继电器2个1 ]) F3 {; I! Q! Z
3. 接线方式& e7 k! w" d% t& J0 E& G; p5 M
接线完毕之后将main.py、boot.py、ds18X20.py、onewire.py导入TPYBoard V102 盘符即可运行。自动浇水实验代码
E0 F& _! `' ? S, q
6 {* q/ x! T+ a' U9 E ]4 A
6 _/ U$ ~( c% |3 h1 T" P5 w 5.源代码
% s/ l+ F7 t3 U3 e7 g6 P4 q) ]9 L" O4 t. R, K( \& ?4 r; A( U, M
; V% R; w5 ~% f8 k( B& ~* V
- 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)
/ m8 b9 k x5 t" }0 y/ E " {# ~0 \/ E7 S1 B
3 g( F+ {0 I9 Q. ^* K# q$ v6 p
|
|