zoukankan      html  css  js  c++  java
  • Micropython 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(' 光照强度:',gl.read(),' 土壤湿度:',sd.read(),' 当前温度:',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)
  • 相关阅读:
    Integer vs int
    j2ee gradle构建
    ubuntu16.04更新node.js
    阿里云centos7服务器
    使用jdbc给一张表增加多行字段
    安装mysql后,java使用jdbc连接mysql数据库
    关于异常try{}catch(){}
    计算机基础单位
    java mongodb 增删改查 工具类
    java 操作mongodb查询条件的常用设置
  • 原文地址:https://www.cnblogs.com/xxosu/p/8681238.html
Copyright © 2011-2022 走看看