Professional Documents
Culture Documents
HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN VIỄN THÔNG
----------
SĐT: 0374551488
2
LỜI CẢM ƠN
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của
chúng ta đã và đang một ngày thay đổi, văn minh và hiện đại hơn. Sự phát triển của kỹ
thuật điện tử đã tạo ra hàng loạt những thiết bị với các đặc điểm nổi bật như sự chính
xác cao, tốc độ nhanh, gọn nhẹ là những yếu tố rất cần thiết góp phần cho hoạt động
của con người đạt hiệu quả.
Điện tử đang trở thành một ngành khoa học đa nhiệm vụ. Nó đã đáp ứng được
những nhu cầu cần thiết trong hoạt động đời sống hằng ngày. Một trong những nhu
cầu đó là vấn đề về giải quyết các bài toán nông nghiệp. Để có thể giải quyết các vấn
đề về nông nghiệp thông minh một cách hiệu quả đòi hỏi mỗi người cần có những kiến
thức về kỹ thuật, áp dụng công nghệ cao vào hệ thống.
Qua quá trình trao đổi với thầy hướng dẫn về các đề tài về giải quyết bài toán
nông nghiệp, được sự chỉ dẫn của thầy nhóm chúng em quyết định sẽ thực hiện đề tài
“HỆ THỐNG ĐO NHIỆT ĐỘ VÀ NỒNG ĐỘ KHÓI. HỆ THỐNG BÁO CHÁY”.
Trong quá trình học tập và nghiên cứu đề tài “HỆ THỐNG ĐO NHIỆT ĐỘ
VÀ NỒNG ĐỘ KHÓI. HỆ THỐNG BÁO CHÁY” dưới sự giúp đỡ, chỉ bảo nhiệt
tình của thầy Bùi Quốc Bảo, nhóm chúng em đã hoàn thành dự án này.
3
Với tình cảm chân thành, nhóm chúng em xin được bày tỏ lòng biết ơn đối với
thầy đã tận tình giảng dạy, giúp đỡ nhóm em trong suốt quá trình nghiên cứu, phát
triễn đề tài thông qua các tài liệu, kiến thức thực tế.
Mặc dù đã có nhiều cố gắng để hoàn thành dự án tốt đẹp nhất nhưng dự án có
thể không tránh khỏi những thiếu sót. Nhóm chúng em mong thầy và mọi người quan
tâm đến đề tài có những ý kiến đóng góp, giúp đỡ để đề tài được hoàn thiện hơn.
4
CHƯƠNG 1. GIỚI THIỆU SẢN PHẨM CỦA HỆ THỐNG
1. GIỚI THIỆU DỰ ÁN
a) Tổng quan dự án
- Sản phẩm là một thiết bị khóa cửa thông minh mang tính an toàn và thuận tiện.
Đồng thời giúp lưu trữ và quản lí thông tin các lần mở cửa.
b) Nhiệm vụ đề tài
Qua tham khảo các nhu cầu trên thị trường thì yêu cầu của một bộ phận khách
hàng đối với sản phẩm là:
- Sản phẩm giúp người dùng dễ sử dụng.
- Sản phầm nhỏ gọn nhỏ gọn.
- Điện áp hoạt động của hệ thống không gây nguy hiểm đến người sử dụng.
- Sản phẩm không dùng chìa khóa vật lí phiền phức và không an toàn thay
vào đó là thẻ từ và bàn phím nhập mật khẩu
- Cần có chức năng gửi dữ liệu lên web để quản lí dễ dàng hơn
- Có chức năng cảnh bảo khi có người lạ cố gắng mở cửa
c) Kế hoạch dự án
Team Embedded BK
Tên sản phẩm Hệ thống đo nhiệt độ và nồng độ khói. Hệ thống báo cháy
Function Chức năng chính là đo nhiệt độ và nồng độ khói khi có cháy
Ước tính thời gian hoàn 2 tháng
thành Start: 12/10/2022 End: 12/12/2022
Ước tính chi phí Nút nhấn: SL: 5 Tổng: 5 000 VND
KeyPad 4x4 : SL: 1 Tổng: 60 000 VND
Kit Arduino uno R3 : SL: 1 Tổng: 230 000 VND
Điện trở 10K Ohm: SL: 1 gói Tổng: 5 000 VND
Điện trở 330 Ohm: SL: 1 gói Tổng: 5 000 VND
Màn hình LCD 16x2 : SL: 1 Tổng: 45 000 VND
5
LM 35 SL:1 Tổng: 70 000 VND
MQ2 SL:1 Tổng: 30 000 VND
LED SL:1 Tổng: 1 000 VND
Buzzer SL: 1 Tổng: 5 000 VND
Thạch Anh 16Mhz SL: 1 Tổng: 2 000 VND
Tụ gốm + Tụ hóa SL: 4 Tổng: 5 000 VND
Nguồn Adapter 5V2A SL: 1 Tổng: 50 000 VND
Dây cắm SL: 1 bó Tổng: 25 000 VND
Tổng: 538 000 VND
6
Tiến hành thi công mạch
và thử nghiệm đánh giá
sản phẩm
Tổng hợp và báo cáo
Lập bảng báo cáo chi tiết
Hoàn thành dự án
7
Vi điều khiển ATmega328p
b) Giới thiệu về LCD 16x2
LCD được dùng nhiều trong các thiết bị nhúng ngày nay, ứng dụng của
nó là rất nhiều ( hiển thị nhiệt độ, điện áp, chữ, số, kỹ tự đồ họa….. ) dễ dàng
đưa vào các mạch ứng dụng theo nhiều giao thức giao tiếp khác nhau, tiêu tốn
rất ít tài nguyên, tiết kiệm điện năng, giá thành rẻ……..
Phần lớn module LCD sử dụng giaop tiếp 16 chân gồm có:
3 chân điều khiển.
8 chân dữ liệu.
3 chân cấp nguồn cho module.
2 chân cấp nguồn cho led nền.
Chân Tên Chức năng
1 VSS GND
2 VDD Chân nguồn +5V
3 VEE Dùng để điều chỉnh độ tương phản của led nền
4 RS Chọn thanh ghi
5 R/W Đọc/ghi vào LCD
6 E Cho phép
712 D0D5 Các bit dữ liệu
+ Ở chế độ ghi: dữ liệu ở bus sẽ được LCD chuyển vào thanh ghi bên
trong khi phát hiện một xung của tín hiệu chân E.
+ Ở chế độ đọc: dữ liệu sẽ được LCD xuẩt ra DB0-DB7 khi phát hiện
cạnh lên ở chân E và được LCD giữ ở bus đến khi nào chân E xuống mức thấp.
8
Các thông số kỹ thuật của LCD 16x2:
Điện áp max: 7V.
Điện áp min: -0,3V.
Hoạt động ổn định: 2,75,5V
Điện áp ra mức cao: > 2,4
Điện áp ra mức thấp: <0,4
Dòng điện cấp nguồn: 350uA – 600uA.
Nhiệt độ hoạt động: -30 75 độ C.
c) Giới thiệu và ma trận nút 3x4:
- Ma trận nút là tập hợp các nút nhấn kết nối với nhau theo các hàng và
cột. Số nút nhấn tương ứng sẽ là tích của số hàng x số cột.
- Các nút nhấn sẽ nối hàng và cột với nhau. Khi nhấn 1 nút dây hàng
(Row) sẽ nối với dây cột (Colum). Các nút nhấn tương ứng sẽ có vị trí nối hàng
với cột khác nhau.
9
Cấu trúc ma trận phím 3x4
Quét phím sẽ diễn ra như sau: Khi quét cột 1, nếu các phím trong cột đó được
nhấn, tương ứng trạng thái GPIO của các hàng sẽ thay đổi theo vị trí của nút nhấn. Các
nút nhấn trong các cột khác dù được nhấn cũng không có tác dụng gì.
Khi quét đến cột 2,3. cũng tương tự như vậy. Quá trình quét phải sảy ra rất
nhanh, để có thể kiểm tra được tất cả các nút trong thời gian nhấn và thả ra.
Phương pháp quét ma trận phím là một phương pháp rất hay khi sử dụng GPIO,
nó cũng tương tự khi quét các loại ma trận led hay các phương pháp quét khác.
- Cảm biến khí ga MQ2 có thể phát hiện và đo các khí gas như Alcohol,
Propane, Hydrogen, LPG, CO và methane. Phiên bản module cảm biến này đi kèm với
chân kỹ thuật số giúp bộ cảm biến hoạt động ngay cả khi không có vi điều khiển và
phát hiện được các loại khí ga khác. Chân tuần tự phải được sử dụng khi đo khí gas
theo ppm, chân tuần tự cũng được điều khiển theo TTL và hoạt động ở mức 5V vì thế
hết các bộ vi điều khiển thông thường đều có thể sử dụng được.
10
- Các thông số thiết bị:
- LM35 là một cảm biến nhiệt độ được sử dụng rộng rãi hiện nay, nó
hiển thị các giá trị dưới dạng điện áp thay vì đồ C. LM35 hiển thị giá trị điện áp
cao hơn cặp nhiệt điện và có thể không cần khuếch đại điện áp đầu ra. Điện áp
ra của LM35 tỷ lệ với nhiệt độ C theo thang đo 0,01V/độ C. Một đặc điểm quan
trọng hàng đầu là nó chỉ lấy 60us từ nguồn và có khả năng tự gia nhiệt thấp.
a) Mục đích:
11
Chức năng chính là đo nhiệt độ và nồng độ khí gas trong nhà, kho bãi, trang
trại…… điều chỉnh nhiệt độ và mức nồng độ hợp lý để khi vượt ngưỡng đó sẽ gây ra
cháy hay rò rỉ khí gas gây hại đến cho con người, động vật, hàng hóa hay thiết bị máy
móc……
b) Ngoại vi:
- Người dùng điều chỉnh nút nhấn trên ma trận phím nhấn nút * để thiết lập
nhiệt độ hoặc nồng độ khí gas ngưỡng cho hệ thống nhấn nút * xong chọn phím 1 hoặc
2 để chọn thiết lập nhiệt độ hay nồng độ ngưỡng, cài đặt xong nhấn # để OK. Hệ thống
tự động đo nhiệt độ và nồng độ ở môi trường và so sánh với ngưỡng an toàn mà ta đã
cài đặt trước. Nếu cả 2 yếu tố đều thấp hơn ngưỡng thì hệ thống bình thường. Còn khi
1 trong 2 yếu tố vượt mức cho phép hệ thống sẽ phát tín hiệu còi kêu để báo động.
d) Chức năng:
Hoạt động trong môi trường tùy theo ứng dụng của người sử dụng.
c) Sơ đồ khối:
Sơ đồ phần cứng:
Sơ đồ Firmware:
13
d) Thiết kế phần mềm.
Sơ đò giải thuật của hệ thống:
Giải thích : Hệ thống sẽ khởi tạo các giá trị khởi động, khởi chạy cảm biến đo nhiệt
độ,nồng độ đọc dữ liệu về hệ thống. Xuất giá trị nhiệt độ, nồng độ đo được lên LCD.
Sau đó nhấn nút điều chỉnh nhiệt độ và nồng độ tối đa nếu giá trị đo được vượt ngưỡng
tối đa thì sẽ kích hoạt còi.
14
Phần mềm Microchip Studio
Thiết lập các chân giao tiếp cho Atmega328p trên phần mềm Microchip Studio.
15
Sau đó khởi tạo các hàm để thực thi hệ thống:
16
17
18
Trong đó:
void khoi_dong_LCD(): có chức năng khởi động LCD.
void goi_lenh(uint8_t lenh): có chức năng gởi lệnh cho LCD.
void goi_data(uint8_t data): có chức năng gởi dữ liệu để hiển thị lên LCD.
void print(uint8_t *ptr): có chức năng hiển thị một chuỗi dữ liệu lên LCD.
void goto_LCD(uint8_t hang,uint8_t cot): có chức năng cho LCD biết vị trí mà LCD
sẽ hiển thị dữ liệu lên.
void clear_LCD(): có chức năng xóa màn hình LCD.
void hienthi(), void goi_gt(): có chức năng hiển thị kết quả đo được.
void doc_adc(uint8_t channel): có chức năng đọc giá trị từ adc.
uint8_t check_nut_nhan(): có chức năng kiểm tra có nút nhấn không.
uint8_t check_nut_tha(): có chức năng kiểm tra có nút thả không.
uint8_t check_cot(): có chức năng kiểm tra nút được nhấn nằm ở cột nào.
uint8_t quet_hang(uint8_t i): có chức năng kiểm tra nút được nhấn nằm ở hàng nào.
void quet_phim(): có chức năng xác định vị trí nút nhấn.
19
void nutnhan(): có chức năng chống rung sau khi nhấn, thả và xác định vị trí nút được
nhấn.
void khoi_dong_ngat(): có chức năng khởi động chương trình ngắt.
void khoi_dong_matrix(): có chức năng cài đặt các chân input và ouput cho phím ma
trận.
Trong hàm int main(), chúng ta khởi động các ngoại vi LCD, ADC, bàn phím, cảm
biến nhiệt độ và thiết lập các chân nhập và xuất dữ liệu.
Trong while (1), ta thực hiện các hàm như sơ đồ giải thuật:
20
CHƯƠNG 3. KẾT QUẢ VÀ HƯỚNG PHÁT TRIỄN
1. KẾT QUẢ:
21
CHƯƠNG 4. KẾT QUẢ MÔ PHỎNG
22