Cảm biến SHT1x -SHT10, SHT11, SHT15 Cảm biến nhiệt độ và độ ẩm

Cảm biến nhiệt độ và độ ẩm SHT1x-SHT10, SHT11, SHT15

Cảm biến SHT1x là cảm biến đo nhiệt độ và độ ẩm. SHT1x (SHT10, SHT11 và SHT15) là dòng cảm biến nhiệt độ và độ ẩm của Sensirion. Cảm biến này tích hợp các bộ cảm biến và bộ xử lý cung cấp đầu ra kỹ thuật số được hiệu chỉnh đầy đủ. Cảm biến điện dung duy nhất được sử dụng để đo độ ẩm tương đối, trong khi nhiệt độ được đo bằng cảm biến band-gap. Công nghệ CMOSens® được áp dụng là sự đảm bảo độ tin cậy tuyệt vời và sự ổn định lâu dài. Cả hai cảm biến được kết nối với bộ chuyển đổi tương tự ADC 14-bit. Điều này dẫn đến chất lượng tín hiệu vượt trội, thời gian đáp ứng nhanh và không nhạy cảm với nhiễu bên ngoài (EMC).

Mỗi SHT1x được hiệu chuẩn riêng trong một buồng độ ẩm chính xác. Hệ số hiệu chuẩn được lập trình vào bộ nhớ OTP trên chip. Hệ số này được sử dụng để hiệu chỉnh tín hiệu từ các cảm biến bên trong. Giao diện nối tiếp 2-Wire và các thiết lập điện áp bên trong giúp việc tích hợp vào hệ thống trở nên dễ dàng và nhanh hơn. Kích thước nhỏ và mức tiêu thụ điện năng thấp khiến cho SHT1x trở thành lựa chọn phù hợp ngay cả đối với nhiều ứng dụng khác nhau.

Tổng quan về các phiên bản SHT1X

Độ chính xác của SHT1X

Trong một số % RH nhất định, độ chính xác sẽ thay đổi như hình

Độ chính xác của SHT1X đối với %RH
Độ chính xác của SHT1X đối với %RH

Trong một phạm vi ° C nhất định, độ chính xác sẽ thay đổi như trong hình.

Độ chính xác của SHT1X đối với oC
Độ chính xác của SHT1X đối với oC

Packaging và biến thể packaging của SHT1x

SHT10, SHT11 và SHT15 có cùng một packaging và chỉ có 1 biến thể packaging như hình

Packaging của SHT1X
Packaging của SHT1X

 

Kích thước của cảm biến SHT1X
Kích thước của cảm biến SHT1X

Sơ đồ giao tiếp SHT1x

Sơ đồ chân giao tiếp SHT1X
Sơ đồ chân giao tiếp SHT1X

Nguồn điện áp SHT1x từ 2.4V – 5.5V, điện áp nên dùng là 3.3V. Các chân nguồn điện áp dương (VDD) và chân nối đất (GND) phải được kết nối với các tụ điện 100 nF như hình dưới đây.

Sơ đồ giao tiếp SHT1X với MCU
Sơ đồ giao tiếp SHT1X với MCU

Giao diện nối tiếp của SHT1x được tối ưu hóa để đọc cảm biến và tiêu thụ điện năng hiệu quả. Cảm biến không thể đọc được bằng giao thức I2C. Tuy nhiên, cảm biến có thể được kết nối với một bus I2C mà không bị nhiễu với các thiết bị khác được kết nối với bus. Bộ điều khiển vẫn phải sử dụng giao thức SHT1x.

Đọc nhiệt độ và độ ẩm từ SHT1X với Arduino

Thư viện SHT1x

Trước tiên các bạn cần tải thư viện về và add thư viện vào Arduino. Các bạn có thể tải thư viện tại đây.

Thư viện SHT1X được khởi tạo như một đối tượng cung cấp các phương thức để đọc nhiệt độ và độ ẩm. Đầu chương trình bạn cần khai báo thư viện, tạo đối tượng và chỉ định chân giao tiếp với cảm biến:

#include <SHT1x.h>
#define dataPin 10
#define clockPin 11
SHT1x sht1x(dataPin, clockPin);

Trong ví dụ này, tôi đã tạo một đối tượng có tên là “sht1x”, nhưng nó có thể được gọi là bất cứ thứ gì bạn thích.

  • readTemperatureC()

Trả về giá trị kiểu float trong phạm vi nhiệt độ của SHT1X từ  -40 đến + 123.8C. Giá trị -40 được trả về trong trường hợp có lỗi giao tiếp.

Ví dụ:

float tempC = sht1x.readTemperatureC();
  • readTemperatureF()

Trả về giá trị kiểu float trong phạm vi nhiệt độ của SHT1X từ  -40 đến + 254.9F. Giá trị -40 được trả về trong trường hợp có lỗi giao tiếp.

Ví dụ

float tempF = sht1x.readTemperatureF();
  • readHumidity()

Trả về giá trị kiểu float trong phạm vi từ 0 đến 100%. Giá trị âm được trả lại trong trường hợp có lỗi giao tiếp với cảm biến.

Ví dụ

float humidity = sht1x.readHumidity();

Sơ đồ kết nối chân với Arduino

SHT1XArduino
VCC3.3V
GNDGND
DATA10
SCK11

Code chương trình ví dụ

#include <SHT1x.h>

// Specify data and clock connections and instantiate SHT1x object
#define dataPin 10
#define clockPin 11
SHT1x sht1x(dataPin, clockPin);

void setup()
{
Serial.begin(38400); // Open serial connection to report values to host
Serial.println("Starting up");
}

void loop()
{
float temp_c;
float temp_f;
float humidity;

// Read values from the sensor
temp_c = sht1x.readTemperatureC();
temp_f = sht1x.readTemperatureF();
humidity = sht1x.readHumidity();

// Print the values to the serial port
Serial.print("Temperature: ");
Serial.print(temp_c, DEC);
Serial.print("C / ");
Serial.print(temp_f, DEC);
Serial.print("F. Humidity: ");
Serial.print(humidity);
Serial.println("%");

delay(2000);
}

Download file

Thư viện SHT1X Datasheet SHT1X

Bài viết các bạn có thể tham khảo:

Viết một bình luận

This site uses Akismet to reduce spam. Learn how your comment data is processed.