Tải bản đầy đủ

Mô hình tự mở tắt đèn dùng cảm biến cường độ ánh sáng BH1750FVI

LỜI MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của thế giới về mọi mặt, trong đó
khoa học công nghệ nói chung và các lĩnh vực về điện tử nói riêng có nhiều
phát triển vƣợt bậc, góp phần làm cho thế giới ngày càng hiện đại và văn minh
hơn. Sự phát triển của khoa học công nghệ về các thiết bị, linh kiện điện tử với
các đặc điểm nhƣ độ chính xác cao, tốc độ nhanh, gọn nhẹ và hoạt động ổn
định. Và từ lâu, cảm biến đƣợc sử dụng nhƣ những thiết bị cảm nhận và phát
hiện. Nhƣng vài năm gần đây, chúng mới thể hiện vai trò quan trọng trong kỹ
thuật và công nghiệp, đặc biệt là trong lĩnh vực đo lƣờng, kiểm tra và điều khiển
tự động.
Từ những tầm quan trọng và ứng dụng đó, nhóm 2 đã chọn đề tài MÔ
HÌNH TỰ MỞ/TẮT ĐÈN DÙNG CẢM BIẾN CƢỜNG ĐỘ ÁNH SÁNG
BH1750FVI nhằm mục đích tìm hiểu, nghiên cứu về nguyên lý làm việc của
các cảm biến ánh sáng nói chung và thiết bị cảm biến cƣờng độ ánh sáng
BH1750FVI nói riêng. Bên cạnh đó một phần cũng tìm hiểu quá trình hoạt động
và điều khiển, truy xuất của thiết bị màn hình LCD, Arduino và có thể mô
phỏng ứng dụng thực tế.
Mặc dù rất cố gắng để hoàn thành mô hình nhƣng cũng không thiếu
những sai sót, mong thầy và các bạn đóng góp ý kiến để có thể hoàn hiện hơn
về sản phẩm. Qua đây, nhóm 2 cũng chân thành cảm ơn thầy Nguyễn Kim
Suyên, thuộc Khoa Điện – Điện tử, Trƣờng Cao đẳng Công Thƣơng TP.HCM

phụ trách môn học “Đo lƣờng và cảm biến” và đã hƣớng dẫn nhóm 2 thực hiện
mô hình này.

Ngƣời thực hiện
(Nhóm 2)

1
NHÓM 2


MỤC LỤC
MỤC LỤC
CHƢƠNG 1. TỔNG QUAN VỀ CẢM BIẾN BH1750FVI
1.1 KHÁI NIỆM CHUNG VỀ CẢM BIẾN
1.2 KHÁI NIỆM VỀ CƢỜNG ĐỘ ÁNH SÁNG (HAY ĐỘ RỌI)
1.3 KHÁI QUÁT VỀ BH1750FVI
CHƢƠNG 2. QUÁ TRÌNH THỰC HIỆN
2.1 CÁC LINH KIỆN SỬ DỤNG
2.2 SƠ ĐỒ LẮP MẠCH VÀ MÔ HÌNH NỐI DÂY THỰC TẾ
2.3 QUÁ TRÌNH LẬP TRÌNH CODE CHO ARDUINO
CHƢƠNG 3. KẾT LUẬN VÀ ỨNG DỤNG
TÀI LIỆU THAM KHẢO

2
3
3
3
3
5
5
7
8
13
14

2
NHÓM 2


CHƯƠNG 1. TỔNG QUAN VỀ CẢM BIẾN BH1750FVI

1.1 KHÁI NIỆM CHUNG VỀ CẢM BIẾN
Cảm biến là thiết bị dùng để cảm nhận biến đổi các đại lƣợng vật lý thành
tín hiệu điện và có thể xử lý đƣợc.
Đại lƣợng
vật lý

INPUT

Cảm biến

OUTPUT

Tín hiệu
điện

1.2 KHÁI NIỆM VỀ CƯỜNG ĐỘ ÁNH SÁNG (HAY ĐỘ RỌI)
Lux (Ký hiệu : lx) là đơn vị độ rọi trong hệ SI. Nó đƣợc sử dụng trong trắc
quang học để đánh giá cƣờng độ ánh sáng cảm nhận đƣợc. Đây là một đơn
vị dẫn suất trong hệ SI, nghĩa là nó đƣợc định nghĩa từ các đơn vị “cơ bản”
hơn. Cụ thể, đo độ rọi bằng quang thông trên diện tích :
1 lx = 1 lm/m2
lm (lumen) : đơn vị đo quang thông trong SI.
1.3 KHÁI QUÁT VỀ BH1750FVI
Cảm biến cƣờng độ ánh sáng là một loại cảm biến thuộc về cảm biến quang,
hoạt động cảm nhận ánh sáng dựa vào thiết bị cảm biến.

Cảm biến cƣờng độ ánh sáng BH1750FVI đƣợc sử dụng để đo cƣờng độ ánh
sáng theo đơn vị “lux”. Cảm biến có ADC nội và bộ tiền xử lý nên giá trị đƣợc
3
NHÓM 2


xuất ra là giá trị trực tiếp cƣờng độ ánh sáng lux mà không phải qua bất kỳ xử lý
hay tính toán nào thông qua giao tiếp I2C.
THÔNG SỐ :
Nguồn : 3 – 5V
Các chân giao tiếp (5 chân ) : VCC – ADD – SDA – SCL – GND
Giao tiếp : I2C
Khoảng đo : 0 – 65535 lux
Kích cỡ : 21*16*3.3 mm
SƠ ĐỒ HOẠT ĐỘNG :

MỘT SỐ VÍ DỤ VỀ ĐỘ RỌI CỦA ÁNH SÁNG :
Buổi tối và ánh trăng : 0 – 1 lux
Trời nhiều mây trong nhà : 5 – 50 lux
Trời nhiều mây ngoài trời : 50 – 500 lux
Trời nắng trong nhà : 100 – 1000 lux

4
NHÓM 2


CHƯƠNG 2. QUÁ TRÌNH THỰC HIỆN
2.1 CÁC LINH KIỆN SỬ DỤNG
1. Cảm biến cƣờng độ ánh sáng (lux) BH1750FVI : Dùng để nhận ánh sáng từ
bên ngoài thông qua cảm biến.

2. Board Arduino Nano (Atmega328) : Kết nối với cảm biến, màn hình LCD,
BH1750FVI và điều khiển đèn.

3. LCD 16x02 : Xuất ra giá trị cƣờng độ ánh sáng và thông báo đèn mở/tắt.

5
NHÓM 2


4. Led :

Thay thế đèn cho mô hình.

5. Biến trở 10K :

Dùng để điều chỉnh độ tƣơng phản của LCD.

6. Điện trở : 330 x 2 :

Hạn dòng cho Led và đèn LCD.

7. Bus cắm Testboard : Kết nối các linh kiện thành mạch điều khiển.

8. Testboard : Làm đế cắm cho linh kiện và bus cắm.

9. Phần mềm nạp code cho arduino : Arduino IDE

6
NHÓM 2


2.2 SƠ ĐỒ LẮP MẠCH VÀ MÔ HÌNH NỐI DÂY

Sử dụng nguồn 5V bằng cáp truyền dữ liệu cho Arduino Nano từ Laptop
hoặc sạc USB nguồn 5V. Cũng có thể cấp nguồn 5V bằng PIN cho Aruduino
Nano thông qua chân Vin và GND của board.
7
NHÓM 2


2.3 QUÁ TRÌNH LẬP TRÌNH CODE CHO ARDUINO
Sử dụng phần mềm Arduino IDE để tiến hành nạp code cho Arduino.
Cắm cáp truyền dữ liệu của Arduino vào Laptop/PC.
Kiểm tra Driver cho máy tính, nếu máy chƣa có driver, tiến hành tải và cài
driver cho máy (CH340)

Khởi động phần mềm
Arduino IDE, trên thanh
công cụ chọn Sketch để
nạp thƣ viện BH1750FVI.

8
NHÓM 2


Chọn Tool trên thanh công cụ để chọn sử dụng Arduino Nano

Tiến hành lập trình code :
// Chuong trinh do cuong do anh sang de dieu khien den => xuat ra LCD
#include
#include
#include

// Sensor Library
// I2C Library
// LCD Library

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
uint16_t Light_Intensity=0;
BH1750FVI LightSensor;
void setup() {
lcd.begin(16, 2);
LightSensor.begin();
LightSensor.SetAddress(Device_Address_H);
LightSensor.SetMode(Continuous_H_resolution_Mode);
pinMode(9, OUTPUT);
// Dinh nghia nguon 5V cho chan D9 de dieu khien led
lcd.setCursor(0, 0);
// Dua con tro LCD den o 1 hang 1
lcd.print("BH1750FVI Sensor");
lcd.setCursor(1, 1);
// Dua con tro LCD den o 2 hang 2
lcd.print("Please Wait...");
9
NHÓM 2


delay(3000);
lcd.clear();

// Cho 3 giay
// Xoa man hinh LCD

}
void loop() {
lcd.clear();
lcd.setCursor(0, 0);
// Dua con tro LCD den o 1 hang 1
lcd.print("Ev = ");
Light_Intensity = LightSensor.GetLightIntensity(); // Gan ham tinh do anh sang cho bien
lcd.print(Light_Intensity);
// Xuat ra LCD gia tri cuong do anh sang
lcd.setCursor(11, 0);
// Dua con tro LCD den o 12 dong 1
lcd.print("(lux)");
lcd.setCursor(0, 1);
// Dua con tro LCD den o 2 cot 1
lcd.print("Light : ");
digitalWrite(9, LOW);
// Khoi tao mac dinh led tat
if(Light_Intensity < 100) {
lcd.print("ON");
// Thong bao led sang
digitalWrite(9, HIGH);
// Cap nguon 5V cho chan D9 => led sang
}
else {
lcd.print("OFF");
// Thong bao led tat
digitalWrite(9, LOW);
// Ngat nguon 5V cho chan D9 => led tat
}
delay(100);
// Thoi gian gian cach moi lan thay doi cuong do anh sang
}

Thƣ viện BH1750FVI.h
// This library for Digital Light sensor BH1750FVI
#ifndef BH1750FVI_h
#define BH1750FVI_h
#include "Arduino.h"
#include "Wire.h"
#define Device_Address_L 0x23 // Device address when address pin LOW
#define Device_Address_H 0x5C // Device address when address pin LOW
//all command here taken from Data sheet OPECODE Table page 5
#define Power_Down 0x00
#define Power_On 0x01
#define reset 0x07
#define Continuous_H_resolution_Mode 0x10
#define Continuous_H_resolution_Mode2 0x11
#define Continuous_L_resolution_Mode 0x13
#define OneTime_H_resolution_Mode 0x20
10
NHÓM 2


#define OneTime_H_resolution_Mode2 0x21
#define OneTime_L_resolution_Mode 0x23//As well as address value
#define AddrPin 17 // Address pin enable
class BH1750FVI {
public:
BH1750FVI();
void begin(void);
void Sleep(void);
void SetMode(uint8_t MODE);
void Reset(void);
void SetAddress(uint8_t add);
uint16_t GetLightIntensity(void);
private:
void I2CWriteTo(uint8_t DataToSend);
byte address_value;
boolean state;
};
#endif

Tiến hành nạp code cho Arduino Nano :

11
NHÓM 2


Quá trình nạp code thành công.

Ghi chú : Mô hình này hoạt động khi cảm biến nhận ánh sáng thì sẽ xuất ra màn
hình LCD giá trị cƣờng độ ánh sáng (với đơn vị là “lux”) và thông báo đèn đang
mở hay tắt. Ở đây, code đặt định mức là 100 lux, nếu giá trị cƣờng độ ánh sáng
Ev < 100 thì đèn tự mở và ngƣợc lại nếu Ev ≥ 100 thì đèn tự tắt.
MÔ HÌNH THỰC TẾ

12
NHÓM 2


CHƯƠNG 3. KẾT LUẬN VÀ ỨNG DỤNG
Nhƣ vậy, quá trình thực hiện MÔ HÌNH TỰ MỞ/TẮT ĐÈN DÙNG CẢM
BIẾN CƯỜNG ĐỘ ÁNH SÁNG BH1750FVI của nhóm 2 đã hoàn thành. Mô
hình hoạt động khi Arduino đƣợc cấp nguồn 5V.
Từ việc thực hiên mô hình,chung ta có thể ứng dụng để điều khiển tự
động mở/tắt đèn trong nhà, cửa hàng,... mà không phải bỏ công đi mở đèn.
Có thể sử dụng để nhận biết cƣờng độ ánh sáng là bao nhiêu để ứng dụng
vào việc nghiên cứu các chuyên đề khoa học về ánh sáng.
Ứng dụng trong việc chiếu sáng nông nghiệp cũng nhƣ chăn nuôi, trồng
trọt.
Bên cạnh đó còn đƣợc sử dụng trong y học ánh sáng.

13
NHÓM 2


TÀI LIỆU THAM KHẢO
Trong quá trình thực hiện, nhóm có sử dụng mộ số tài liệu tham khảo :
1.
2.
3.
4.

Code mẫu“BH1750FVI”
Hƣớng dẫn lập trình Arduino từ arduino.vn
Datasheet BH1750FVI
Datasheet Arduino Nano (V2.3)

14
NHÓM 2



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×