Mục lục:
- Bước 1: Tổng quan về BH1715:
- Bước 2: Những gì bạn cần.. !
- Bước 3: Kết nối phần cứng:
- Bước 4: Đo cường độ ánh sáng bằng mã Java:
- Bước 5: Ứng dụng:
Video: Đo cường độ ánh sáng bằng cách sử dụng BH1715 và Raspberry Pi: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Hôm qua, chúng tôi đã làm việc trên màn hình LCD, và trong khi làm việc với chúng, chúng tôi nhận ra tầm quan trọng của việc tính toán cường độ ánh sáng. Cường độ ánh sáng không chỉ quan trọng trong lĩnh vực vật lý của thế giới này mà nó còn có vai trò được nói rõ trong lĩnh vực sinh học. Việc ước tính chính xác cường độ ánh sáng đóng một vai trò quan trọng trong hệ sinh thái của chúng ta, trong sự phát triển của thực vật, v.v. Vì vậy, để phục vụ mục đích này, chúng tôi đã nghiên cứu cảm biến BH1715 này, là cảm biến ánh sáng xung quanh loại đầu ra nối tiếp 16 bit.
Trong hướng dẫn này, chúng tôi sẽ chứng minh hoạt động của BH1715 với Raspberry pi, sử dụng Java làm ngôn ngữ lập trình.
Phần cứng bạn sẽ cần cho mục đích này như sau:
1. BH1715 - Cảm biến ánh sáng xung quanh
2. Raspberryy Pi
3. Cáp I2C
4. I2C Shield cho Raspberry Pi
5. Cáp Ethernet
Bước 1: Tổng quan về BH1715:
Trước hết, chúng tôi muốn bạn làm quen với các tính năng cơ bản của mô-đun cảm biến là BH1715 và giao thức truyền thông mà nó hoạt động.
BH1715 là Cảm biến ánh sáng xung quanh kỹ thuật số với giao diện bus I²C. BH1715 thường được sử dụng để lấy dữ liệu ánh sáng xung quanh để điều chỉnh công suất đèn nền của màn hình LCD và bàn phím cho các thiết bị di động. Thiết bị này cung cấp độ phân giải 16 bit và phạm vi đo có thể điều chỉnh, cho phép phát hiện từ 0,23 đến 100, 000 lux.
Giao thức truyền thông mà cảm biến hoạt động là I2C. I2C là viết tắt của mạch tích hợp liên. Nó là một giao thức truyền thông trong đó giao tiếp diễn ra thông qua các đường SDA (dữ liệu nối tiếp) và SCL (đồng hồ nối tiếp). Nó cho phép kết nối nhiều thiết bị cùng lúc. Nó là một trong những giao thức truyền thông đơn giản và hiệu quả nhất.
Bước 2: Những gì bạn cần.. !
Các tài liệu mà chúng tôi cần để hoàn thành mục tiêu của mình bao gồm các thành phần phần cứng sau:
1. BH1715 - Cảm biến ánh sáng xung quanh
2. Raspberry Pi
3. Cáp I2C
4. I2C Shield cho Raspberry Pi
5. Cáp Ethernet
Bước 3: Kết nối phần cứng:
Phần kết nối phần cứng về cơ bản giải thích các kết nối dây cần thiết giữa cảm biến và pi raspberry. Đảm bảo các kết nối chính xác là điều cần thiết cơ bản trong khi làm việc trên bất kỳ hệ thống nào để có kết quả đầu ra mong muốn. Vì vậy, các kết nối cần thiết như sau:
BH1715 sẽ hoạt động trên I2C. Đây là sơ đồ đấu dây ví dụ, minh họa cách đấu dây cho từng giao diện của cảm biến.
Ngoài ra, bo mạch được định cấu hình cho giao diện I2C, vì vậy, chúng tôi khuyên bạn nên sử dụng kết nối này nếu bạn không có kiến thức khác. Tất cả những gì bạn cần là bốn dây!
Chỉ cần bốn kết nối là chân Vcc, Gnd, SCL và SDA và chúng được kết nối với sự trợ giúp của cáp I2C.
Các kết nối này được thể hiện trong các hình trên.
Bước 4: Đo cường độ ánh sáng bằng mã Java:
Lợi thế của việc sử dụng raspberry pi là, cung cấp cho bạn sự linh hoạt của ngôn ngữ lập trình mà bạn muốn lập trình bảng để giao tiếp cảm biến với nó. Khai thác lợi thế này của bảng này, chúng tôi đang chứng minh ở đây nó là lập trình bằng Java. Mã Java cho BH1715 có thể được tải xuống từ cộng đồng GitHub của chúng tôi, đó là Dcube Store.
Cũng như để người dùng dễ dàng sử dụng, chúng tôi cũng giải thích mã ở đây:
Là bước đầu tiên của mã hóa, bạn cần tải xuống thư viện pi4j trong trường hợp của java, vì thư viện này hỗ trợ các chức năng được sử dụng trong mã. Vì vậy, để tải thư viện, bạn có thể truy cập liên kết sau:
pi4j.com/install.html
Bạn cũng có thể sao chép mã java đang hoạt động cho cảm biến này từ đây:
// Đượ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.
// BH1715
// Mã này được thiết kế để hoạt động với Mô-đun mini BH1715_I2CS I2C có sẵn từ ControlEverything.com.
//
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;
lớp công BH1715
{
public static void main (String args ) ném Exception
{
// Tạo bus I2C
I2CBus bus = I2CFactory.getInstance (I2CBus. BUS_1);
// Lấy thiết bị I2C, địa chỉ BH1715 I2C là 0x23 (35)
Thiết bị I2CDevice = bus.getDevice (0x23);
// Gửi lệnh bật nguồn
device.write ((byte) 0x01);
// Gửi lệnh đo liên tục
device.write ((byte) 0x10);
Thread.sleep (500);
// Đọc 2 byte dữ liệu
// độ sáng msb, độ sáng lsb
byte data = byte mới [2];
device.read (dữ liệu, 0, 2);
// Chuyển đổi dữ liệu
độ sáng kép = ((dữ liệu [0] & 0xFF) * 256 + (dữ liệu [1] & 0xFF)) / 1,20;
// Xuất dữ liệu ra màn hình
System.out.printf ("Độ sáng xung quanh:%.2f lux% n", độ sáng);
}
}
Thư viện hỗ trợ giao tiếp i2c giữa cảm biến và bo mạch là pi4j, các gói khác nhau của nó I2CBus, I2CDevice và I2CFactory giúp thiết lập kết nối.
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;
Phần mã này làm cho cảm biến hoạt động để đo cường độ ánh sáng bằng cách viết các lệnh tương ứng bằng cách sử dụng hàm write () và sau đó dữ liệu được đọc bằng cách sử dụng hàm read ().
device.write ((byte) 0x01); // bật lệnh
device.write ((byte) 0x10); // lệnh đo liên tục
byte data = byte mới [2]; // Đọc 2 byte dữ liệu
device.read (dữ liệu, 0, 2);
Dữ liệu nhận được từ cảm biến được chuyển đổi sang định dạng thích hợp bằng cách sử dụng như sau:
độ sáng kép = ((dữ liệu [0] & 0xFF) * 256 + (dữ liệu [1] & 0xFF)) / 1,20;
Đầu ra được in bằng hàm System.out.println (), ở định dạng sau.
System.out.printf ("Độ sáng xung quanh:%.2f lux% n", độ sáng);
Đầu ra của cảm biến được hiển thị trong hình trên.
Bước 5: Ứng dụng:
BH1715 là một cảm biến ánh sáng xung quanh đầu ra kỹ thuật số có thể được kết hợp trong Điện thoại di động, TV LCD, Máy tính LƯU Ý, v.v. Nó cũng có thể được sử dụng trong Máy chơi game cầm tay, Máy ảnh kỹ thuật số, Máy quay video kỹ thuật số, PDA, màn hình LCD và nhiều thiết bị khác yêu cầu ứng dụng cảm biến ánh sáng hiệu quả.
Đề xuất:
Hướng dẫn: Cách xây dựng mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X bằng cách sử dụng Arduino UNO: 3 bước
Hướng dẫn: Cách xây dựng Mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X bằng cách sử dụng Arduino UNO: Mô tả: Hướng dẫn này sẽ hiển thị chi tiết cho tất cả các bạn về cách xây dựng máy dò khoảng cách bằng cách sử dụng Mô-đun cảm biến đo khoảng cách bằng tia laser VL53L0X và Arduino UNO và nó sẽ chạy giống như bạn muốn. Làm theo hướng dẫn và bạn sẽ hiểu gia sư này
Đèn xe đạp rất sáng sử dụng bảng điều khiển ánh sáng tùy chỉnh PCB: 8 bước (có hình ảnh)
Đèn xe đạp rất sáng sử dụng bảng điều khiển ánh sáng tùy chỉnh PCB: Nếu bạn sở hữu một chiếc xe đạp thì bạn sẽ biết những ổ gà khó chịu có thể ảnh hưởng đến lốp xe và thân xe của bạn như thế nào. Tôi đã làm nổ lốp xe quá đủ rồi nên tôi quyết định thiết kế bảng điều khiển đèn led của riêng mình với mục đích sử dụng nó như một chiếc đèn xe đạp. Một trong đó tập trung vào việc trở thành E
Tính toán cường độ ánh sáng sử dụng BH1715 và Arduino Nano: 5 bước
Tính toán cường độ ánh sáng sử dụng BH1715 và Arduino Nano: Hôm qua, chúng tôi đã làm việc trên màn hình LCD và trong khi làm việc với chúng, chúng tôi nhận ra tầm quan trọng của tính toán cường độ ánh sáng. Cường độ ánh sáng không chỉ quan trọng trong lĩnh vực vật lý của thế giới này mà nó còn có vai trò được nói rõ trong lĩnh vực sinh học
Tính toán cường độ ánh sáng sử dụng BH1715 và Photon hạt: 5 bước
Tính toán cường độ ánh sáng sử dụng BH1715 và Photon hạt: Hôm qua, chúng tôi đã làm việc trên màn hình LCD và trong khi làm việc với chúng, chúng tôi nhận ra tầm quan trọng của việc tính toán cường độ ánh sáng. Cường độ ánh sáng không chỉ quan trọng trong lĩnh vực vật lý của thế giới này mà nó còn có vai trò được nói rõ trong lĩnh vực sinh học
Tiết kiệm năng lượng cường độ ánh sáng bằng cách sử dụng tế bào quang điện và cảm biến nhiệt: 6 bước
Tiết kiệm năng lượng cường độ ánh sáng bằng cách sử dụng tế bào quang điện và nhiệt điện trở: Tài liệu hướng dẫn này được thiết kế để dạy bạn cách tiết kiệm năng lượng bằng cách thay đổi cường độ ánh sáng bằng cách sử dụng tế bào quang điện và nhiệt điện trở. Chúng tôi sẽ chỉ cho bạn cách xây dựng mạch và viết mã Arduino bằng MATLAB