zoukankan      html  css  js  c++  java
  • Raspberry Pi开发之旅-土壤湿度检测

    一、土壤传感器

    传感器四个针脚:

     针脚 含义
    AO 模拟信号输出
    DO 数字信号输出
    GND 电源负极
    VCC 电源正极

    二、接线

    YL-38和YL69 之间直接用2根母对母线连接。

    YL-38和树莓派之间VCC接1号针脚,GND接6号针脚,DO接11号针脚。

    我们把VCC接到树莓派的DC3.3v输出上,我用的是PIN 01,GND接在任何一个接地端口上,我用的是PIN 06,DO输出接任何一个空闲的GPIO端口,我用的是11。如果不清楚树莓派端口布局的朋友可以参考这张图:

    电源连通之后,电源灯会亮起:

    调节传感器上的十字旋钮,这个是灵敏度的校准,也是个阈值,直到在干燥空气中不让DO-LED亮起。

    倒一杯水,或者没有水的话,舔一下传感器的触角,DO-LED应该会亮起,这时候就校准好了。

    三、编写代码

    这个传感器在干燥时候输出的是高电平,遇到水输出低电平。根据这个原理:

    #!/usr/bin/python
    #coding=utf-8
    import RPi.GPIO as GPIO
    import time
    
    #回调函数
    def callback(channel):
        if GPIO.input(channel):
            print u'土壤有点干'
        else:
            print u'土壤太湿了'
    
    #定义针脚排序为BOARD形式
    GPIO.setmode(GPIO.BOARD)
    
    #针脚
    channel = 11
    #定义针脚为input口
    GPIO.setup(channel, GPIO.IN)
    
    #添加简单事件
    GPIO.add_event_detect(channel, GPIO.BOTH, bouncetime=200)
    #添加时间触发的回调函数
    GPIO.add_event_callback(channel, callback)
    
    #保持主进程不退出
    while True:
      time.sleep(0.1)
    

    运行结果:

  • 相关阅读:
    KVM WEB管理工具——WebVirtMgr(二)日常配置
    在阿里云上遇见更好的Oracle(四)
    Django源码分析之权限系统_擒贼先擒王
    Django源码分析之server
    Django源码分析之执行入口
    HDFS常用文件操作
    排查实时tail功能cpu占用过高问题
    ZooKeeper完全分布式安装与配置
    Hadoop2.5.2集群部署(完全分布式)
    构造器
  • 原文地址:https://www.cnblogs.com/sirius-swu/p/6674428.html
Copyright © 2011-2022 走看看