下面是使用Beacon NRF52832从组装的SHT30传感器读取温度/湿度值的代码示例:
#include
#include "SHT3x.h"
#define SDA_PIN 20
#define SCL_PIN 21
SHT3x sht30(SDA_PIN, SCL_PIN);
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.println("SHT30 Test");
if (!sht30.begin()) {
Serial.println("Couldn't find SHT30 sensor!");
while (1);
}
}
void loop() {
float temp = sht30.readTemperature();
float humidity = sht30.readHumidity();
Serial.print("Temperature: ");
Serial.print(temp);
Serial.print(" °C, Humidity: ");
Serial.print(humidity);
Serial.println(" %");
delay(2000);
}
在此示例中,我们使用了Wire库和SHT3x库。首先,我们定义了SDA_PIN和SCL_PIN,这是I2C通信所需的引脚。然后,在setup函数中,我们启动Wire库和串口通信,并初始化SHT30传感器。如果无法找到传感器,将打印错误消息并停止程序。在loop函数中,我们使用sht30.readTemperature()和sht30.readHumidity()来读取温度和湿度值,并将其打印到串口。最后,我们使用delay函数延迟2秒钟。
请注意,代码中的引脚号可能需要根据您的硬件连接进行更改。同时,确保已安装Wire和SHT3x库。