项目简介
本项目提供了一个用于Arduino和Raspberry Pi的I2C传感器库,专门用于读取土壤湿度、电导率(EC)和温度数据。该库支持通过I2C协议与传感器进行通信,并提供了丰富的API接口,方便用户进行数据读取和校准操作。
项目的主要特性和功能
- 多平台支持:支持Arduino和Raspberry Pi平台,用户可根据自身硬件选择合适平台开发。
- 丰富的API接口:提供传感器初始化、地址设置、校准、数据读取等多种API函数。
- 硬件保护:提醒使用3.3V电压级别,防止电压过高损坏设备。
- 校准功能:支持空气、水和已知EC值的校准,保障数据准确性。
- 数据读取:可单独读取电导率、温度和体积含水量,也能一次性读取所有数据。
安装使用步骤
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】