2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-13 06:58
TSL45315 là cảm biến ánh sáng xung quanh kỹ thuật số. Nó ước tính phản ứng của mắt người trong nhiều điều kiện ánh sáng khác nhau. Các thiết bị có ba thời gian tích hợp có thể lựa chọn và cung cấp đầu ra lux 16 bit trực tiếp thông qua giao diện bus I2C. Thiết bị chứa một mảng điốt quang, một bộ chuyển đổi tương tự-kỹ thuật số (ADC) tích hợp, mạch xử lý tín hiệu, logic tính toán lux và giao diện nối tiếp I2C trên một mạch tích hợp CMOS duy nhất để cung cấp dữ liệu lux. Đây là bản trình diễn của nó với arduino nano.
Bước 1: Những gì bạn cần.. !
1. Arduino Nano
2. TSL45315
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 TSL45315 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 TSL45315 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/TSL45315…
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.
// TSL45315
// Mã này được thiết kế để hoạt động với Mô-đun Mini TSl45315_I2CS I2C có sẵn trong Dcube Store.
#bao gồm
// TSL45315 Địa chỉ I2C là 0x29 (41)
#define Addr 0x29
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 điều khiển
Wire.write (0x80);
// Hoạt động binh thương
Wire.write (0x03);
// Dừng truyền I2C
Wire.endTransmission ();
// Bắt đầu truyền I2C
Wire.beginTransmission (Addr);
// Chọn thanh ghi cấu hình
Wire.write (0x81);
// Hệ số 1x, Tint: 400ms
Wire.write (0x00);
// 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 (0x84);
// 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
// độ sáng lsb, độ sáng msb
if (Wire.available () == 2)
{
data [0] = Wire.read ();
data [1] = Wire.read ();
}
// Chuyển đổi dữ liệu
float luminance = data [1] * 256 + data [0];
// Xuất dữ liệu ra Serial Monitor
Serial.print ("Độ sáng xung quanh:");
Serial.print (độ chói);
Serial.println ("lux");
chậm trễ (300);
}
Bước 4: Ứng dụng:
Phạm vi động rộng của cảm biến ánh sáng xung quanh làm cho nó đặc biệt hữu ích trong các ứng dụng ngoài trời, nơi nó tiếp xúc trực tiếp với ánh sáng mặt trời. Thiết bị lý tưởng để sử dụng trong điều khiển tự động đèn đường và an ninh, biển quảng cáo và chiếu sáng ô tô. Các thiết bị TSL45315 cũng có thể được sử dụng ở trạng thái rắn và chiếu sáng chung để điều khiển tự động và thu hoạch ánh sáng ban ngày nhằm tối đa hóa việc tiết kiệm năng lượng. Các ứng dụng khác bao gồm điều khiển đèn nền màn hình để kéo dài tuổi thọ pin và tối ưu hóa khả năng hiển thị trên điện thoại di động, máy tính bảng và máy tính xách tay.