Tải bản đầy đủ (.docx) (82 trang)

Tiểu Luận Tốt Nghiệp Điều Khiển Thiết Bị Qua Mạng Internet

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 (4.28 MB, 82 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

TIỂU LUẬN TỐT NGHIỆP

THIẾT KẾ HỆ THỐNG
ĐIỀU KHIỂN THIẾT BỊ ĐIỆN TRONG
NHÀ VỚI ARDUINO

Sinh viên thực hiện

Giáo viên hướng dẫn

TRỊNH HẢI ĐẢO

TS.LÊ VĂN LÂM

MSSV: CM14V7K501

Cà Mau – 2016


2

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

LỜI CẢM ƠN

Em xin gửi đến thầy cô ở khoa Công Nghệ Thông Tin &
Truyền Thông Trường Đại Học Cần Thơ lời biết ơn sâu sắc nhất,
những người đã cùng với tri thức và tâm huyết của mình để


truyền đạt vốn kiến thức quý báu cho chúng em trong thời gian
học tập vừa qua.
Xin gửi lời cảm ơn chân thành đến gia đình, bè bạn, và
cộng đồng những người lập trình trên internet đã luôn là nguồn
động viên to lớn, giúp em vượt qua những khó khăn trong suốt
quá trình học tập và thực hiện đồ án này.
Mặc dù đã rất cố gắng hoàn thiện đồ án với tất cả sự nỗ
lực, tuy nhiên do bước đầu đi vào thực tế, tìm hiểu và xây dựng
đồ án trong thời gian có hạn, và kiến thức còn hạn chế nên đồ
án “Thiết kế hệ thống điều khiển thiết bị điện trong nhà với
Arduino” chắc chắn sẽ không thể tránh khỏi những thiếu sót. Em
rất mong nhận được sự quan tâm, thông cảm và những đóng
góp quý báu của các thầy cô và các bạn để đồ án này ngày càng
hoàn thiện hơn.
Một lần nữa, em xin chân thành cám ơn và luôn mong
nhận được sự đóng góp của mọi người.
Sau cùng, em xin kính chúc các thầy cô trong Khoa Công
nghệ Thông Tin & Truyền Thông dồi dào sức khỏe, niềm tin để
tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến
thức cho thế hệ mai sau.
Trân trọng !

Cà Mau, ngày 27 tháng 08 năm 2016
Sinh viên thực hiện

Trịnh Hải Đảo

66
18



3

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

MỤC LỤC

66
18


4

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

MỤC LỤC HÌNH

66
18


5

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

KÝ HIỆU VÀ TỪ VIẾT TẮT
Bảng từ viết tắt
Viết tắt

Viết đầy đủ


Diễn giải

IoT

Internet of
Things

“Vạn vật kết nối” tất cả mọi thứ điều kết
nối với Internet

Shield

Lá chắn kết nối

Là bo mạch kết nối có khả năng mở rộng
thêm các chức năng của vi xử lý

RFID
Datasheet
I/O
IDE
DIY
UART

Radio Frequency Là công nghệ nhận dạng đối tượng bằng
Identification
sóng vô tuyến
Là một tài liệu tóm tắt việc thực hiện và
Tài liệu thông số

đặc tính kỷ thuật của sản phẩm, máy
kỷ thuật
móc, linh kiện
Input/Output
Đầu vào/ra của vi điều khiển
Integrated
Development
Môi trường phát triển tích hợp
Environment
Do It Yourself
Những người tự mình tạo ra sản phẩm
Universal
Asynchronous
Chuẩn giao tiếp dữ liệu nối tiếp
Receiver

SPI

Serial Peripheral
Interface

I2C

Inter-Intergrated
Chuẩn giao tiếp nối tiếp 2 dây
Circuit

PWM
PCB
NFC

PIR
Op-Amp
AJAX

Pulse Width
Modulation
Printer Circuit
Board
Near-Field
Communication
s
Passive InfraRed
sensor
Operational
Amplifier
Asynchronous
Javascript and
XML

Chuẩn giao tiếp đồng bộ song công

Phương pháp điều xung, điều chỉnh điện
áp ra tải
Bảng mạch in
Công nghệ giao tiếp gần sử dụng cảm
ứng từ trường
Cảm biến thụ động dùng nguồn kích
thích là tia hồng ngoại
Mạch khuếch đại tín hiệu thuật toán
Javascript và XML không đồng bộ


66
18


6

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino
Extensible
Markup
Language

XML

Ngôn ngữ đánh dấu mở rộng

Bảng ký hiệu
Ký hiệu

Tên ký hiệu
Actor
Use case

Diễn giải
Tác nhân
Trường hợp sử dụng

Unidirectional
Association


Quan hệ giữa tác nhân và trường hợp sử
dụng

Generalization

Quan hệ khái quát hóa

Object
Message
Message to self

Đối tượng
Thông điệp giữa các đối tượng
Thông điệp lặp có điều kiện

LED

Đèn led

Res

Điện trở

Button

Vcc
Diode

Nút nhấn vật lý


Nguồn dương
Đi-ốt một chiều

Rad

Tụ phân cực

Cap

Tụ không phân cực

66
18


7

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

Op-amp
GND

Mạch khuếch đại thuật toán
Nối đất (nguồn âm)

TÓM TẮT VÀ TỪ KHÓA

Tóm tắt: Đề tài này được phát triển nhằm tạo ra phiên bản thử
nghiệm cho việc xây dựng một hệ thống điều khiển tự động các
thiết bị trong gia đình dựa trên các vi xử lý Arduino UNO, Arduino

Mega 2560, và Arduino Promini. Hệ thống sẽ được điều khiển
thông qua giao diện điều khiển trên trình duyệt web. Phần lớn
các công việc tập trung vào việc thiết kế trên phần mềm thiết kế
mạch, lập trình vi điều khiển dựa trên ngôn ngữ C/C++ và thực
hiện chế tạo các mạch điều khiển. Trong chương 4 của bài báo
cáo này sẽ chỉ rõ làm thế nào để thiết kế các mạch điều khiển và
mạch cảm biến. Phần cuối của bài báo cáo sẽ tổng hợp tất cả
các mã lập trình được sử dụng cho đề tài.

Từ khóa: vi điều khiển, Arduino, điều khiển từ xa, máy chủ web.

Abstract: This project I would like to introducing a trial version
of an automatic controllable devices system in the home based
on the microprocessor Arduino UNO, Arduino Mega 2560 and
Arduino Promini. The system will be controlled through the
console on the web browser. Much of the work focuses on
software design on circuit design, microcontroller programming
language based on C/C++ and implement controllers
fabrication. In Chapter 4 of this report will indicate how to design
the control circuit and sensor circuit. The report's final section
will sum up all the programming code used for the project.
66
18


8

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

Keyword: microcontroller, Arduino, remote control, web server.


66
18


9

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

CHƯƠNG 1: TỔNG QUAN

1. Đặt vấn đề
Ngày nay với sự phát triển của công nghệ thông tin và xu
hướng “Vạn vật kết nối – Internet of Things (IoT)”, chúng ta luôn
muốn mọi đồ vật xung quanh ta điều có thể kết nối với internet
để có thể dễ dàng kiểm soát hoạt động cũng như điều khiển
chúng. Và sự ra đời của các bo mạch vi xử lý như: Raspberry pi,
Intel Galileo hay Arduino… là một yếu tố tất yếu để đáp ứng nhu
cầu đó. Những bo mạch vi xử lý này chỉ nhỏ hơn lòng bàn tay
của chúng ta nhưng sức mạnh tính toán thì không hề nhỏ, giá
của chúng cũng không thể nào cao hơn một chiếc máy vi tính
bình thường.
Internet of Things là một kịch bản của thế giới, khi mà mỗi
đồ vật, con người được cung cấp một định danh của riêng mình,
và tất cả có khả năng truyền tải, trao đổi thông tin, dữ liệu qua
một mạng duy nhất mà không cần đến sự tương tác trực tiếp
giữa người với người, hay người với máy tính. IoT đã phát triển từ
sự hội tụ của công nghệ không dây, công nghệ vi cơ điện tử và
Internet [18].
Theo khái niệm đó ta có thể hiểu IoT là mọi vật đều có thể

kết nối với nhau qua internet, người dùng có thể kiểm soát đồ
vật của mình qua một thiết bị thông minh như laptop, máy tính
để bàn hay smatphone. Các hãng công nghệ lớn như Samsung
hay LG đã cho ra đời những sản phẩm IoT đúng nghĩa như: tủ
lạnh máy giặt hay những chiếc ti vi thông minh, mục tiêu của
những sản phẩm này là hướng đến xây dựng một ngôi nhà thông
minh.
Trong sự phát triển và xu thế chung của xã hội, việc làm chủ
được công nghệ thiết kế mạch vi xử lý và xây dựng các thiết bị
có thể kết nối với internet để tạo ra một hệ sinh thái IoT mang
thương hiệu riêng là một điều hết sức cần thiết. Mục tiêu của đề
tài này là xây dựng một hệ thống điều khiển thiết bị điện trong
gia đình thông qua internet, giúp kiểm soát tốt các vấn đề an
ninh, an toàn trong gia đình nhờ vào các cảm biến, hướng đến
xây dựng một căn hộ thông minh.

66
18


10

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

2. Lịch sử vấn đề
Đề tài này được phát triển dựa trên nền tảng của đề tài
“Điều Khiển Thiết Bị Điện Qua Internet” của chính em trong bài
báo cáo môn Niên Luận năm 2015 do thầy Lê Văn Lâm giảng
dạy.
Trong đề tài lần trước, em đã giải quyết được vấn đề điều

khiển thiết bị qua mạng internet nhưng còn nhiều thiếu sót trong
việc thiết kế mạch điều khiển và kỹ thuật chế tạo mạch chưa
cao, số lượng thiết bị mà hệ thống điều khiển được bị giới hạn,
độ bảo mật hệ thống không được đảm bảo do chưa có cơ chế
chứng thực người dùng hợp lý.
3. Mục tiêu nhiệm vụ của đề tài
Như đã nói ở trên, mục tiêu của đề tài lần này là xây dựng
một hệ thống điều khiển thiết bị điện trong gia đình thông qua
internet, xây dựng giao diện điều khiển trên trình duyệt web và
thiết kế các cảm biến như: cảm biến chuyển động, nhiệt độ, độ
ẩm, phát hiện lửa - khí Gas… nhằm giúp người dùng phát hiện
sớm các vấn đề an ninh, an toàn trong gia đình.
Nhiệm vụ cần thực hiện của đề tài là thiết kế các bo mạch
kết nối (shield) dựa trên các bo mạch vi xử lý có sẵn, lập trình
cho các vi xử lý và thiết kế các mạch cảm biến mới phù hợp với
từng mục đích của người sử dụng.
Nền tảng thực hiện đề tài dựa trên kiến thức đã học trong
những môn học: Lập trình C, Lập trình Web... cùng với những
kiến thức về vi xử lý được chia sẽ trên internet và hiểu biết của
em về thiết kế mạch điện, về các thiết bị điện - điện tử và sự
giúp đỡ từ cộng đồng những người lập trình Arduino trên toàn
thế giới.
4. Phạm vi của đề tài
- Xây dựng và thiết kế một mạch điều khiển thiết bị điện có
thể điều khiển được 8 thiết bị cùng lúc.
- Thiết kế một mạch mở khóa cửa bằng thẻ từ (RFID) và bàn
phím ma trận để điều khiển đóng/mở khóa cửa.
- Thiết kế các bộ cảm biến chuyển động, cảm biến nhiệt độ độ ẩm, cảm biến khí Gas, cảm biến ánh sáng…
66
18



11

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

- Xây dựng một thiết bị điều khiển trung tâm có nhiệm vụ
nhận các tín hiệu điều khiển từ người dùng qua internet và
các bộ cảm biến, tính toán và gữi tín hiệu điều khiển đến
mạch điều khiển thiết bị.
- Xây dựng cơ chế giao tiếp không dây giữa các mạch điều
khiển thiết bị, các cảm biến và bộ điều khiển trung tâm.
- Thiết kế giao diện giám sát điều khiển trên trình duyệt web
có cơ chế chứng thực người dùng cơ bản.
5. Hướng giải quyết
- Tìm và tra bảng thông số kỹ thuật (datasheet) của các bo
mạch vi xử lý cũng như các linh kiện điện tử để tìm hiểu về
cách hoạt động cũng như chế độ làm việc vào ra (I/O) của
các chân.
- Lập trình code cho vi xử lý để giải quyết các kịch bản đã
được định sẵn để giúp cho vi xử lý hoạt động đúng và chính
xác.
- Thiết kế mạch điện bằng một số phần mềm thiết kế mạch
chuyên dụng: Proteus, EAGLE, Fritzing…
- Chạy mô phỏng các mạch điện đã thiết kế trên phần thiết kế
mạch để kiểm tra hoạt động của mạch điện.
- Nạp code và test thử hoạt động của vi xử lý và các cảm biến
trên bo test mạch (Breadboard) để kiểm tra tính chính xác
của mã lập trình.
- In mạch và hoàn thiện các mạch điện đã thiết kế sau khi

kiểm tra trên phần mềm mô phỏng và kiểm tra trên
breadboard.

66
18


12

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

CHƯƠNG 2: CÔNG CỤ XÂY DỰNG ĐỀ TÀI

1. Khái quát về Arduino
Arduino là một board mạch vi xử lý, 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.
Được trang bị cổng giao tiếp nối tiếp RS-232 hoặc cổng USB,
giao động thạch anh, đầu vào analog, các chân I/O kỹ thuật số
tương thích với nhiều board mở rộng khác nhau.

Hình 1: Phiên bản Arduino đầu tiên sử dụng giao tiếp RS-232

Được giới thiệu vào năm 2005, Những nhà thiết kế của
Arduino cố gắng mang đến một phương thức dễ dàng, ít tốn kém
cho những người yêu thích lập trình, sinh viên và giới chuyên
nghiệp để tạo ra những thiết bị có khả năng tương tác với môi
trường thông qua các cảm biến và các cơ cấu chấp hành. Những
ví dụ phổ biến mà hầu như những người mới bắt đầu học lập

trình vi điều khiển điều phải làm đó là bật tắt một đèn LED. Đi
cùng với nó là một môi trường phát triển tích hợp (IDE) chạy trên
các máy tính cá nhân thông thường và cho phép người dùng viết
các chương trình cho Aduino bằng ngôn ngữ C hoặc C++ [19].
Ban đầu Arduino là một dự án dành cho sinh viên tại
Interaction Design Institute Ivrea (Viện thiết kế tương tác
Ivrea) tại Ivrea, Italy. Vào thời điểm đó các sinh viên sử dụng một
"BASIC Stamp" (Con tem cơ bản) có giá khoảng $100, xem như
giá dành cho sinh viên. Massimo Banzi là một trong những người
sáng lập, giảng dạy tại Ivrea. Cái tên "Arduino" đến từ một quán
bar tại Ivrea, nơi một vài nhà sáng lập của dự án này thường

66
18


13

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

xuyên gặp mặt. Bản thân quán này được lấy tên là Arduino, Bá
tước của Ivrea, và là vua của Italy từ năm 1002 đến 1014 [20].

Hình 2: Những người đầu tiên khởi xướng Arduino

Mặc dù hầu như không tiếp thị, không quảng bá nhưng tin
tức về Arduino vẫn lan truyền với tốc độ chóng mặc nhờ những
lời truyền miệng tốt đẹp từ những người dùng đầu tiên. Arduino
thực sự đã gây sóng gió trên thị trường người dùng DIY trên toàn
thế giới trong vài năm gần đây, gần giống với những gì mà Apple

đã làm được trên thị trường thiết bị di động. Số lượng người dùng
cực lớn và đa dạng với trình độ trải rộng từ bậc phổ thông lên
đến đại học đã làm cho ngay cả những người tạo ra chúng cũng
phải ngạc nhiên về mức độ phát triển.
2. Phần cứng sử dụng trong đề tài
2.1. Vi điều khiển Arduino Mega 2560
Arduino Mega 2560 R3 sử dụng vi điều khiển ATmega2560 là
bo mạch vi điều khiển cho các giao tiếp ngoại vi và số chân
nhiều nhất, bộ nhớ rất lớn (256KB).

Hình 3: Vi điều khiển Arduino Mega 2560

Thông số kỷ thuật:
66
18


14

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

-

Vi điều khiển
Điện áp hoạt động
Điện áp nguồn
Điện áp nguồn
Số chân In/Out
Đầu vào analog
Cường độ chân In/Out

Cường độ chân 3.3 V
Bộ nhớ Flash
Bootloader
- SRAM
- EEPROM
- Tốc độ

ATmega2560
5V
7-12V (khuyên dùng)
6-20V (giới hạn)
54 (trong đó có 15 đầu ra PWM)
16
40 mA
50 mA
256 KB, trong đó 8Kb của
8 KB
4 KB
16 MHz

2.2. Vi điều khiển Arduino Pro Mini
Arduino Pro Mini là một phiên bản thu nhỏ vi điều khiển UNO
R3, nó mang trên mình đầy đủ các kết nối UART, SPI cũng như
I2C và có thêm 2 đầu vào analog nâng lên tổng số đầu vào
analog là 8 cổng.

Hình 4: Vi điều khiển Arduino ProMini

Thông số kỷ thuật:
-


Vi điều khiển
Điện áp hoạt động
Điện áp nguồn
Số chân In/Out
Đầu vào analog
Cường độ chân In/Out
Bộ nhớ Flash
Bootloader
- SRAM
- EEPROM
- Tốc độ

Atmega328-AU
3V/5V
7-9V
14 (trong đó có 6 đầu ra PWM)
8
40 mA
32 KB, trong đó 2Kb của
2 KB
1 KB
16 MHz

66
18


15


Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

2.3. Mạch giao tiếp mạng Ethernet W5100
Ethernet Shield W5100 là một board mạch cho phép kết nối
Arduino UNO/Mega với internet qua giao thức TCP/IP bằng một
cổng RJ45 trên board. Để sử dụng board Ethernet Shield ta chỉ
cần gắn board này lên trên board Arduino sao cho các chân của
board Ethernet Shield trùng với các chân của board Arduino.

Hình 5: Bo mở rộng Ethernet Shield W5100

Thông số kỷ thuật:
-

Điện áp hoạt động:
Chip Ethernet:
Buffer nội:
Tốc độ kết nối:

5V (cấp từ mạch Arduino)
W5100
16k
10/100Mb

2.4. Module đọc quét thẻ từ RFID RC522
Module RFID RC522 sử dụng IC MFRC522 của hãng Philip
dùng để đọc và ghi dữ liệu cho thẻ NFC tần số 13.56Mhz.

Hình 6: Mạch đọc thẻ từ RFID RC522


Thông số kỷ thuật:
-

Điện áp hoạt động:
Dòng ở chế độ chờ:
Dòng ở chế độ nghỉ:
Tần số sóng mang:

3.3V
1013mA
<80uA
13.56Mhz

66
18


16

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

- Khoảng cách hoạt động: 0~60mm
- Chuẩn giao tiếp:
SPI
- Tốc độ truyền dữ liệu tối đa:
10Mbit/s
2.5. Module thu phát sóng vô tuyến RF 315Mhz
Là mạch thu phát tín hiệu bằng sóng vô tuyến. Module phát
sử dụng thạch anh phát có tần số 315Mhz, module thu có chức
năng điều chế và lọc tín hiệu nhận được từ module phát.


Hình 7: Module thu và phát của bộ thu/phát RF 315Mhz

Thông số kỷ thuật:
-

Điện áp hoạt động:
5V
Dòng tiêu thụ:
4mA
Tần số sóng mang:
315Mhz
Độ nhạy:
-105dB
Tốc độ truyền dữ liệu tối đa:
4Kb/s
Công suất truyền:
10mW

2.6. Module thời gian thực DS1307
Module thời gian thực DS1307 có chức năng lưu trữ thông tin
ngày tháng năm cũng như giờ phút giây, nó sẽ hoạt động như
một chiếc đồng hồ và có thể xuất dữ liệu ra ngoài qua giao thức
I2C.

Hình 8: Module thời gian thực RTC DS1307

Thông số kỷ thuật:
66
18



17

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

-

Điện áp hoạt động:
EEPROM:
Tần số:
Chuẩn giao tiếp:

5V
32Kb
1hz
I2C

3. Phần mềm hổ trợ
3.1. Môi trường phát triển ứng dụng Arduino IDE
Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông
dụng mang lại nhiều lợi thế cho Arduino, tuy nhiên sức mạnh
thực sự của Arduino nằm ở phần mềm. Môi trường lập trình đơn
giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trên
nền tảng C/C++ rất quen thuộc với người làm kỹ thuật, dễ học
đối với những người chưa biết ngôn ngữ lập trình. Và quan trọng
là số lượng thư viện code được viết sẵn và chia sẻ bởi cộng đồng
nguồn mở là vô cùng lớn.

Hình 9: Giao diện môi trường phát triển ứng dụng Arduino IDE


Arduino IDE là phần mềm dùng để lập trình cho Arduino. Môi
trường lập trình Arduino IDE có thể chạy trên các nền tảng phổ
biến nhất hiện nay là Windows, Mac và Linux. Do có tính chất
nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và
có thể mở rộng thêm bởi người dùng có kinh nghiệm.
Ngôn ngữ lập trình có thể được mở rộng thông qua các thư
viện C++. Và do ngôn ngữ lập trình này dựa trên nền tảng C của
AVR nên người dùng hoàn toàn có thể nhúng thêm code viết
bằng AVR vào chương trình nếu muốn. Arduino IDE được
download từ trang chủ của Arduino

66
18


18

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

3.2. Phần mềm thiết kế mạch
Phần mềm Proteus là phần mềm cho phép mô phỏng hoạt
động của mạch điện tử bao gồm phần thiết kế mạch và viết
chương trình điều khiển cho các họ vi điều khiển như MCS-51,
PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của
Lancenter Electronics, mô phỏng cho hầu hết các linh kiên điện
tử thông dụng, đặc biệt hỗ trợ cho các MCU như PIC, 8051, AVR,
Motorola.

Hình 10: Giao diện làm việc của phần mềm thiết kế mạch Proteus


Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng
mạch và ARES dùng để vẽ mạch in. Proteus là công cụ mô
phỏng cho các loại vi điều khiển khá tốt, nó hỗ trợ các dòng vi
điều khiển PIC, 8051, PIC, dsPIC, AVR, HC11,…các giao tiếp I2C,
SPI, CAN, USB, Ethenet…ngoài ra còn mô phỏng các mạch số,
mạch tương tự một cách hiệu quả.
3.3. Thư viện Arduino trong Proteus
Thư viện Arduino là một bổ sung rất hay cho phần mềm mô
phỏng Proteus nó giúp cho việc mô phỏng Arduino được thuận
tiện và dễ dàng hơn thay vì chỉ mô phỏng được chip
ATmega328(nhân của Arduino), thư viện này được phát triển bởi
các kĩ sư Cesar Osaka, Daniel Cezar, Roberto Bauer.
Thư viện bao gồm các linh kiện sau:
- Arduino Uno (Phiên bản chip ATmega328 chân DIP)
- Arduino Uno (Phiên bản chip ATmega328 chân SMD)
- Arduino Mega
- Arduino Lilypad
- Arduino Nano
- Cảm biến siêu âm Ultrasonic V2

66
18


19

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

Hình 11: Các linh kiện trong thư viện Arduino cho Proteus


4. Công cụ phụ trợ
Breadboard là một loại board dùng để tạo mẩu thử nghiệm
những mạch điện tử, có các lỗ cắm dây và linh kiện mà không
cần phải dùng mối hàn.

Hình 12: Cấu tạo của một loại breadboard

Công cụ thiết kế mạch trực tuyến PCB – EasyEDA được sử
dụng như là một công cụ tham khảo các mạch nguyên lý cũng
như mạch in của các bo mạch vi điều khiển Arduino.

Hình 13: Công cụ thiết kế mạch trực tuyến PCB-EasyEDA

66
18


20

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

Phần mềm xuất Gcode (FlatCAM) được sử dụng để tinh chỉnh
và xuất mã Gcode cho máy CNC Router trong quá trình thi công
mạch điện.

Hình 14: Giao diện làm việc của phần mềm xuất Gcode FlatCAM

CHƯƠNG 3: ĐẶC TẢ HỆ THỐNG


1. Yêu cầu chức năng
Các yêu cầu chức năng của hệ thống bao gồm:
• Kết nối các thiết bị điện, điện tử, điện gia dụng vào hệ
thống điều khiển.
• Giám sát trạng thái của các thiết bị thông qua Internet.
• Kết nối các cảm biến và xử lý các vấn đề an ninh, an toàn
hệ thống
• Điều khiển các thiết bị đã kết nối vào hệ thống.
• Điều khiển hệ thống bằng các thiết bị như: máy tính, điện
thoại thông minh…
• Xây dựng một web server để thực hiện yêu cầu điều
khiển từ người dùng.
• Sử dụng chuẩn giao tiếp TCP/IP để kết nối với hệ thống.
• Người dùng điều khiển hệ thống thông qua trình duyệt
web.
• Xây dựng cơ chế chứng thực cơ bản cho người sử dụng
• Hệ thống điều khiển và xử lý sau khi lắp ráp phải đảm
bảo tính nhỏ gọn.
• Đảm bảo tính an toàn về điện cho người dùng khi sử dụng
hệ thống.

66
18


21

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

2. Mô tả hệ thống

Để điều khiển các thiết bị điện phải được kết nối với mạch
điều khiển, người dùng điều khiển thông qua máy tính, thiết bị di
động có kết nối internet hoặc phím cứng được đặt riêng cho từng
thiết bị.
Mạch điều khiển sẽ luôn luôn cập nhật trạng thái của các
thiết bị và gửi dữ liệu về bộ xử lý trung tâm.
Cảm biến sẽ thu thập dữ liệu của môi trường (nhiệt độ, độ
ẩm, ánh sáng, khí gas, báo cháy…) và gửi dữ liệu thô về bộ xử lý
trung tâm.
Bộ xử lý trung tâm có nhiệm vụ nhận dữ liệu được gửi từ
mạch điều khiển và các cảm biến, tính toán và cập nhật giá trị
lên web server.
Bộ xử lý trung tâm cũng là nơi nhận tín hiệu điều khiển từ
người dùng và gửi tín hiệu đến mạch điều khiển để bật/tắt thiết
bị.
Các tín hiệu gửi và nhận trên bộ xử lý trung tâm, mạch điều
khiển, các cảm biến và hệ thống mở/khóa cửa RFID được truyền
đi thông qua sóng vô tuyến bằng module RF315Mhz.

Hình 15: Sơ đồ khối nguyên lý kết nối của hệ thống

66
18


22

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

3. Phân tích yêu cầu chức năng

3.1. Biểu đồ trường hợp sử dụng
Để điều khiển hệ thống, việc đầu tiên người dùng phải làm
là chứng thực người dùng bằng cách nhập tên đăng nhập và mật
khẩu vào màn hình đăng nhập khi người dùng truy cập vào địa
chỉ IP của hệ thống trên trình duyệt. Sau khi đăng nhập người
dùng sẽ được đưa đến màn hình điều khiển và giám sát các hoạt
động của hệ thống. Từ đây người dùng có quyền điều khiển
bật/tắt các thiết bị, đóng/mở cửa, hay xem lại lịch sử các hoạt
động của hệ thống.

Hình 16: Sơ đồ trường hợp sử dụng

3.2. Phân tích các trường hợp sử dụng
3.2.1.
Use case đăng nhập
Để điều khiển được tất cả các tính năng hệ thống trên
internet, máy tính hay thiết bị di động của người dùng phải kết
nối với internet. Người dùng truy cập địa chỉ IP của hệ thống trên
trình duyệt web, sau đó hệ thống yêu cầu người dùng nhập tên
người dùng và mật khẩu đăng nhập. Nếu người nhập sai tên
đăng nhập hoặc mật khẩu, người dùng sẽ được yêu cầu nhập lại.
Nếu hủy bỏ đăng nhập trình duyệt sẽ hiện thông báo lỗi đăng
nhập. Nếu nhập đúng tên đăng nhập và mật khẩu, trình duyệt sẽ
vào màn hình chính của hệ thống.
-

Cách bước thực hiện:
B1: Người dùng mở trình duyệt web.

66

18


23

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

B2: Nhập địa chỉ IP của hệ thống
B3: Nhập tên người dùng và mật khẩu
Hệ thống thông báo chứng thực thành
B4:
công
-

Trình tự thực hiện đăng nhập:

Hình 17: Biểu đồ trình tự của thao tác đăng nhập

-

Thiết kế form đăng nhập:

Hình 18: Thiết kế form đăng nhập

3.2.2.

Use case giám sát cảm biến

Sau khi đăng nhập thành công, trình duyệt sẽ đưa người
dùng đến màn hình giám sát hoạt động của các thiết bị cũng

như hoạt động của các cảm biến. Các cảm biến nhiệt độ - độ ẩm
sẽ được hiển thị giá trị thay đổi theo thời gian thực. Cảm biến
chuyển động sẽ thay đổi trạng thái khi có chuyển động, và các
trạng thái này sẽ được lưu lại trong lịch sử hoạt động của hệ
thống.
-

Thiết kế khung nhìn hiển thị cảm biến nhiệt độ, độ ẩm:

66
18


24

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

Hình 19: Thiết kế khung nhìn hiển thị nhiệt độ, độ ẩm

-

Thiết kế khung nhìn hiển thị cảm biến chuyển động và các
cảm biến tương tự:

Hình 20: Thiết kế khung nhìn cảm biến chuyển động

3.2.3.

Use case điều khiển thiết bị


Để điều khiển thiết bị, người dùng sử dụng switch chuyển
đổi qua lại giữa trạng thái “ON” hoặc “OFF”. Tại một thời điểm
chỉ có một trạng thái duy nhất được kích hoạt.
-

Cách bước thực hiện:
B1: Người dùng chọn thiết bị cần điều khiển
Nhấn chọn nút ON/OFF trên màn hình
B2:
điều khiển
B3: Hệ thống ra lệnh điều khiển thiết bị

66
18


25

Thiết kế hệ thống điều khiển thiết bị điện trong nhà với Arduino

-

Trình tự điều khiển thiết bị:

Hình 21: Biểu đồ trình tự của thao tác điều khiển thiết bị

-

Thiết kế form điều khiển thiết bị:


Hình 22: Thiết kế form điều khiển thiết bị

3.2.4.

Use case đóng mở cửa

Người dùng có thể đóng/mở cửa ngay trên trình duyệt của
hệ thống. Giám sát việc đóng mở cửa hay xem các cảnh báo
truy cập trái phép, lịch sử đóng mở cửa.
-

Cách bước thực hiện:
B1: Người dùng đi đến form điều khiển
Nhấn chọn nút “Mở” hoặc “Đóng” trên
B2:
form
Hệ thống ra lệnh điều khiển đóng/mở
B3:
cửa

66
18


×