打印
[技术讨论]

NSHT30 温湿度传感器通信的示例代码

[复制链接]
83|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qifeng0611|  楼主 | 2025-3-25 12:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 qifeng0611 于 2025-3-25 12:59 编辑

NSHT30 温湿度传感器通信的示例代码, Arduino,通过连接 SCL 和 SDA 引脚与 NSHT30 传感器进行通信。
需要的库:
首先,确保你安装了适合 Arduino 的 Wire 库,用于 I2C 通信。你还需要安装 Adafruit_Sensor 和 Adafruit_NSHT30 库,或者根据你使用的库与平台,选择适当的驱动程序。
#include <Wire.h>#include <Adafruit_Sensor.h>
#include <Adafruit_NSHT30.h>// 创建一个 NSHT30 对象Adafruit_NSHT30 sht30 = Adafruit_NSHT30();void setup() {  // 启动串口通讯  
Serial.begin(9600);    // 启动 I2C 通讯  
Wire.begin();    // 检查传感器是否正确连接  
if (!sht30.begin())
{    Serial.println("未能找到 NSHT30 传感器。");  
  while (1);  // 停止程序,无法继续执行  }  
  Serial.println("NSHT30 传感器初始化成功。");}
void loop()
{  // 获取温度和湿度数据
float temperature = sht30.getTemperature();  
float humidity = sht30.getHumidity();    // 输出温度和湿度数据到串口监视器
Serial.print("温度: ");
Serial.print(temperature);  
Serial.print(" °C, 湿度: ");  
Serial.print(humidity);
Serial.println(" %");   
delay(2000);  // 每2秒读取一次数据}代码解析:
库文件引入:Wire.h 是 Arduino 内置的 I2C 通讯库。Adafruit_Sensor.h 和 Adafruit_NSHT30.h 用于与 NSHT30 传感器进行交互。
初始化:
在 setup() 中,我们初始化了串口通信和 I2C 通信,并检查传感器是否正常工作。
sht30.begin() 方法用于初始化传感器,如果无法找到传感器,将会打印错误信息并停在当前位置。
读取数据:
在 loop() 中,使用 getTemperature() 和 getHumidity() 方法读取温度和湿度值。
通过 Serial.print() 打印温湿度数据到串口监视器。
delay(2000) 控制每 2 秒钟读取一次数据。

注意事项:
确保 NSHT30 的 SCL 和 SDA 引脚正确连接到 Arduino 的 I2C 引脚(一般是 A5 和 A4,具体根据你的硬件平台调整)。
如果使用的是其他开发平台(如 ESP32、Raspberry Pi 等),确保已安装适当的驱动库和调整引脚配置。



使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝