You are on page 1of 14

LI M U

Ngy nay, vi s pht trin mnh m ca th gii v mi mt, trong


khoa hc cng ngh ni chung v cc lnh vc v in t ni ring c nhiu
pht trin vt bc, gp phn lm cho th gii ngy cng hin i v vn minh
hn. S pht trin ca khoa hc cng ngh v cc thit b, linh kin in t vi
cc c im nh chnh xc cao, tc nhanh, gn nh v hot ng n
nh. V t lu, cm bin c s dng nh nhng thit b cm nhn v pht
hin. Nhng vi nm gn y, chng mi th hin vai tr quan trng trong k
thut v cng nghip, c bit l trong lnh vc o lng, kim tra v iu khin
t ng.
T nhng tm quan trng v ng dng , nhm 2 chn ti M
HNH T M/TT N DNG CM BIN CNG NH SNG
BH1750FVI nhm mc ch tm hiu, nghin cu v nguyn l lm vic ca
cc cm bin nh sng ni chung v thit b cm bin cng nh sng
BH1750FVI ni ring. Bn cnh mt phn cng tm hiu qu trnh hot ng
v iu khin, truy xut ca thit b mn hnh LCD, Arduino v c th m
phng ng dng thc t.
Mc d rt c gng hon thnh m hnh nhng cng khng thiu
nhng sai st, mong thy v cc bn ng gp kin c th hon hin hn
v sn phm. Qua y, nhm 2 cng chn thnh cm n thy Nguyn Kim
Suyn, thuc Khoa in in t, Trng Cao ng Cng Thng TP.HCM
ph trch mn hc o lng v cm bin v hng dn nhm 2 thc hin
m hnh ny.

Ngi thc hin


(Nhm 2)

1
NHM 2

MC LC
MC LC
CHNG 1. TNG QUAN V CM BIN BH1750FVI
1.1 KHI NIM CHUNG V CM BIN
1.2 KHI NIM V CNG NH SNG (HAY RI)
1.3 KHI QUT V BH1750FVI
CHNG 2. QU TRNH THC HIN
2.1 CC LINH KIN S DNG
2.2 S LP MCH V M HNH NI DY THC T
2.3 QU TRNH LP TRNH CODE CHO ARDUINO
CHNG 3. KT LUN V NG DNG
TI LIU THAM KHO

2
3
3
3
3
5
5
7
8
13
14

2
NHM 2

CHNG 1. TNG QUAN V CM BIN BH1750FVI


1.1 KHI NIM CHUNG V CM BIN
Cm bin l thit b dng cm nhn bin i cc i lng vt l thnh
tn hiu in v c th x l c.
i lng
vt l

INPUT

Cm bin

OUTPUT

Tn hiu
in

1.2 KHI NIM V CNG NH SNG (HAY RI)


Lux (K hiu : lx) l n v ri trong h SI. N c s dng trong trc
quang hc nh gi cng nh sng cm nhn c. y l mt n
v dn sut trong h SI, ngha l n c nh ngha t cc n v c bn
hn. C th, o ri bng quang thng trn din tch :
1 lx = 1 lm/m2
lm (lumen) : n v o quang thng trong SI.
1.3 KHI QUT V BH1750FVI
Cm bin cng nh sng l mt loi cm bin thuc v cm bin quang,
hot ng cm nhn nh sng da vo thit b cm bin.

Cm bin cng nh sng BH1750FVI c s dng o cng nh


sng theo n v lux. Cm bin c ADC ni v b tin x l nn gi tr c
3
NHM 2

xut ra l gi tr trc tip cng nh sng lux m khng phi qua bt k x l


hay tnh ton no thng qua giao tip I2C.
THNG S :
Ngun : 3 5V
Cc chn giao tip (5 chn ) : VCC ADD SDA SCL GND
Giao tip : I2C
Khong o : 0 65535 lux
Kch c : 21*16*3.3 mm
S HOT NG :

MT S V D V RI CA NH SNG :
Bui ti v nh trng : 0 1 lux
Tri nhiu my trong nh : 5 50 lux
Tri nhiu my ngoi tri : 50 500 lux
Tri nng trong nh : 100 1000 lux

4
NHM 2

CHNG 2. QU TRNH THC HIN


2.1 CC LINH KIN S DNG
1. Cm bin cng nh sng (lux) BH1750FVI : Dng nhn nh sng t
bn ngoi thng qua cm bin.

2. Board Arduino Nano (Atmega328) : Kt ni vi cm bin, mn hnh LCD,


BH1750FVI v iu khin n.

3. LCD 16x02 : Xut ra gi tr cng nh sng v thng bo n m/tt.

5
NHM 2

4. Led :

Thay th n cho m hnh.

5. Bin tr 10K :

Dng iu chnh tng phn ca LCD.

6. in tr : 330 x 2 :

Hn dng cho Led v n LCD.

7. Bus cm Testboard : Kt ni cc linh kin thnh mch iu khin.

8. Testboard : Lm cm cho linh kin v bus cm.

9. Phn mm np code cho arduino : Arduino IDE

6
NHM 2

2.2 S LP MCH V M HNH NI DY

S dng ngun 5V bng cp truyn d liu cho Arduino Nano t Laptop


hoc sc USB ngun 5V. Cng c th cp ngun 5V bng PIN cho Aruduino
Nano thng qua chn Vin v GND ca board.
7
NHM 2

2.3 QU TRNH LP TRNH CODE CHO ARDUINO


S dng phn mm Arduino IDE tin hnh np code cho Arduino.
Cm cp truyn d liu ca Arduino vo Laptop/PC.
Kim tra Driver cho my tnh, nu my cha c driver, tin hnh ti v ci
driver cho my (CH340)

Khi ng phn mm
Arduino IDE, trn thanh
cng c chn Sketch
np th vin BH1750FVI.

8
NHM 2

Chn Tool trn thanh cng c chn s dng Arduino Nano

Tin hnh lp trnh code :


// Chuong trinh do cuong do anh sang de dieu khien den => xuat ra LCD
#include <BH1750FVI.h>
#include <Wire.h>
#include <LiquidCrystal.h>

// 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
NHM 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 vin 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
NHM 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

Tin hnh np code cho Arduino Nano :

11
NHM 2

Qu trnh np code thnh cng.

Ghi ch : M hnh ny hot ng khi cm bin nhn nh sng th s xut ra mn


hnh LCD gi tr cng nh sng (vi n v l lux) v thng bo n ang
m hay tt. y, code t nh mc l 100 lux, nu gi tr cng nh sng
Ev < 100 th n t m v ngc li nu Ev 100 th n t tt.
M HNH THC T

12
NHM 2

CHNG 3. KT LUN V NG DNG


Nh vy, qu trnh thc hin M HNH T M/TT N DNG CM
BIN CNG NH SNG BH1750FVI ca nhm 2 hon thnh. M
hnh hot ng khi Arduino c cp ngun 5V.
T vic thc hin m hnh,chung ta c th ng dng iu khin t
ng m/tt n trong nh, ca hng,... m khng phi b cng i m n.
C th s dng nhn bit cng nh sng l bao nhiu ng dng
vo vic nghin cu cc chuyn khoa hc v nh sng.
ng dng trong vic chiu sng nng nghip cng nh chn nui, trng
trt.
Bn cnh cn c s dng trong y hc nh sng.

13
NHM 2

TI LIU THAM KHO


Trong qu trnh thc hin, nhm c s dng m s ti liu tham kho :
1.
2.
3.
4.

Code muBH1750FVI
Hng dn lp trnh Arduino t arduino.vn
Datasheet BH1750FVI
Datasheet Arduino Nano (V2.3)

14
NHM 2

You might also like