电子说
SHT15是一款易于使用、高精度的数字温度和湿度传感器。它仅需两条线用于两线通信,就能提供相对湿度和温度读数,帮助我们感知周围环境。
文件下载:SEN-13683.pdf
该传感器非常适合环境监测和数据记录,可应用于从气象站到雪茄保湿箱控制系统等多种场景。
建议在 breakout 板上焊接四个公头,然后将其连接到 Arduino 或兼容 Arduino 的开发板,如 RedBoard。
使用该传感器只需连接四个引脚,分别是 VCC、GND 和两条数据线。
既可以直接将传感器连接到 Arduino 的母头上,也可以在面包板上进行布线。
SHT15 的两线接口类似于 I²C,但并非 I²C。可以使用 SDA 和 SCL 线与传感器通信,只要它们连接到 Arduino 或兼容板的 A4 和 A5 引脚,也可以使用其他 I/O 引脚作为 Data 和 SCK 线。
需要注意的是,数据手册指出:“传感器在不干扰连接到总线的其他设备的情况下无法寻址,控制器必须在协议之间切换”。如果将其添加到包含其他传感器的 I²C 总线中,可能会出现总线争用问题。若遇到此问题,可使用另外两个 I/O 引脚与 SHT15 通信。
由于 SHT15 的地址是硬编码的,不可寻址,因此在同一时间内,任何两个引脚不能连接多个 SHT15。不过,两线协议允许多个 I²C 设备与 SHT15 共享同一总线。
若要使用多个 SHT15,每个传感器的 Data 线需要使用专用引脚,而 Clock(SCK)线可以在多个传感器之间共享。例如,一个传感器的 Data 线连接到引脚 8,另一个连接到引脚 7,而两者都共享引脚 9 作为 SCK 线。在代码中声明如下:
//Create two instances of the SHT1X sensor
SHT1x sht15(8, 9); //Data, SCK
SHT1x sht15_2(7, 9); //Data, SCK
数据手册建议在 Data 线上添加一个10KΩ的上拉电阻。如果需要让该传感器和另一个带有上拉电阻的 I²C 传感器共享 I²C 线,可以切断标有 PU 的焊盘之间的走线。若之后需要再次使用上拉电阻,只需在两个焊盘之间添加焊锡即可。
为了快速开始使用,这里提供一个使用 SHT1x 库的 Codebender 示例:
#include < SHT1x.h >
//variables for storing values
float tempC = 0;
float tempF = 0;
float humidity = 0;
//Create an instance of the SHT1X sensor
SHT1x sht15(A4, A5); //Data, SCK
//delacre output pins for powering the sensor
int gnd = A2;
int power = A3;
void setup() {
Serial.begin(9600); // Open serial connection to report values to host
pinMode(power, OUTPUT);
pinMode(gnd, OUTPUT);
digitalWrite(power, HIGH);
digitalWrite(gnd, LOW);
}
void loop() {
readSensor();
printOut();
delay(1000);
}
void readSensor() {
// Read values from the sensor
tempC = sht15.readTemperatureC();
tempF = sht15.readTemperatureF();
humidity = sht15.readHumidity();
}
void printOut() {
Serial.print(" Temp = ");
Serial.print(tempF);
Serial.print("F, ");
Serial.print(tempC);
Serial.println("C");
Serial.print(" Humidity = ");
Serial.print(humidity);
Serial.println("%");
}
上传代码后,通过串口终端连接即可查看输出结果。
现在你应该对如何在项目中添加湿度和温度传感功能有了清晰的了解。如果你需要一些灵感,可以参考以下教程:
大家在使用 SHT15 传感器的过程中,有没有遇到过什么特别的问题呢?欢迎在评论区分享交流。
全部0条评论
快来发表一下你的评论吧 !