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)
  • 相关阅读:
    Kubernetes组件及网络基础
    mybatis小结-001
    mysql+navicat安装小结
    ibatsi学习总结
    linux 相关的问题
    java 基础 --int 和Integer的区别
    java 接口和抽象类的区别
    java 堆和栈的区别
    springMVC controller配置方式总结
    GC是什么?为什么要有GC
  • 原文地址:https://www.cnblogs.com/xxosu/p/8681238.html
Copyright © 2011-2022 走看看