树莓派

树莓派通过C语言和python读取土壤湿度传感器

2021-01-25  本文已影响0人  刘小白DOER

    今天实验树莓派通过C语言和python读取土壤湿度传感器,在后续的工作中可以通过读取湿度值可以来控制继电器开合或者控制水泵,自动完成土壤滴灌。

1、接线图

2、C语言  solid.c

此语言和我的文章-树莓派上使用C语言检测触碰传感器 类似,都是检测gpio29的状态,为了直观也可以和触碰传感器 一样,价格led灯来指示need water 0  和  water 1 状态。

#include <wiringPi.h>

#include <stdio.h>

#include <sys/time.h>

//连接wiringpi 29号管脚

#define Soil  29

int main(void)

{

  if(wiringPiSetup()==-1)

  {

    printf("setup wiringPi failed !");

    return 1;

  }

  pinMode(Soil,INPUT);

  while(1)

  {

  int value;

  value = digitalRead(Soil);

  //如果感受到水则输出water,没有水则need water

if(value==1)

{

  printf("water");

  delay(1000);

}else{

  printf("need water");

  delay(1000);

}

    printf(" %d\n",value);

  }

}

编译:gcc solid.c -o solid -lwiringPi

运行:./solid

3、python语言  solid.py

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import RPi.GPIO as GPIO

import time

def getSoilHum():

    channel = 21 #管脚40

    GPIO.setmode(GPIO.BCM)

    GPIO.setup(channel, GPIO.IN)

    if GPIO.input(channel) == GPIO.LOW:

        return "土壤检测结果:干燥"

    else:

        return "土壤检测结果:潮湿"

while True:

    print getSoilHum()

    time.sleep(2)

运行:python solid.py

在后续的应用中可以将数据存入数据库来打造一个智能的滴灌系统,关于数据库方面可以参考我的文章-树莓派上利用python读取传感器DHT11的温湿度或者Python操作Mariadb数据库增删改查。

4、实际效果图

上一篇 下一篇

猜你喜欢

热点阅读