2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
TMP100 Độ chính xác cao, công suất thấp, cảm biến nhiệt độ kỹ thuật số Mô-đun I2C MINI. TMP100 lý tưởng để đo nhiệt độ kéo dài. Thiết bị này cung cấp độ chính xác ± 1 ° C mà không cần hiệu chuẩn hoặc điều chỉnh tín hiệu thành phần bên ngoài. Đây là phần trình diễn với Arduino Nano.
Bước 1: Những gì bạn cần.. !
1. Arduino Nano
2. TMP100
3. Cáp I²C
4. Tấm chắn I²C cho Arduino Nano
Bước 2: Kết nối:
Lấy một tấm chắn I2C cho Arduino Nano và nhẹ nhàng đẩy nó qua các chân của Nano.
Sau đó kết nối một đầu của cáp I2C với cảm biến TMP100 và đầu kia với tấm chắn I2C.
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ã Arduino cho TMP100 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/TMP100..
Chúng tôi bao gồm thư viện Wire.h để tạo điều kiện giao tiếp I2c của cảm biến với bảng Arduino.
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.
// TMP100
// Mã này được thiết kế để hoạt động với Mô-đun Mini TMP100_I2CS I2C có sẵn trong Dcube Store.
#bao gồm
// Địa chỉ I2C TMP100 là 0x4F (79)
#define Addr 0x4F
void setup ()
{
// Khởi tạo giao tiếp I2C dưới dạng MASTER
Wire.begin ();
// Khởi tạo Giao tiếp nối tiếp, đặt tốc độ truyền = 9600
Serial.begin (9600);
// Bắt đầu truyền I2C
Wire.beginTransmission (Addr);
// Chọn thanh ghi cấu hình
Wire.write (0x01);
// Đặt chuyển đổi liên tục, chế độ so sánh, độ phân giải 12 bit
Wire.write (0x60);
// Dừng truyền I2C
Wire.endTransmission ();
chậm trễ (300);
}
void loop ()
{
dữ liệu int không dấu [2];
// Bắt đầu truyền I2C
Wire.beginTransmission (Addr);
// Chọn thanh ghi dữ liệu
Wire.write (0x00);
// Dừng truyền I2C
Wire.endTransmission ();
// Yêu cầu 2 byte dữ liệu
Wire.requestFrom (Addr, 2);
// Đọc 2 byte dữ liệu
// cTemp msb, cTemp lsb
if (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Chuyển đổi dữ liệu
float cTemp = (((dữ liệu [0] * 256) + (dữ liệu [1] & 0xF0)) / 16) * 0,0625;
float fTemp = cTemp * 1.8 + 32;
// Xuất dữ liệu ra màn hình nối tiếp
Serial.print ("Nhiệt độ tính bằng độ C:");
Serial.print (cTemp);
Serial.println ("C");
Serial.print ("Nhiệt độ tính bằng Fahrenheit:");
Serial.print (fTemp);
Serial.println ("F");
chậm trễ (500);
}
Bước 4: Ứng dụng:
Các ứng dụng khác nhau kết hợp cảm biến nhiệt độ kỹ thuật số công suất thấp, độ chính xác cao TMP100 bao gồm Giám sát nhiệt độ nguồn cung cấp, Bảo vệ nhiệt ngoại vi máy tính, Quản lý pin cũng như các máy văn phòng.