Tải bản đầy đủ (.doc) (39 trang)

NHÀ THÔNG MINH DÙNG ARDUINO và BLUETOOTH (có code)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.82 MB, 39 trang )

TÊN ĐỀ TÀI: NHÀ THÔNG MINH DÙNG
ARDUINO VÀ BLUETOOTH


MỤC LỤC
DANH MỤC CÁC HÌNH VẼ.............................................................................................III
DANH MỤC CÁC TỪ VIẾT TẮT.....................................................................................IV
TỔNG QUAN VỀ ĐỀ TÀI.....................................................................................................2
1.1 GIỚI THIỆU

2

1.1.1 Lịch sử.......................................................................................................................2
1.1.2 Hướng thực hiện........................................................................................................2
CHƯƠNG 2. NGUYÊN LÝ CHUNG CỦA ĐỀ TÀI...........................................................3
2.1 SƠ ĐỒ KHỐI

3

2.2 SƠ ĐỒ NGUYÊN LÝ

4

2.3 SƠ ĐỒ GIẢI THUẬT

5

CHƯƠNG 3. TÌM HIỂU LINH KIỆN..................................................................................6
3.1 BOARD ARDUINO MEGA 2560

6



3.2 ARDUINO UNO R3

7

3.3 CẢM BIẾN VÂN TAY R305

8

3.4 MẠCH THU RF 315 MHZ PT2272-T4

11

3.5 MODULE I2C

12

3.6 MODULE HC-05

14

3.7 CẢM BIẾN ĐỘ ẨM VÀ ĐẤT DHT11

16

3.8 CẢM BIẾN KHÍ GA MQ2

17

3.9 CẢM BIẾN ÁNH SÁNG


17

3.10 CẢM BIẾN ĐO ĐỘ ẨM ĐẤT

18

3.11 ĐỘNG CƠ SERVO SG90 9 G MICRO

18

3.13 HÌNH ẢNH SẢN PHẨM THỰC TẾ

20

CHƯƠNG 4. NHẬN XÉT.....................................................................................................25
4.1 NHẬN XÉT

25

CHƯƠNG 5. KẾT LUẬN.....................................................................................................25


5.1 KẾT LUẬN

25

5.2 HƯỚNG PHÁT TRIỂN

25


TÀI LIỆU THAM KHẢO....................................................................................................25
PHỤ LỤC A............................................................................................................................26

DANH MỤC CÁC HÌNH VẼ


DANH MỤC CÁC TỪ VIẾT TẮT

I2C

Inter-integrated Circuit

UART

Universal Asynchronous Receiver – Transmitter

TX

Transmitter

RX

Receiver

PWM

Pulse Width Modulation

SRAM


Static Random Access Memory

EEPROM

Electrically Erasable Programmable Read-Only Memory

MISO

Master Input / Slave Output

MOSI

Master Output / Slave Input

SCK

Serial Clock

IDE

Intergrated Development Environment

SDA

Serial Data Line

SCL

Serial Clock Line


LCD

Liquid Crystal Display


Trang 1/35

Nhà thông minh dùng Arduino và Bluetooth


Trang 2/35

TỔNG QUAN VỀ ĐỀ TÀI
1.1 Giới thiệu
Ngày nay với sự phát triển về công nghệ, kỹ thuật việc kết nối, điều khiển thiết
bị trong sản xuất nhằm phục vụ đời sống kinh tế xã hội con người. Nhu cầu con
người về một cuộc sống an toàn thoải mái, an toàn tiện nghi là điều tất yếu. Chính
vì vậy ý tưởng nhà thông minh đã ra đời giúp con người có thể điều khiển thiết bị
trong nhà theo ý muốn. Vì vậy, với việc điều khiển trong phạm vi nhà cho phép việc
điều khiển thông qua Bluetooth phù hợp với mục đích, giúp tiết kiệm thời gian, tiện
lợi cho việc điều khiển thiết bị.
1.1.1 Lịch sử
Từ khi có công nghệ truyền dữ liệu không dây thì các hệ thống điều khiển, giám
sát từ xa, các hệ thống tự động được hoạt động mới cách mạnh mẽ, giúp chúng ta
giải quyết được rất là nhiều việc. Cũng như viêc kết nối truyền dữ liệu dễ dàng,
không phải khó khăn như trước.
1.1.2 Hướng thực hiện
Trong đề tài được sử dụng Arduino UNO, Arduino Mega2560, cảm biến nhiệt
độ độ ẩm (DHT11), cảm biến vân tay R305, cảm biến ánh sáng, LCD 20x4, LCD

16x2 module I2C, module thu phát RF 315 MHz, module bluetooth HC-05 để giao
tiếp với smartphone.

Nhà thông minh dùng Arduino và Bluetooth


Trang 3/35

CHƯƠNG 2. NGUYÊN LÝ CHUNG CỦA ĐỀ TÀI
2.1 Sơ đồ khối
Cảm biến
vân tay

Khối nguồn

Mạch thu RF

Cảm biến nhiệt độ, độ

và Remote

ẩm, gas, ánh sáng

Arduino Uno R3

LCD

DC servo

Arduino Mega2560


LCD

HC – 05 điều khiển led

Hình 2-1: Sơ đồ khối toàn mạch

Khi cấp nguồn cho hệ thống, vi điều khiển Arduino Uno R3 đặt ở ngoài cửa, quét
vân tay hoặc nhấn RF thì vân tay đúng thì DC servo sẽ quay và hiện lên LCD.
Arduino Mega2560 được đặt ở trong nhà mô hình, sau đó ta kết nối Bluetooth với
HC-05 nhập đúng mật khẩu đã cài đặt thì ứng dụng trên điện thoại báo kết nối. Và
điều khiển được bóng đèn trong nhà, nhiệt độ. độ ẩm và khí ga đo được sẽ hiển thị
lên LCD và hiển thị lên ứng dụng điện thoại. Khi trời tối cảm biến ánh sáng truyền
dữ liệu cho Arduino Mega 2560 sẽ tự động bật đèn cổng.

Nhà thông minh dùng Arduino và Bluetooth


Trang 4/35

2.2 Sơ đồ nguyên lý

Hình 2-2: Sơ đồ nguyên lí mô phỏng

Nhà thông minh dùng Arduino và Bluetooth


Trang 5/35

2.3 Sơ đồ giải thuật


Hình 2-3: Lưa đồ thuật toán của chương trình chính

Nhà thông minh dùng Arduino và Bluetooth


Trang 6/35

CHƯƠNG 3. TÌM HIỂU LINH KIỆN
3.1 Board Arduino Mega 2560
Arduino Mega2560 là một vi điều khiển bằng cách sử dụng ATmega2560.

Hình 3.1: Board Arduino Mega2560 [1]

Hình 3-2: Chíp ATmega2560 trong board Arduino Mega2560 [2]

Nhà thông minh dùng Arduino và Bluetooth


Trang 7/35

Bảng 3-3: Thông số kĩ thuật của Arduino Mega2560

Chip xử lý
Điện áp hoạt động
Điện áp vào đề nghị
Điện áp giới hạn
Cường độ dòng điện trên mỗi chân I/O
Bộ nhớ flash
SRAM

EEPROM
Clock Speed

ATmega2560
5V
7 V-15 V
6 V-20 V
20 mA
256 KB
8 KB
4 KB
16 MHz

Arduino Mega2560 bao gồm:
• 54 chân digital
• 6 ngắt ngoài
• 16 chân analog (A0 đến A15)
• 4 cổng Serial
3.2 Arduino Uno R3
Arduino Uno R3 có thể dùng một trong ba vi điều khiển họ 8 bit AVR là ATmega8,
ATmega168, ATmega328.

Hình 3-4: Board Arduino Uno R3 [1]

Bảng 3.5: Thông số kĩ thuật Arduino Uno R3

Chíp xử lí

Nhà thông minh dùng Arduino và Bluetooth


ATmega328 8 bit


Trang 8/35

Điện áp hoạt động
Dòng tiêu thụ
Điện áp giới hạn
Bộ nhớ flash
SRAM
EEPROM
Tần số hoạt động

5 VDC
30 mA
6 V-20 V
32 KB
2 KB
1 KB
16 Hz

3.3 Cảm biến vân tay R305
Nguyên lý hoạt động của công nghệ nhận dạng vân tay là khi đặt ngón tay lên trên
một thiết bị nhận dạng dấu vân tay, ngay lập tức thiết bị này sẽ quét hình ảnh ngón
tay đó và đối chiếu các đặc điểm của ngón tay đó với dữ liệu đã được lưu trữ trong
hệ thống. Quá trình xử lý dữ liệu sẽ được thiết bị chuyển sang các dữ liệu số và ra
thông báo rằng dấu vân tay đó là hợp lệ hay không hợp lệ để cho phép hệ thống
thực hiện các chức năng tiếp theo. Hệ thống sinh trắc học sẽ ghi nhận mẫu vân tay
của người dùng và lưu trữ tất cả những dữ liệu đặc biệt này thành một mẫu nhận
diện được số hoá toàn phần.


Hình 3-6: Cảm biến vân tay R305 [2]

a. Quá trình xử lí ảnh

Nhà thông minh dùng Arduino và Bluetooth


Trang 9/35

Hình 3-7: Sơ đồ quá trình xử lý ảnh

-

Tăng cường ảnh (Image Enhancement): Ảnh được lấy từ thiết bị đầu đọc

vân tay sẽ được làm rõ. Do các thiết bị đầu đọc vân tay không lấy ảnh tốt hay do
vân tay của người dùng trong lúc lấy bị hao mòn, dơ bẩn, hay do lực ấn ngón tay
trong lúc lấy vân tay. Vì vậy, bước này là một trong các bước quan trọng nhất của
quá trình này để làm rõ ảnh vân tay để rút trích các đặc trưng đúng và đầy đủ.
- Phân tích ảnh (Image Analysis): Thông qua phân tích ảnh, ảnh sẽ được loại
bỏ những thông tin làm nhiễu hay những thông tin không cần thiết.
- Nhị phân hóa (Binarization): Nhị phân hóa ảnh vân tay thành ảnh trắng
đen. Bước này phục vụ cho bước Làm mỏng vân tay. Bước này có thể có hoặc
không vì phục thuộc vào thuật toán rút trích đặc trưng.
- Làm mỏng (Thinning): Làm mỏng các đường vân lồi của ảnh vân tay.
Bước này nhằm mục đích cho việc rút trích đặc trưng của vân tay. Bước này cũng
có thể có hoặc không vì phục thuộc vào thuật toán rút trích đặc trưng.
- Rút trích đặc trưng (Minutiae Extraction): Rút trích những đặc trưng cần
thiết cho quá trình so sánh vân tay.


b. Quá trình so sánh vân tay

Nhà thông minh dùng Arduino và Bluetooth


Trang 10/35

Hình 3-8: Sơ đồ quá trình so sánh vân tay
Mục đích của quá trình này được biểu diễn trên Hình 3.8 là so sánh vân tay
dựa trên các đặc trưng đã được rút trích. Quá trình này được thực hiện qua các bước
nhỏ sau:
-

Phân tích đặc trưng (Minutiae Analysis): Phân tích các đặc điểm cần thiết

của các đặc trưng để phục vụ cho việc so sánh vân tay.
- Xét độ tương tự cục bộ (Local Similarily): Thuật toán so sánh vân tay sẽ
dựa vào các thông tin cục bộ của các đặc trưng (gồm: tọa độ (x, y), hướng của đặc
trưng, góc tạo bởi tiếp tuyến của đường vân tại đặc trưng và trục ngang) của vân tay
để tìm ra các cặp đặc trưng giống nhau giữa hai vân tay.
- Xét độ tương tự toàn cục (Global Similarily): Từ nhưng khu vực tương tự
nhau trên cục bộ, thuật toán sẽ tiếp tục mở rộng so sánh trên toàn cục.
- Tính điểm so sánh (Calculate Matching Score): Tính toán tỷ lệ độ giống
nhau giữa các cặp đặc trưng. Điểm so sánh này sẽ cho biết độ giống nhau của hai
ảnh vân tay là bao nhiêu.

c. Thông số kỹ thuật
Điện áp cung cấp: DC 4.2 ~ 6.0 V.
Dòng cung cấp:


Nhà thông minh dùng Arduino và Bluetooth


Trang 11/35

+ Dòng làm việc bình thường: 40 mA.
+ Dòng đỉnh: 150 mA.
Thời gian thu thập hình ảnh: < 0.5 giây.
Kích thước cửa sổ quét: 18x22 mm.
Chế độ quét:
+ So sánh với một mẫu duy nhất (1:1).
+ Tìm kiếm và so sánh với mẫu lưu trong bộ nhớ (1: N).
Bộ nhớ lưu trữ mẫu: 512 bytes.
Mức độ an toàn: năm (từ thấp đến cao: 1, 2, 3, 4, 5 (cao nhất)).
Tỷ lệ lỗi chấp nhận nhầm (FAR): < 0,001.
Tỷ lệ từ chối nhầm (FRR): < 1.0%.
Thời gian tìm kiếm: < 1.0 giây (1: 1000, trung bình).
Giao tiếp với máy tính: UART (TTL mức logic)
Tốc độ truyền thông tin liên lạc (UART): (9600 x N) bps đó N = 1 ~ 12 (giá trị mặc
định N = 6, tức là 57600bps)
Môi trường làm việc:
+ Nhiệt độ: -20 ℃ ~ + 40 ℃
+ Độ ẩm tương đối: 10% - 85%
Môi trường bảo quản:
+ Nhiệt độ: -40 ℃ ~ + 85 ℃
+ Độ ẩm tương đối: <85%

3.4 Mạch thu RF 315 MHz PT2272-T4
Mạch dùng IC giải mã PT2272–T4


Nhà thông minh dùng Arduino và Bluetooth


Trang 12/35

Hình 3-9: Mạch thu RF 315 MHz PT2272-T4

a. Thông số kỹ thuật
Điện áp hoạt động: 5 VDC
Tần sô hoạt động: 315 MHz
Dòng tiêu thụ: 4.5 mA
Độ nhạy: -105 dB

3.5 Module I2C
I2C là một giao thức kiểu Multi-Master và Multi-Slave được tích hợp sẵn trong các
IC để tiện việc giao tiếp. Giao thức I2C chỉ phù hợp cho giao tiếp khoảng cách

Nhà thông minh dùng Arduino và Bluetooth


Trang 13/35

ngắn, và giao tiếp với 1 thiết bị tại một thời điểm. I2C chỉ dùng 2 dây (clock và
data) để truyền nhận dữ liệu.
.

Hình 3-10: Mô hình của I2C

Hình 3-11: Sơ đồ mạch của giao thức I2C [1]


Nhà thông minh dùng Arduino và Bluetooth


Trang 14/35

Hình 3-12: Hình ảnh modul I2C [1]

3.6 Module HC-05
Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cách ngắn.
Chuẩn truyền thông này sử dụng sóng radio ngắn (UHF radio) rong dải tần số ISM
(2.4 GHz tới 2.485 GHz). Khoảng cách truyền của module này vào khoảng 10 m.
Module dựa trên chip BC417

Nhà thông minh dùng Arduino và Bluetooth


Trang 15/35

Hình 3-13: Hình ảnh module HC-05 [1]

Sơ đồ chân
KEY: Chọn chế độ ATMode hoặc Data Mode
VCC: Chân cấp nguồn (3.6 V đến 6 V)
GND: Chân âm
TX, RX: Đây là hai chân UART để giao tiếp module hoạt động mức logic 3.3 V
STATE: Chân báo trạng thái HC-05

Nhà thông minh dùng Arduino và Bluetooth



Trang 16/35

3.7 Cảm biến độ ẩm và đất DHT11

Hình 3-14: Hình ảnh thực tế và sơ đồ chân của DHT11 [1]

+ Thông số kĩ thuật:
• Đo độ ẩm: 20-90 %.
• Nhiệt độ: 0-50 ºC.
• Sai số độ ẩm: ±5 %.
• Sai số nhiệt độ: ±2 %.
• Nguồn nên sử dụng: 3.3-5 VDC
• Dòng điện cho phép: 0.5-2.5 mA

Nhà thông minh dùng Arduino và Bluetooth


Trang 17/35

3.8 Cảm biến khí ga MQ2
Cấu tạo từ chất bán dẫn SnO2 thấp hơn trong không khí sạch, khi khí dễ cháy tồn
tại, cảm biến có độ dẫn điện cao, nồng độ chất dễ cháy càng cao thì độ dẫn điện của
SnO2 càng cao và được ứng chuyển thành tín hiệu điện.

Hình 3-15: Cảm biến khí ga MQ2 [1]

3.9 Cảm biến ánh sáng
Cảm biến ánh sáng nhạy cảm nhất với cường độ ánh sáng môi trường thường được
sử dụng để phát hiện độ sáng môi trường xung quanh và cường độ ánh sáng.


Hình 3-16: Cảm biến ánh sáng [1]

Nhà thông minh dùng Arduino và Bluetooth


Trang 18/35

3.10

Cảm biến đo độ ẩm đất

Cảm biến độ ẩm đất dùng IC so sánh LM393, trạng thái đầu ra mức thấp (0 V), khi
đất thiếu nước đầu ra sẽ là mức cao (5 V), độ nhạy cao chúng ta có thể điều chỉnh
được bằng biến trở.

Hình 3-17: Cảm biến đo độ ẩm đất [1]

3.11

Động cơ Servo SG90 9 g Micro

Hình 3-18: Hình ảnh thực tế và kích thước chi tiết [1]

Nhà thông minh dùng Arduino và Bluetooth


Trang 19/35

3.12 Màn hình hiển thị LCD

Ngày nay, thiết bị hiển thị LCD (Liquid Crystal Display) được sử dụng trong rất
nhiều các ứng dụng. LCD có rất nhiều ưu điểm so với các dạng hiển thị khác.

Hình 3-19: LCD 20x4 [1]

Nhà thông minh dùng Arduino và Bluetooth


Trang 20/35

3.13 Hình ảnh sản phẩm thực tế

Hình 3-20: Tổng quan toàn bộ mô hình

Hình 3-21: Mô phỏng cửa nhà bằng Servo điều khiển cảm biến vân tay, RF

Nhà thông minh dùng Arduino và Bluetooth


Trang 21/35

Hình 3-22: Cảm biến đo độ ẩm đất

Hình 3-23: Cảm biến khí ga

Nhà thông minh dùng Arduino và Bluetooth


×