littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于Arduino和Raspberry Pi的土壤湿度EC和温度I2C传感器库

项目简介

本项目提供了一个用于Arduino和Raspberry Pi的I2C传感器库,专门用于读取土壤湿度、电导率(EC)和温度数据。该库支持通过I2C协议与传感器进行通信,并提供了丰富的API接口,方便用户进行数据读取和校准操作。

项目的主要特性和功能

  1. 多平台支持:支持Arduino和Raspberry Pi平台,用户可根据自身硬件选择合适平台开发。
  2. 丰富的API接口:提供传感器初始化、地址设置、校准、数据读取等多种API函数。
  3. 硬件保护:提醒使用3.3V电压级别,防止电压过高损坏设备。
  4. 校准功能:支持空气、水和已知EC值的校准,保障数据准确性。
  5. 数据读取:可单独读取电导率、温度和体积含水量,也能一次性读取所有数据。

安装使用步骤

1. 硬件连接

Arduino连接

  • 电源:Arduino的3.3V引脚连接传感器红色线(3.3V)。
  • I2C通信:Arduino的A4引脚连接传感器绿色线(SDA),A5引脚连接传感器白色线(SCL)。
  • 地线:Arduino的GND引脚连接传感器黑色线(GND)。
  • SDA和SCL:SDA和SCL线需通过1.8K电阻上拉到3.3V。

Raspberry Pi连接

  • 电源:Raspberry Pi的1号引脚连接传感器红色线(3.3V)。
  • I2C通信:Raspberry Pi的3号引脚连接传感器绿色线(SDA),5号引脚连接传感器白色线(SCL)。
  • 地线:Raspberry Pi的9号引脚连接传感器黑色线(GND)。

2. 软件安装

Arduino

  • 将库文件添加到Arduino IDE中。
  • 在Arduino IDE中编写代码,调用库中的API函数进行数据读取和校准。

Raspberry Pi

  • 启用I2C接口:参考此教程启用Raspberry Pi的I2C接口。
  • 获取软件:执行以下命令下载并编译示例软件。 bash cd i2cRaspberry chmod 777 *.sh ./mk.sh
  • 读取数据:执行./read.sh读取传感器数据。
  • 更改I2C地址:执行./svcs 0x63 addr 0x65将默认地址0x63更改为新的I2C地址0x65。

3. 使用API

  • 初始化传感器:使用init(int address)函数初始化传感器并设置I2C地址。
  • 校准传感器:使用calibrationAir()calibrationWater()calibrationEC(int16_t valueUs)函数进行校准。
  • 读取数据:使用newReading()函数启动数据读取,然后使用getE25()getEC()getTemp()getVWC()函数读取相应的数据。
  • 获取所有数据:使用getData(float retVal[])函数一次性获取所有数据。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】