Mục lục:
Video: Cảm biến nhiệt độ và độ ẩm tương đối Raspberry Pi HTS221 Hướng dẫn sử dụng Java: 4 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
HTS221 là một cảm biến kỹ thuật số điện dung siêu nhỏ gọn cho độ ẩm và nhiệt độ tương đối. Nó bao gồm một phần tử cảm biến và một mạch tích hợp dành riêng cho ứng dụng tín hiệu hỗn hợp (ASIC) để cung cấp thông tin đo lường thông qua các giao diện nối tiếp kỹ thuật số. Được tích hợp rất nhiều tính năng, đây là một trong những cảm biến thích hợp nhất cho các phép đo nhiệt độ và độ ẩm quan trọng. Đây là phần trình diễn với mã java sử dụng Raspberry Pi.
Bước 1: Những gì bạn cần.. !
1. Raspberry Pi
2. HTS221
3. Cáp I²C
4. I²C Shield cho Raspberry Pi
5. Cáp Ethernet
Bước 2: Kết nối:
Lấy một tấm chắn I2C cho raspberry pi và nhẹ nhàng đẩy nó qua các chân gpio của raspberry pi.
Sau đó kết nối một đầu của cáp I2C với cảm biến HTS221 và đầu kia với tấm chắn I2C.
Đồng thời kết nối cáp Ethernet với pi hoặc bạn có thể sử dụng mô-đun WiFi.
Các kết nối được hiển thị trong hình trên.
Bước 3: Mã:
Có thể tải xuống mã python cho HTS221 từ kho lưu trữ github-Dcube Store của chúng tôi
Đây là liên kết cho cùng một:
github.com/DcubeTechVentures/HTS221/blob/master/Java/HTS221.java
Chúng tôi đã sử dụng thư viện pi4j cho mã java, các bước để cài đặt pi4j trên raspberry pi được mô tả ở đây:
pi4j.com/install.html
Bạn cũng có thể sao chép mã từ đây, nó được đưa ra như sau:
// Được phân phối với một giấy phép tự do.
// Sử dụng nó theo bất kỳ cách nào bạn muốn, lợi nhuận hoặc miễn phí, miễn là nó phù hợp với giấy phép của các tác phẩm liên quan.
// HTS221
// Mã này được thiết kế để hoạt động với Mô-đun nhỏ HTS221_I2CS I2C.
nhập com.pi4j.io.i2c. I2CBus;
nhập com.pi4j.io.i2c. I2CDevice;
nhập com.pi4j.io.i2c. I2CFactory;
nhập java.io. IOException;
public class HTS221 {public static void main (String args ) ném Exception
{
// Tạo I2CBus
I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Lấy thiết bị I2C, địa chỉ I2C HTS221 là 0x5F (95)
Thiết bị I2CDevice = bus.getDevice (0x5F);
// Chọn thanh ghi cấu hình trung bình
// Mẫu trung bình nhiệt độ = 16, mẫu trung bình độ ẩm = 32
device.write (0x10, (byte) 0x1B);
// Chọn thanh ghi điều khiển1
// Bật nguồn, cập nhật dữ liệu chặn, tốc độ dữ liệu o / p = 1 Hz
device.write (0x20, (byte) 0x85);
Thread.sleep (500);
// Đọc các giá trị Hiệu chuẩn từ bộ nhớ không bay hơi của thiết bị
// Giá trị hiệu chỉnh độ ẩm
byte val = byte mới [2];
// Đọc 1 byte dữ liệu từ địa chỉ 0x30 (48)
val [0] = (byte) device.read (0x30);
// Đọc 1 byte dữ liệu từ địa chỉ 0x31 (49)
val [1] = (byte) device.read (0x31);
int H0 = (val [0] & 0xFF) / 2;
int H1 = (val [1] & 0xFF) / 2;
// Đọc 1 byte dữ liệu từ địa chỉ 0x36 (54)
val [0] = (byte) device.read (0x36);
// Đọc 1 byte dữ liệu từ địa chỉ 0x37 (55)
val [1] = (byte) device.read (0x37);
int H2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Đọc 1 byte dữ liệu từ địa chỉ 0x3A (58)
val [0] = (byte) device.read (0x3A);
// Đọc 1 byte dữ liệu từ địa chỉ 0x3B (59)
val [1] = (byte) device.read (0x3B);
int H3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Giá trị hiệu chỉnh nhiệt độ
// Đọc 1 byte dữ liệu từ địa chỉ 0x32 (50)
int T0 = ((byte) device.read (0x32) & 0xFF);
// Đọc 1 byte dữ liệu từ địa chỉ 0x33 (51)
int T1 = ((byte) device.read (0x33) & 0xFF);
// Đọc 1 byte dữ liệu từ địa chỉ 0x35 (53)
int raw = ((byte) device.read (0x35) & 0x0F);
// Chuyển đổi các giá trị Hiệu chỉnh nhiệt độ thành 10-bit
T0 = ((thô & 0x03) * 256) + T0;
T1 = ((nguyên & 0x0C) * 64) + T1;
// Đọc 1 byte dữ liệu từ địa chỉ 0x3C (60)
val [0] = (byte) device.read (0x3C);
// Đọc 1 byte dữ liệu từ địa chỉ 0x3D (61)
val [1] = (byte) device.read (0x3D);
int T2 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Đọc 1 byte dữ liệu từ địa chỉ 0x3E (62)
val [0] = (byte) device.read (0x3E);
// Đọc 1 byte dữ liệu từ địa chỉ 0x3F (63)
val [1] = (byte) device.read (0x3F);
int T3 = ((val [1] & 0xFF) * 256) + (val [0] & 0xFF);
// Đọc 4 byte dữ liệu
// hum msb, hum lsb, temp msb, temp lsb
byte data = new byte [4]; device.read (0x28 | 0x80, data, 0, 4);
// Chuyển đổi dữ liệu
int hum = ((dữ liệu [1] & 0xFF) * 256) + (dữ liệu [0] & 0xFF);
int temp = ((dữ liệu [3] & 0xFF) * 256) + (dữ liệu [2] & 0xFF);
if (temp> 32767)
{
nhiệt độ - = 65536;
}
độ ẩm kép = ((1.0 * H1) - (1.0 * H0)) * (1.0 * hum - 1.0 * H2) / (1.0 * H3 - 1.0 * H2) + (1.0 * H0);
double cTemp = ((T1 - T0) / 8.0) * (temp - T2) / (T3 - T2) + (T0 / 8.0);
double fTemp = (cTemp * 1.8) + 32;
// Xuất dữ liệu ra màn hình
System.out.printf ("Độ ẩm Tương đối:%.2f %% RH% n", độ ẩm);
System.out.printf ("Nhiệt độ tính bằng C:%.2f C% n", cTemp);
System.out.printf ("Nhiệt độ tính bằng F:%.2f F% n", fTemp);
}
}
Bước 4: Ứng dụng:
HTS221 có thể được sử dụng trong các sản phẩm tiêu dùng khác nhau như máy làm ẩm không khí và tủ lạnh, v.v. Cảm biến này cũng được ứng dụng trong một lĩnh vực rộng lớn hơn bao gồm tự động hóa nhà thông minh, tự động hóa công nghiệp, thiết bị hô hấp, theo dõi tài sản và hàng hóa.
Đề xuất:
Lập trình hướng đối tượng: Tạo đối tượng Học / Phương pháp giảng dạy / Kỹ thuật sử dụng Shape Puncher: 5 bước
Lập trình hướng đối tượng: Tạo đối tượng Phương pháp học / dạy / kỹ thuật sử dụng Shape Puncher: Phương pháp học / dạy dành cho sinh viên mới làm quen với lập trình hướng đối tượng. Đây là một cách cho phép họ hình dung và xem quá trình tạo các đối tượng từ các lớp. Cú đấm lớn 2 inch của EkTools; hình dạng rắn là tốt nhất.2. Mảnh giấy hoặc c
Arduino Nano - HTS221 Hướng dẫn cảm biến nhiệt độ và độ ẩm tương đối: 4 bước
Arduino Nano - Hướng dẫn sử dụng cảm biến nhiệt độ và độ ẩm tương đối HTS221: HTS221 là cảm biến kỹ thuật số điện dung siêu nhỏ gọn cho độ ẩm và nhiệt độ tương đối. Nó bao gồm một phần tử cảm biến và một mạch tích hợp dành riêng cho ứng dụng tín hiệu hỗn hợp (ASIC) để cung cấp thông tin đo lường thông qua nối tiếp kỹ thuật số
Lập trình hướng đối tượng: Tạo đối tượng Học / Phương pháp giảng dạy / Kỹ thuật sử dụng kéo: 5 bước
Lập trình hướng đối tượng: Tạo đối tượng Phương pháp học / dạy / kỹ thuật dùng kéo: Phương pháp học / dạy dành cho sinh viên mới làm quen với lập trình hướng đối tượng. Đây là một cách cho phép họ hình dung và nhìn thấy quá trình tạo ra các đối tượng từ các lớp. Phần: 1. Kéo (bất kỳ loại nào cũng được). 2. Mảnh giấy hoặc bìa cứng. 3. Điểm đánh dấu.
Nhiệt kế có màu tương đối nhiệt độ trên màn hình TFT 2 "và nhiều cảm biến: 5 bước
Nhiệt kế Có Màu Tương đối Nhiệt độ trên Màn hình TFT 2 "và Nhiều Cảm biến: Tôi đã tạo một màn hình hiển thị các phép đo của một số cảm biến nhiệt độ. Điều thú vị là màu sắc của các giá trị thay đổi theo nhiệt độ: > 75 độ Celcius = RED > 60 > 75 = ORANGE > 40 < 60 = VÀNG > 30 < 40
Mạch GPIO Raspberry Pi: Sử dụng cảm biến tương tự LDR mà không cần ADC (Bộ chuyển đổi tương tự sang kỹ thuật số): 4 bước
Mạch GPIO của Raspberry Pi: Sử dụng cảm biến tương tự LDR mà không cần ADC (Bộ chuyển đổi tương tự sang kỹ thuật số): Trong phần Hướng dẫn trước đây của chúng tôi, chúng tôi đã chỉ cho bạn cách bạn có thể liên kết các chân GPIO của Raspberry Pi với đèn LED và công tắc và cách chân GPIO có thể cao hoặc Thấp. Nhưng điều gì sẽ xảy ra nếu bạn muốn sử dụng Raspberry Pi của mình với cảm biến tương tự? Nếu chúng tôi muốn sử dụng