使用土壤水分传感器与覆盆子Pi

Using a Soil Moisture Sensor with the Raspberry Pi

一个 土壤水分传感器 允许覆盆子Pi监测土壤湿度,使其非常适合 明智的园艺,灌溉系统和环境监测。本指南将带您进行设置,并使用带有覆盆子Pi的土壤水分传感器。


你需要什么

  1. 覆盆子pi (任何具有GPIO支持的模型,例如PI 3,PI 4)
  2. 土壤水分传感器 (模拟或数字输出)
  3. 模拟传感器的ADC模块(例如ADS1115) (如果需要)
  4. 面包板和跳线电线
  5. 安装了Python 在覆盆子pi上

步骤1:了解土壤水分传感器

土壤水分传感器有两种类型:

  • 数字输出传感器 (例如,电容性土壤水分传感器) - 提供 高/低 当水分越过阈值时发出信号。
  • 模拟输出传感器 - 根据土壤水分提供可变电压,需要 ADC(模数转换器) 像ADS1115。

步骤2:将传感器接线到Raspberry Pi

对于数字输出土壤水分传感器

传感器引脚 覆盆子Pi Pin
VCC 3.3V或5V(引脚1或2)
gnd 地面(引脚6)
D0(数字) 任何GPIO(例如GPIO17,引脚11)

对于模拟输出传感器(使用ADS1115)

传感器引脚 ADS1115针 覆盆子Pi Pin
VCC VCC 3.3V或5V(引脚1或2)
gnd gnd 地面(引脚6)
A0(模拟) A0 I2C(通过ADS1115)

步骤3:在Raspberry Pi上启用I2C

由于某些传感器使用 I2C(ADS1115模块),启用它:

  1. 打开Raspberry Pi配置工具:
    sudo raspi-config
    
  2. 导航到 接口选项> I2C 并启用它。
  3. 重新启动覆盆子Pi:
    sudo reboot
    

步骤4:安装所需库

  1. 更新您的Raspberry Pi:
    sudo apt update && sudo apt upgrade -y
    
  2. 安装GPIO和I2C库:
    sudo apt install -y python3-rpi.gpio python3-smbus python3-pip
    pip3 install adafruit-circuitpython-ads1x15
    

步骤5:Python代码读取水分水平

对于数字传感器

import RPi.GPIO as GPIO
import time

SENSOR_PIN = 17  # GPIO Pin connected to D0
GPIO.setmode(GPIO.BCM)
GPIO.setup(SENSOR_PIN, GPIO.IN)

try:
    while True:
        if GPIO.input(SENSOR_PIN):
            print("Soil is Dry!")
        else:
            print("Soil is Moist!")
        time.sleep(2)
except KeyboardInterrupt:
    print("Exiting...")
finally:
    GPIO.cleanup()

用于模拟传感器(使用ADS1115)

import time
import board
import busio
import adafruit_ads1x15.ads1115 as ADS
from adafruit_ads1x15.analog_in import AnalogIn

# Initialize I2C and ADS1115 ADC
i2c = busio.I2C(board.SCL, board.SDA)
ads = ADS.ADS1115(i2c)
moisture_sensor = AnalogIn(ads, ADS.P0)  # A0 on ADS1115

try:
    while True:
        moisture_level = moisture_sensor.value
        print(f"Soil Moisture Level: {moisture_level}")
        time.sleep(2)
except KeyboardInterrupt:
    print("Exiting...")

步骤6:土壤水分传感器的应用

  1. 明智的灌溉 - 当土壤干燥时自动浇水。
  2. 气象站 - 远程监测土壤状况。
  3. 温室自动化 - 根据水分水平优化植物生长。
  4. 物联网项目 - 将数据发送到云平台以进行远程监视。

故障排除

  1. 传感器未检测到水分

    • 检查接线并确保正确的电压。
    • 对于模拟传感器,请确保 正确检测到ADS1115模块 使用:
      sudo i2cdetect -y 1
      
  2. 不稳定的读数

    • 避免将传感器放在过度 湿环境 防止腐蚀。
    • 对于电容传感器,请确保 干净的探针表面 进行准确的读数。

结论

土壤水分传感器允许覆盆子PI项目 监测和自动化植物浇水,使其理想 聪明的园艺和物联网应用。通过遵循本指南,您可以 阅读土壤湿度水平并触发自动化动作 基于实时数据! 🌱🚀

发表评论

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.