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

Nghiên cứu và thiết kế thiết bị cảnh báo khí gas phòng chống cháy nổ

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.55 MB, 31 trang )

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC
KHOA ĐIỆN TỬ VIỄN THÔNG

ĐỒ ÁN ĐIỆN TỬ
NGHIÊN CỨU VÀ THIẾT KẾ THIẾT BỊ
CẢNH BÁO KHÍ GAS & PHÒNG CHỐNG CHÁY NỔ

Người hướng dẫn: Ths. Đinh Văn Tuấn
Người thực hiện: Nhóm 8 – Lớp D10-DTVT1
Các thành viên :

1 . Hoàng Đức Thanh
2 . Nguyễn Thế Mạnh
3 . Nguyễn Thanh Nhật

Hà Nội, tháng 12 năm 2017

1


LỜI MỞ ĐẦU

Ngày nay, khi khoa học công nghệ phát triển một cách mạnh mẽ, việc ứng
dụng các thiết bị điện tử vào đời sống cũng ngày càng phổ biến hơn, nhất là với
thời đại mà các hệ thống nhúng đang lên ngôi. Từ những ứng dụng đơn như
đồng hồ kĩ thuật số, máy nghe nhạc…đến những ứng dụng cho xã hội như đèn
giao thông, bộ kiểm soát trong nhà máy, cửa tự động…cho đến những ứng dụng
mang tính quy mô, tầm cỡ như robot, phi thuyền không người lái, kiểm soát nhà
máy hạt nhân….


Với những kiến thức đã được học và tìm hiểu từ trường học và khoa học công
nghệ của cuộc sống hiện đại, em cũng có mong muốn góp thêm phần nào sự
phát triển xã hội bằng cách học hỏi và đưa ra những sản phẩm có ích cho cuộc
sống. Em xin giới thiệu một sản phẩm rất thiết thực cho cuộc sống của chúng ta:
“ Thiết bị cảm biến khí gas và phòng chống cháy nổ ”.
Với ý tưởng trên em mong muốn được góp phần bảo vệ cho những gia đình, tập
thể hay công ty có sử dụng khí Gas được an toàn hơn. Mạch phát hiện sự rò rỉ
khí Gas sẽ cảnh báo cho chúng ta biết được có khí gas bị rò rỉ ra khỏi bình chứa
hoặc ống dẫn để tránh được những tai nạn đánh tiếc xảy ra.

1


LỜI CẢM ƠN

Trong thời gian thực hiện Đồ án điện tử 1 . chúng e đã tìm hiểu bổ xung
và học hỏi được nhiều kiến thức và kinh nghiệm về việc thiết kế thực hiện và thi
công thiết bị “ Cảnh báo khi gas và phòng chống cháy nổ “ .
Do điều kiện về thời gian và kiến thức còn hạn chế nên đề tài của chúng
em chỉ dừng lại ở mức nghiên cứu, thiết kế và mô phỏng bằng mô hình. Trong
thời gian thực hiện đồ án, chúng em đã tham khảo ý kiến của giảng viên hướng
dẫn, tìm hiểu tài liệu và sự hỗ trợ góp ý từ giảng viên cũng như bạn bè và các
anh chị đi trước. Tuy nhiên do kiến thức còn hạn chế nên không thể tránh khỏi
sai sót, chúng em rất mong nhận được sự góp ý của quý thầy cô và các bạn để đồ
án của chúng em được hoàn thiện hơn, và tạo lập cho chúng em có một cơ sở
nhìn nhận về khả năng, kiến thức, từ đó có hướng phấn tốt hơn cho các đồ án
tiếp theo.
Chúng em xin chân thành cảm ơn các thầy cô trong khoa Điện Tử Viễn
Thông Trường Đại Học Điện Lực đã dạy bảo, truyền đạt kiến thức cho chúng em
trong suốt quá trình học tập, các thầy cô đã giúp đỡ và tạo điều kiện cho chúng

em trong quá trình thực hiện Đồ án điện tử.
Đặc biệt , chúng em xin gửi lời chân thành cảm ơn đến thầy giáo Ths.
Đinh Văn Tuấn – Giảng viên trường Đại học Điện Lực đã trực tiếp hỗ trợ, tận
tình hướng dẫn, giúp đỡ và bổ sung kiến thức cho chúng em trong quá trình thực
hiện và hoàn thiện đồ án này.
Trong quá trình thực hiện đồ án không tránh khỏi sai sót, rất mong nhận
được sự góp ý của thầy cô và các bạn .

Một lần nữa chúng em xin chân thành cảm ơn các thầy cô và các bạn !
2


NHẬN XÉT
(Của giảng viên hướng dẫn)

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………

……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………………………………………………………………
……………………………....

Hà Nội, ngày tháng năm 2018
Giảng viên hướng dẫn
(ký, ghi rõ họ tên)

PHÂN CÔNG NHIỆM VỤ
3


STT Mã SV

1

Họ đệm

1581510139 Hoàng Đức

Tên Lớp

Thanh D10-ĐTVT1

Chức
vụ

Nhóm
trưởng

D10-ĐTVT1

Thành
viên

Mạnh D10-ĐTVT1

Thành
viên

2

1581510130 Nguyễn Thanh Nhật

3

1581510125 Nguyễn Thế

Nhiệm vụ
Xây dựng sơ đồ khối
chức năng
Thiết kế mạch sản
phẩm, lập trình. .
Lựa chọn module
linh kiện
Làm vỏ hộp, viết báo
cáo

Vẽ mạch test,lập
trình, gia công mạch .
lắp giáp thiết bị .

MỤC LỤC

4


LỜI MỞ ĐẦU........................................................................................................1
LỜI CẢM ƠN .......................................................................................................2
NHẬN XÉT...........................................................................................................3
MỤC LỤC.............................................................................................................4
BẢNG PHÂN CÔNG CÔNG VIỆC.......................................................................5
DANH MỤC HÌNH ẢNH.....................................................................................6
DANH MỤC VIẾT TẮT........................................................................................7
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI..............................................................8
1.1. LÝ DO LỰA CHỌN ĐỀ TÀI.........................................................................8
1.2. GIỚI THIỆU VỀ ĐỀ TÀI...............................................................................8
1.3.MỤC TIÊU ĐỒ ÁN.........................................................................................9
..................................................................................................................................
CHƯƠNG II: THIẾT KẾ ĐỀ TÀI.......................................................................10
2.1. CHỨC NĂNG BỘ THIẾT BỊ......................................................................10
2.2. THIẾT KẾ PHẦN CỨNG............................................................................10
2.2.1. SƠ ĐỒ KHỐI CHỨC NĂNG....................................................................10
2.2.2. GIỚI THIỆU VỀ Board Arduino mega 2560.............................................11
2.2.3. LỰA CHỌN LINH KIỆN & MODULE....................................................15
2.2.4. THIẾT KẾ MẠCH NGUYÊN LÝ............................................................21
2.2.5. THIẾT KẾ MẠCH IN...............................................................................22
2.2.6. THIẾT KẾ VỎ HỘP..................................................................................23

2.3 THIẾT KẾ PHẦN MỀM...............................................................................24
2.3.1VIẾT MÃ NGUỒN......................................................................................24
2.4. KẾT QUẢ VÀ ĐÁNH GIÁ..........................................................................28
2.4.1 KẾT QUẢ ĐẠT ĐƯỢC..............................................................................28
2.4.2 ĐÁNH GIÁ SẢN PHẨM...........................................................................30
..................................................................................................................................
TÀI LIỆU THAM KHẢO...................................................................................30

DANH MỤC HÌNH ẢNH

5


Hình 2.1: Sơ đồ khối chức năng bộ thiết bị ........................................................9
Hình 2.2.2.1 Board Arduino mega2560.............................................................14
Hình 2.2.3.1 Module cảm biến khí gas..............................................................15
Hình 2.2.3.2 Module cảm biến nhiệt độ............................................................17
Hình 2.2.3.3 Module relay 2 kênh.....................................................................18
Hình 2.2.3.4 Màn hình LCD 16*2...................................................................19
Hình 2.2.3.5 Module I2C...................................................................................21
Hình 2.2.4.1 Khối nút bấm điều khiển..............................................................21
Hình 2.2.4.2 . Khối còi báo................................................................................22
Hình 2.2.4.3 . Khối cung cấp nguồn cho các module........................................22
Hình2.2.5.1 . Măt trước và sau của mạch in......................................................23
Hình 2.2.6.1 Hộp sản phẩm...............................................................................23
Hình 2.4.1.1 .Thiết bị được lắp ráp hoàn chỉnh.................................................29
Hình 2.4.1.2 . Demo sản phẩm..........................................................................29

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


AC

Alternating Current

Dòng điện xoay chiều

AVR

Automatic Voltage Regulator Tự động điều chỉnh điện áp

DC

Direct Current

Dòng điện một chiều

IC

Integrated Circuit

Vi mạch

GND

Ground

Đất
6



LCD

Liquid Crystal Display

LED

Light Emitting Diode

VĐK

Diode phát quang
Vi điều khiển

IDE

Integrated Development

Môi trường phát triển tích hợp

Environment
SRAM

Static Random Memory

Bộ nhớ ngẫu nhiên tĩnh

EEPROM

Electrically Erasable


Bộ nhớ chỉ đọc có

Programmable Read-Only

thể lập trình, xóa

Memory

bằng tín hiệu điện

Integrated Development

Môi trường phát triển

Environment

hợp nhất

Serial Peripheral Interface

Chuẩn giao tiếp ngoại vi nối tiếp

IDE

SPI

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI NGHIÊN CỨU

1.1 . Lý do lựa chọn đề tài
Ngày nay với sự phát triển vượt bậc của khoa học kỹ thuật, điện tử đã được

ứng dụng ở rất nhiều lĩnh vực trong thực tế để phục vụ nhu cầu : chăm sóc sức
khỏe, bảo vệ tính mạng và tài sản cho con người.

7


Khi đời sống con người được cải thiện thì việc sử dụng bếp gas hay các sản
phẩn của gas làm nhiên liệu đun nấu đang phổ biến. Bên cạnh việc tiện lợi của
gas, một vấn đề khác của gas cũng được quan tâm đó là : an toàn khi sử dụng
gas. Khi con người tiếp xúc trực tiếp với khí gas (vượt quá một nộng độ cho
phép nhất định) trong thời gian dài thì rất dễ bị ngộ độc gas và có thể gây tử
vong. Không những vậy khí gas rò rỉ vào trong không khí có thể dễ dàng bắt lửa
và gây cháy nổ, ảnh hưởng nghiêm trọng tới an toàn của người sử dụng cũng
như những người xung quanh. Vì vậy, vấn đề phát hiện và xử lý sự cố rò gas là
một việc rất cần thiết với người thường xuyên sử dụng gas. Đặc biệt là các bạn
sinh viên thường sử dụng cácbình gas mini không đảm bảo chất lượng, có thể rò
rỉ gas bất cứ khi nào. Xuất phát từ ý tưởng và tình hình thực tế em thấy đây là
một đề tài hay, có tính ứng dụng cao và có thể phát triển nên em đã chọn đề tài
nàylàm đề tài chính trong đồ án môn học.
Để khắc phục sự cố của khí gas khi sử dụng chúng em đã làm ra thiết bị
cảnh báo rò rỉ khí gas, thiết bị này giúp chúng ta dễ dàng nhận biết khí gas khi
bị rò rỉ, được sử dụng trong các tòa nhà và hộ gia đình.
1.2 . Giớ thiệu về đề tài .
Như thầy cô và mọi người đã biết trong cuộc sống xã hội hiện đại ngày nay
vấn đề sử dụng khí đốt ( ở đây chúng ta đang nói đến là khí Gas ) trong việc lấu
ăn hàng ngày và hay cả sử dụng khí đốt cho các ngành công nghiệp đang rất phổ
biết . Như ngày xưa khoảng 15 năm về trước thì chỉ có thành phố mới sử dụng
khí đốt cho nấu ăn hay nhưng cho nhưng ngành công nghiệp . còn nông thôn
thường sử dụng bếp rạ và củi cho việc đun lấu thì nay gần như từ quê lên phố thì
99% sử dụng khí đốt cho bếp lúc đun lấu . nên khi khí gas bị rò rỉ ra ngoài khả

năng cháy nổ là rất cao vì chỉ cần có tia nửa điện từ các ổ cắm hay thiết bị điện
hay một đoạn dây bị hở sỉnh ra tia lửa điện là khả năng hỏa hoạn cho ngồi nhà là
rất cao ảnh hưởng đến tài sản và tính mạng con người . vì thế Đề tài nghiên cứu

8


của chúng em nhằm phần nào đó việc phát hiện hiện khí gas và ngăn chặn hỏa
hoạn cho cho người và tài sản .
Với nội dung chính của đề đó là khi phát hiện có khí gas thiết bị sẽ bật còi
báo cho người trong nhà biết được khí gas đang bị rò rỉ đểkhắc phục và bật quạt
thông gió thông qua việc đóng ngắt relay khi phát hiện có khi gas . khi trong
phòng có cháy thường thì nhiệt độ không khí trong phòng tăng rất nhanh và độ
ẩm giảm xuống ngưỡng cho phép được setup trước thì thiết bị sẽ bật máy bơm
nước làm phun quang phòng để hạn nhiệt độ phòng và chữa cháy .
1.3 . Mục tiêu đồ án .
 . Mục tiêu đồ án chúng em đặt ra sau khi hoàn thành xong là:
 Mục tiêu cá nhân:
- Nắm bắt được cấu trúc phần cứng, sơ đồ khối, nguyên lý làm việc
của mạch điều khiển.
- Tìm hiểu về lập trình Arduino
- Biết cách làm một đồ án hoàn chỉnh phục vụ cho việc làm đồ án tốt
nghiệp về sau.
 Mục tiêu sản phẩm:
- Sản phẩm hoạt động ổn định với đầy đủ các chức năng cần thiết cho
việc “ cảnh báo khí gas và phòng chống cháy nổ “ .
- Sản phẩm nhỏ, gọn, mang tính thẩm mỹ cao.
- Giá thành sản phẩm phù hợp với người tiêu dùng hiện nay.

CHƯƠNG 2: THIẾT KẾ ĐỀ TÀI

2.1. CHỨC NĂNG THIẾT BỊ
9


Sau khi hoàn thiện bộ thiết bị cảnh báo khí ga và phòng chống cháy nổ sẽ
có các chức năng sau :
 Thực hiện chức năng cảnh báo khi phát hiện có khí gas và bật quạt thông
gió hút khí gas ra khỏi phòng .
 Khi nhiệt độ phòng lớn hơn nhiệt độ setup ( vì nhiệt độ phòng thường
không quá 45°C ) thì đóng Relay2 bật máy bơm phun nước để hạ nhiệt độ
trong phòng và dập lửa .
2.2. THIẾT KẾ PHẦN CỨNG
2.2.1. Sơ đồ khối chức năng

Hình 2.2.1. Sơ đồ khối chức của thiết bị

2.2.2. Giới thiệu về board Arduino mega2560 .
10


Giới thiệu về Arduino
Arduino là một board mạch vi xử lý được sinh ra tại thị trấn Ivrea ở Ý,
nhằm xây dựng các ứng dụng tương tác với nhau hoặc với môi trường được
thuận lợi hơn. Phần cứng bao gồm một board mạch nguồn mở được thiết kế
trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những
Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào
analog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác
nhau .
a . Phần cứng của Arduino
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện

bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác. Một
khía cạnh quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép
người dùng kết nối với CPU của board với các module thêm vào có thể dễ
dàng chuyển đổi, được gọi là shield. Vài shield truyền thông với board
Arduino trực tiếp thông qua các chân khác nhau, nhưng nhiều shield được
định địa chỉ thông qua serial bus I²C-nhiều shield có thể được xếp chồng và
sử dụng dưới dạng song song. Arduino chính thức thường sử dụng các dòng
chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328,
ATmega1280, và ATmega2560. Một vài các bộ vi xử lý khác cũng được sử
dụng bởi các mạch Aquino tương thích. Hầu hết các mạch gồm một bộ điều
chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng
hưởng ceramic trong một vài biến thể), mặc dù một vài thiết kế như LilyPad
chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích
cỡ thiết bị. Một vi điều khiển Arduino cũng có thể được lập trình sẵn với
một boot loader cho phép đơn giản là upload chương trình vào bộ nhớ flash
on-chip, so với các thiết bị khác thường phải cần một bộ nạp bên ngoài. Điều
này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cách cho phép
sử dụng 1 máy tính gốc như là một bộ nạp chương trình.
-Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các
board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực
hiện lại tùy thuộc vào đời phần cứng. Các board Serial Arduino có chứa một
mạch chuyển đổi giữa RS232 sang TTL. Các board Arduino hiện tại được
lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-toserial như là FTDI FT232. Vài biến thể, như Arduino Mini và Boarduino
không chính thức, sử dụng một board adapter hoặc cáp nối USB-to-serial có
thể tháo rời được, Bluetooth hoặc các phương thức khác. (Khi sử dụng một
công cụ lập trình vi điều khiển truyền thống thay vì ArduinoIDE, công cụ lập
trình AVR ISP tiêu chuẩn sẽ được sử dụng.)
11



- Board Arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử
dụng cho những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno
đưa ra 14 chân I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế
độ rộng xung) và 6 chân input analog, có thể được sử dụng như là 6 chân I/O
số. Những chân này được thiết kế nằm phía trên mặt board, thông qua các
header cái 0.10-inch (2.5 mm). Nhiều shield ứng dụng plug-in cũng được
thương mại hóa. Các board Arduino Nano, và Arduino-compatible Bare
Bones Board và Boarduino có thể cung cấp các chân header đực ở mặt trên
của board dùng để cắm vào các breadboard.
-Có nhiều biến thể như Arduino-compatible và Arduino-derived. Một vài
trong số đó có chức năng tương đương với Arduino và có thể sử dụng để
thay thế qua lại. Nhiều mở rộng cho Arduino được thực thiện bằng cách
thêm vào các driver đầu ra, thường sử dụng trong các trường học để đơn
giản hóa các cấu trúc của các 'con rệp' và các robot nhỏ. Những board khác
thường tương đương về điện nhưng có thay đổi về hình dạng-đôi khi còn
duy trì độ tương thích với các shield, đôi khi không. Vài biến thể sử dụng bộ
vi xử lý hoàn toàn khác biệt, với các mức độ tương thích khác nhau.
b . Phần mềm của Arduino
Môi trường phát triển tích hợp (IDE) của Arduino là một ứng dụng crossplatform (đa nền tảng) được viết bằng Java, và từ IDE này sẽ được sử dụng
cho Ngôn ngữ lập trình xử lý (Processing programming language) và project
Wiring. Nó được thiết kế để dành cho những người mới tập làm quen với
lĩnh vực phát triển phần mềm. Nó bao gồm một chương trình code editor với
các chức năng như đánh dấu cú pháp, tự động brace matching, và tự động
canh lề, cũng như compile(biên dịch) và upload chương trình lên board chỉ
với 1 cú nhấp chuột. Một chương trình hoặc code viết cho Arduino được gọi
là một sketch .
-Các chương trình Arduino được viết bằng C hoặc C++. Arduino IDE
đi kèm với một thư viện phần mềm được gọi là "Wiring", từ project Wiring
gốc, có thể giúp các thao tác input/output được dễ dàng hơn. Người dùng chỉ
cần định nghĩa 2 hàm để tạo ra một chương trình vòng thực thi (cyclic

executive) có thể chạy được:
VD :
setup(): hàm này chạy mỗi khi khởi động một chương trình, dùng để thiết
lập các cài đặt
loop(): hàm này được gọi lặp lại cho đến khi tắt nguồn board mạch
-Một chương trình điển hình cho một bộ vi điều khiển đơn giản chỉ là
làm cho một bóng đèn Led sáng/tắt. Trong môi trường Arduino, ta sẽ phải
12


viết một chương trình giống như sau:
#define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // Đặt chân 13 làm đầu ra digital
}
void loop () {
digitalWrite (LED_PIN, HIGH); // Bật LED on
delay (1000); // chờ trong 1 giây (1000 mili giây)
digitalWrite (LED_PIN, LOW); // Tắt LED off
delay (1000); // chờ trong 1s
}
- Một đặc điểm của hầu hết các board Arduino là chúng có một đèn LED
và điện trở nối giữa chân 13 với đất; một đặc điểm thuận tiện cho nhiều ứng
dụng đơn giản. Đoạn code ở trên không thể đọc được bởi một compiler C++
chuẩn như là một chương trình đúng, vì vậy khi ta click vào nút "Upload to
I/O board" trong IDE này, một bản copy của đoạn code này sẽ được ghi vào
một file tạm với một extra include header ở phía trên cùng và một hàm main
() đơn giản nằm ở phía đáy, để làm cho thàn một chương trình C++ khả dụng.
-Arduino IDE này sử dụng GNU toolchain và AVR Libc để biên dịch
chương trình, và sử dụng avrdude để upload chương trình lên board.

-Vì nền tảng của Arduino là các vi điều khiển của Atmel, cho nên môi
trường phát triển của Atmel, AVR Studio hoặc các phiên bản Atmel Studio
mới hơn, cũng có thể được sử dụng để làm phần mềm phát triển cho Arduino.

 Arduino mega2560

13


Hình 2.2.2.1 Board Arduino mega2560
Arduino Mega 2560 là phiên bản nâng cấp của Arduino Mega hay còn
gọi là Arduino Mega 1280. Sự khác biệt lớn nhất với Arduino Mega 1280
chính là chip nhân. Ở Arduino Mega 1280 sử dụng chip ATmega1280 với
flash memory 128KB, SRAM 8KB và EEPROM 4 KB.*
Ngắt ngoài : 6 chân
Bộ nhớ Flash: 256 KB, 8KB sử dụng cho Bootloader
SRAM: 8 KB
EEPROM: 4 KB
Nguồn nuôi mạch: 5VDC từ cổng USB hoặc nguồn ngoài cắm từ giắc
tròn DC
Arduino Mega 2560 là sản phẩm tiêu biểu cho dòng mạch Mega là dòng
bo mạch có nhiều cải tiến so với Arduino Uno (54 chân digital IO và 16 chân
analog IO). Đặc biệt bộ nhớ flash của MEGA được tăng lên một cách đáng
kể, gấp 4 lần so với những phiên bản cũ của UNO R3. Điều này cùng với
việc trang bị 3 timer và 6 cổng interrupt khiến bo mạch Mega hoàn toàn có
thể giải quyết được nhiều bài toán hóc búa, cần điều khiển nhiều loại động cơ
và xử lý song song nhiều luồng dữ liệu số cũng như tương tự
Ngoài việc phát triển được ưu tiên, việc kế thừa cũng được đặc biệt lưu
ý. Trên mạch MEGA các chân digital vẫn từ 0-13, analog từ 0-5 và các chân
nguồn tương tự thiết kế của UNO. Do vậy chúng ta dễ dàng phát triển

nghiên cứu theo kiểu gắp ghép module từ Arduino UNO bê sang Arduino
mega. Ngoài ra, ở phiên bản này, các nhà thiết kế đã mạnh dạn thay đổi
14


thiết kế. Để có thêm được nhiều vùng nhớ và nhiều chân IO hơn, một con
chip khác đã thay thế cho Atmega1280. Theo dòng phát triển của vi điều
khiển nhúng, những dự án lớn cần nhiều dung lượng flash hơn. Do vậy,
Arduino Mega 2560 ra đời với sứ mệnh giải những bài toán như thế.
Arduino Mega được thiết kế cho nhiều dự án khó.Với 54 chân I/O kĩ
thuật số, 16 chân analog, cùng không gian khá rộng để bạn có thể tích hợp
các mạch điện tử của dự án của bạn lên đó.
Tính năng nổi bật của Arduino Mega 2560 R3
Arduino Mega 2560 là board mạch vi điều khiển, xây dựng dựa trên
Atmega 2560. Nó có 54 chân I/O (trong đó có 15 chân có thể sử dụng làm
chân ouput với chức năng PWM), 16 chân đầu vào Analog, 4 UART, 1
thạch anh 16Mhz, 1 cổng USB, 1 jack nguồn, 1 header, 1 nút nhấn reset. Nó
chứa mọi thứ cần thiết hỗ trợ cho người lập trình vi điều khiển, đơn giản chỉ
việc kết nối nó với máy tính bằng cable USB là có thể bắt đầu học tập.
Mach Arduino 2560 sử dụng tương thích với phần lớn các Shield của
Arduino UNO .
2.2.3 Lựa chọ linh kiện và các module .
Cảm Biến Khí Gas

Hình 2.2.3.1 Module cảm biến khí gas
- Đặc tính kỹ thuật :
+ Nguồn cung cấp: 2.5 V ~ 5V.
+ Tích hợp MQ –5 gas Sensor.
+ Kích thước : 40mm * 21mm.
+ Led báo hiệu.


15


+
+
+
+

Chân DOUT : digital output.
Chân AOUT : analog output.
Chân GND: đất chung.
Chân VCC: kết nối nguồn 2.5 V ~ 5V.

-Nguyên lí hoạt động :
Khi cảm biến hoạt động nó sẽ truyền tín hiệu từ các chân DOUT và
AOUT của mình về vi điều khiển.
- Tín hiệu DOUT:
+ Tín hiệu thấp : có khí gas.
+ Tín hiệu cao : không có khí gas.
- Tín hiệu AOUT: cho tín hiệu tương tự.
Và khi có khí gas 2 đèn LED trên module sẽ phát sáng
 Cảm Biến Nhiệt Độ DTH11
- DHT11 là cảm biến nhiệt độ, độ ẩm rất thông dụng hiện nay vì chi phí
rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1-wire ( giao tiếp digital 1wire truyền dữ liệu duy nhất). Cảm biến được tích hợp bộ tiền xử lý tín
hiệu giúp dữ liệu nhận về được chính xác mà không cần phải qua bất kỳ
tính toán nào .

16



Hình 2.2.3.2 Module cảm biến nhiệt độ
Thông số sản phẩm:
+ Điện áp hoạt động: 3V-5V (DC).
+ Dải độ ẩm hoạt động: 20% - 90% RH, sai số ±5% RH.
+ Dải nhiệt độ hoạt động: 0˚C ~ 50˚C, sai số ±2˚C.
+ Khoảng cách truyền tối đa: 20m.
- Cách điều khiển :
+ DHT11 gửi và nhận dữ liệu với một dây tín hiệu DATA, với chuẩn
dữ liệu truyền 1 dây này, chúng ta phải đảm bảo sao cho ở chế độ
chờ (idle) dây DATA có giá trị ở mức cao, nên trong mạch sử dụng
DHT11, dây DATA phải được mắc với một trở kéo bên ngoài(thông
thường giá trị là 4.7kΩ).
+ Dữ liệu truyền về của DHT11 gồm 40bit dữ liệu theo thứ tự: 8 bit
biểu thị phần nguyên của độ ẩm + 8 bit biểu thị phần thập phân của
độ ẩm + 8 bit biểu thị phần nguyên của nhiệt độ + 8 bit biểu thị phần
thập phân của nhiệt độ + 8 bit check sum.
Ví dụ: ta nhận được 40 bit dữ liệu như sau:
0011 0101

0000 0000

0001 1000

0000 0000

0100 1101

Tính toán: 8 bit checksum
17



0011 0101 + 0000 0000 + 0001 1000 + 0000 0000 = 0100 1101
Độ ẩm: 0011 0101 = 35H = 53% (ở đây do phần thập phân có giá trị 0000
0000,nên ta bỏ qua không tính phần thập phân).
Nhiệt độ: 0001 1000 = 18H = 24°C (ở đây do phần thập phân có giá trị
0000 0000, nên ta bỏ qua không tính phần thập phân).
 Module RELAY
Mạch Relay 1-2-4-8 Kênh gồm Relay hoạt động tại điện áp 5VDC,
chịu được hiệu điện thế lên đến 250VAC 10A. Có opto và transistor cách
ly giúp cho việc sử dụng trở nên an toàn với board mạch chính, mạch
được sử dụng để đóng ngắt nguồn điện công suất cao AC hoặc DC.
Module relay được thiết kế chắc chắn, khả năng cách điện tốt. Trên
module đã có sẵn mạch kích relay sử dụng transistor và IC cách ly quang
giúp cách ly hoàn toàn mạch điều khiển (vi điều khiển) với rơ le bảo đảm
vi điều khiển hoạt động ổn định. Có sẵn header rất tiện dụng khi kết nối
với vi điều khiển.

Hình 2.2.3.3 Module relay 2 kênh
THÔNG SỐ KỸ THUẬT
Đầu vào:
- Điện áp nuôi : 5VDC
- Tín hiệu vào điều khiển: 0V
+ Tín hiệu là 0: thì Relay đóng
+ Tín hiệu là 1 : thì Relay mở
Đầu ra:
+ Tiếp điểm relay 220V 10A ( Lưu ý tiếp điểm , không phải điện áp
ra)
18



+ NC : Thường đóng
+ NO: Thường mở
+ COM: Chân chung
Ký hiệu nguồn:
+ VCC, GND là nguồn nuôi Relay
+ In là chân tín hiệu điều khiển
 LCD 16*2 và Module chuyển đổi I2C cho LCD 16*2
 LCD 16*2
LCD text 1602 một sản phẩm quen thuộc với những người mới
học và muốn thực hiện các dự án về điện tử, lập trình. Với khả hiển
thị 2 dòng với mỗi dòng 16 ký tự, đồng thời có rất nhiều ví dụ mẫu
được cộng đồng Arduino xây dựng sẵn sẽ giúp người mới sử dụng
làm quen nhanh hơn cũng như tiết kiệm được thời gian trong việc
phát triển ứng dụng của mình .

.
Hình 2.2.3.4 Màn hình LCD 16*2
Thông số kỹ thuật
• Điện áp hoạt động: 5V
• Kích thước: 80 x 36 x 12.5 mm
• Chữ trắng, nền xanh
• Khoảng cách giữa hai chân kết nối là 0.1 inch tiện dụng khi kết nối với
Breadboard
• Đèn led nền có thể dùng biến trở hoặc PWM điều chình độ sáng thích
hợp
19
















Có thể được điều khiển với 6 dây tín hiệu
VSS: cực âm nguồn cho LCD - GND: 0V
VDD: cực dương nguồn LCD - 5V
Constrast Voltage (Vo): điều khiển độ sáng màn hình
Register Select (RS): lựa chọn thanh ghi
RS=0 chọn thanh ghi lệnh
RS=1 chọn thanh ghi dữ liệu
Read/Write (R/W)
R/W=0 ghi dữ liệu
R/W=1 đọc dữ liệu.
Enable: Cho phép ghi vào LCD
D0 - D7: 8 chân trao đổi dữ liệu với các vi điều khiển, với 2 chế độ sử
dụng
• Chế độ 8 bit: Dữ liệu được truyền trên cả 8 đường, với bit MSB là bit
DB7.
• Chế độ 4 bit : Dữ liệu được truyền trên 4 đường từ DB4 tới DB7, bit
MSB là DB7.
• Backlight (Backlight Anode (+) và Backlight Cathode (-)): Tắt bật đèn

màn hình LCD.
 Module chuyển đổi I2C cho LCD 16*2
- LCD có quá nhiều chân gây khó khăn trong quá trình kết nối và chiếm
dụng nhiều chân của vi điều khiển? Module chuyển đổi I2C cho LCD
sẽ giải quyết vấn đề này cho bạn, thay vì sử dụng tối thiểu 6 chân của
vi điều khiển để kết nối với LCD (RS, EN, D7, D6, D5 và D4) thì với
module chuyển đổi bạn chỉ cần sử dụng 2 chân (SCL, SDA) để kết
nối. Module chuyển đổi I2C hỗ trợ các loại LCD sử dụng driver
HD44780(LCD 1602, LCD 2004, … ), kết nối với vi điều khiển thông
qua giao tiếp I2C, tương thích với hầu hết các vi điều khiển hiện nay.

20


Hình 2.2.3.5 Module I2C

Thông số kĩ thuật


Điện áp hoạt động: 2.5-6V DC



Hỗ trợ màn hình: LCD1602,1604,2004 (driver HD44780)



Giao tiếp: I2C




Địa chỉ mặc định: 0X27 (có thể điều chỉnh bằng ngắn mạch chân
A0/A1/A2)



Kích thước: 41.5mm(L)x19mm(W)x15.3mm(H)



Trọng lượng: 5g



Tích hợp Jump chốt để cung cấp đèn cho LCD hoặc ngắt



Tích hợp biến trở xoay điều chỉnh độ tương phản cho LCD

2.2.4 Thiết kế mạch nguyên lý
 Khối nút bấm :

Hình 2.2.4.1 Khối nút bấm điều khiển
Khối nút bấm điều khiển gồm 3 nút bấm để điều chỉnh các thông số
bằng tay:
+ Nút bấm 1 để chọn cảm biến muốn thay đổi thông số.
+ Nút bấm 2 để tăng giá trị thông số cảm biến đã chọn.
+ Nút bấm 3 để giảm giá trị thông số cảm biến đã chọn.
 Khối còi báo


21


Hình 2.2.4.2 . Khối còi báo
- Thực hiện báo hiệu khí cảm biến MQ5 phát hiejn có khí gas tắt đi khi
ấn reset
 Khối nguồn .

Hình 2.2.4.3 . Khối cung cấp nguồn cho các module
- Lấy nguồn 5V từ boar arduino để cung cấp nguồn cho các module
khối còi báo và khối nút ấn .
2.2.5 Thiết kế mạch in

22


Hình2.2.5.1 . Măt trước và sau của mạch in
2.2.6 Thiết kế vỏ hộp

Hình 2.2.6.1 Hộp sản phẩm
2.3. THIẾT KẾ PHẦN MỀM
23


2.3.1. Viết mã nguồn
#include<EEPROM.h>
#include <DHT.h>
#include <Wire.h>//khai báo thư viện Wire
#include <LiquidCrystal_I2C.h>//khai báo thư viện cho lcd

#define DHTPIN 9
#define DHTTYPE DHT11
#define sw2 3

//Nút bấm số 2

#define sw3 4

//Nút bấm số 3

#define rl1 7
#define rl2 8
#define coi 5
#define mq_5 A0
#define t_add 0

//Địa chỉ lưu giá trị nhiệt độ trong EEPROM

#define h_add 1

//Địa chỉ lưu giá trị gas trong EEPROM

unsigned char mode = 0, count = 0, dem, state = 0;
int humi, temp, t, h, gas, gass;
DHT dht(DHTPIN, DHTTYPE);
LiquidCrystal_I2C lcd(0x27, 16, 2); //chọn địa chỉ của lcd
void setup() {
// put your setup code here, to run once:
pinMode(sw2, INPUT_PULLUP);
pinMode(sw3, INPUT_PULLUP);

pinMode(coi, OUTPUT);
pinMode(coi, OUTPUT);
pinMode(rl1, OUTPUT);
pinMode(rl2, OUTPUT);
attachInterrupt(0, setMode, FALLING); //Ngắt ngoài 0, cài đặt chế độ của hệ
thống
24


×