You are on page 1of 31

BÁO CÁO

NGHIÊN CỨU KHOA HỌC


Tên dự án:
SMARTHOME CHO CÁC GIA ĐÌNH NÔNG THÔN VIỆT NAM
(Cuộc thi khoa học, kỹ thuật dành cho học sinh Trung học)

I. Mục lục
-Phần chung:
+ Lí do chọn đề tài.
+ Ý nghĩa khoa học và thực tiễn.
+ Mục tiêu nghiên cứu.
+ Giới hạn và phạm vi nghiên cứu.
+ Phƣơng pháp nghiên cứu.
+ Nội dung nghiên cứu.
+ Điểm mới của đề tài.
- Kết quả và thảo luận.
- Kêt luận khoa học.
- Tài liệu tham khảo.

1
II. PHẦN CHUNG
1. Lý do chọn đề tài.
Việc bật tắt các thiết bị điện bằng công tắc với chúng ta là điều đã quá quen
thuộc, tuy vậy cũng có khi việc này trở nên khó khăn và bất tiện vì các công tắc điện
nằm ở xa nhau, khiến ta phải đi đến từng nơi để bật tắt mất thời gian và công sức.
Đặc biệt việc bật tắt công tắc với những ngƣời ít khả năng đi lại và vận động hạn chế
nhƣ ngƣời bệnh thấp khớp, ngƣời tàn tật, ngƣời thị giác kém,….. Mặt khác an ninh
của ngôi nhà và ngƣời sử dụng có thể bị đe dọa bởi những nguy hiểm tiềm tàng nhƣ:
trộm, dò ga, cháy nổ, điện giật, nồng độ các khí độc hại tăng cao do quá trình đun
nấu, sƣởi ấm,... Hiện nay trên thế giới cũng nhƣ ở Việt Nam đã có các ngôi nhà
thông minh (SmartHome) có thể giải quyết những vấn đề trên nhƣng các nhà sản
xuất chủ yếu hƣớng đến những ngôi nhà ở thành thị, các vùng có điều kiện kinh tế
phát triển mà chƣa quan tâm tới các ngôi nhà ở vùng nông thôn. Mặt khác thì giá
thành của các ngôi nhà thông minh vẫn còn cao nên việc sở hữu một ngôi nhà thông
minh đối với ngƣời nông dân là điều xa vời.
Xuất phát từ thực tế đó cùng với sự nghiên cứu các thiết bị điều khiển và các
cảm biến sẵn có, nhóm đã có ý tƣởng tìm hiểu và thiết kế mô hình “SmartHome cho
các gia đình nông thôn ở khu vực trung du và đồng bằng phía bắc Việt Nam”
2. Ý nghĩa khoa học và ý nghĩa thực tiễn của dự án.
Dự án “SmartHome cho gia đình nông thôn ở khu vực trung du và đồng bằng
phía bắc Việt Nam” thực hiện thành công có thể giúp cho các ngôi nhà ở nông thôn
trở nên thông minh với đặc trƣng của vùng nông thôn Việt Nam. Khi sử dụng hệ
thống ngƣời dùng có thể quản lí các thiết bị điện một cách dễ dàng và chủ động, hệ
thống còn giúp tự động bật/tắt một số thiết bị điện mà theo thói quen sử dụng ta
thƣờng hay quên đi nhƣ: đèn, quạt, máy bơm,…hoặc khi đi xa ta có thể chủ động đặt
trƣớc để bật các thiết bị phụ giúp cho nuôi trồng nhƣ bơm nƣớc, thiết bị cho gia cầm
ăn.
Chức năng tự nhận diện giọng nói để điều khiển phần mềm và bật tắt điện là
một cách thức mới để giao tiếp với các thiết bị điện. Chức năng này kết hợp với chức
năng phản hồi bằng giọng nói còn hỗ trợ cho ngƣời mù hay thị lực kém có thể điều
khiển các thiết bị chỉ cần bằng giọng nói.
Nhóm nghiên cứu đề tài mong muốn góp một phần nhỏ cho sự nghiệp hiện đại
hóa, công nhiệp hóa đất nƣớc.
3. Mục tiêu nghiên cứu
Dự án đƣợc nghiên cứu nhằm tạo ra một hệ thống giúp những ngƣời có thu nhập
không cao có thể sở hữu một ngôi nhà với những chức năng thông minh mà giá
thành vừa phải, những ngƣời khó khăn trong việc bật tắt điện có thể điều khiển các
thiết bị điện tại một nơi bất kì trong nhà mà không cần đi tới chỗ đặt công tắc riêng
của thiết bị đó và hệ thống còn giúp cho việc quản lí các thiết bị dễ dàng, tiện lợi.
Cụ thể đề tài có thể giải quyết các vấn đề đã đặt ra là:

2
- Bật tắt các thiết bị điện trong nhà một cách dễ dàng qua điện thoại hoặc máy
tính bảng chạy Android với giao diện thân thiện, dễ sử dụng giúp hạn chế phải đi lại
để bật tắt các thiết bị điện.
- Chức năng sử dụng cho ngƣời mù, giúp ngƣời mù điều khiển bằng giọng nói
bằng cách bấm vào vị trí bất kì trên màn hình điện thoại sau khi mở máy.
- Cảnh báo cho ngƣời sử dụng ngôi nhà biết khi có trộm xâm nhập trái phép, khi
có hiện tƣợng rò rỉ gas, khi có hiện tƣợng có thể xảy ra hỏa họa trong nhà, khi nồng
độ các khí độc hại tăng lên cao gây hại sức khỏe con ngƣời thông qua chuông báo
động, tin nhắn, cuộc gọi trực tiếp đến số điện thoại đặt trƣớc.
- Thử nghiệm hoạt động và cách sử dụng của các linh kiện điện tử nhƣ điôt,
tranzito, tirixto, tụ điện, triac, điac, quang điện tử, các cảm biến, module truyền - thu
thập dữ liệu, các cách kết nối có dây và không dây, áp dụng các kiến thức tin học lập
trình kết hợp với tìm hiểu và sử dụng vi điều khiển.
Mục tiêu lớn nhất của dự án là nhằm nâng cao trình độ hiểu biết của bản thân về
chuyên ngành kĩ thuật- điện tử– công nghệ thông tin, tự tạo cho bản thân các thử
thách khó đặt ra và tự bản thân vƣợt qua để hoàn thiện mình.
4. Giới hạn phạm vi nghiên cứu.
Hệ thống mạng điện sinh hoạt, các thiết bị điện dân dụng và các thiết bị cảnh
báo có thể sử dụng đƣợc trong các ngôi nhà ở vùng nông thôn thuộc khu vực trung
du và đồng bằng phía bắc Việt Nam.
5. Phương pháp nghiên cứu.
Nhóm nghiên cứu theo phƣơng pháp tƣ duy quy nạp: từ việc nghiên cứu các thiết
bị riêng lẻ, tích hợp thành hệ thống điều khiển chung cho nhiều thiết bị.
Nhóm sử dụng phƣơng pháp thí nghiệm thực nghiệm để tiến hành lắp đặt thử
nghiệm bộ điều khiển.
Nhóm còn sử dụng phƣơng pháp thu thập thông tin qua việc tìm hiểu về nhu cầu
của ngƣời dân, nhất là ngƣời nông dân, ngƣời khuyết tật, thông qua hoạt động quan
sát công việc hằng ngày của họ, hỏi về nhu cầu của họ và xuất phát chính từ nhu cầu
của bản thân và gia đình. Từ các thông tin thu thập, nhóm xác định các hạn chế, yêu
cầu của ngƣời đƣợc khảo sát sau đó đƣa ra giải pháp để khắc phục các hạn chế và
giải quyết những yêu cầu đó.
6. Nội dung nghiên cứu
- Tìm hiểu về ngôi nhà ở vùng nông thôn.
- Nghiên cứu, tìm hiểu các linh kiện điện tử, nguyên lí hoạt động đóng ngắt hệ
thống điện trong gia đình và các thiết bị cảnh báo có thể sử dụng đƣợc trong các ngôi
nhà ở vùng nông thôn.
- Xây dựng giải pháp tích hợp để điều khiển thiết bị điện và thiết bị cảnh báo trong
gia đình.
- Thiết kế mô hình không gian của dự án.
- Thiết kế sơ đồ tổng thể của dự án.
- Thiết kế, lắp ráp và kiểm tra từng hệ thống riêng lẻ.
- Lập chƣơng trình để điều khiển hoạt động của các thiết bị điện trong gia đình.

3
- Lập trình phần mềm cài đặt cho thiết bị Android để điều khiển từ xa các thiết bị
điện trong gia đình.
- Hoàn thiện, kiểm tra và chạy thử nghiệm.
7. Những điểm mới của dự án.
Tích hợp các chức năng điều khiển từ xa của các thiết bị điện (nhƣ: bóng đèn,
quạt, máy bơm nƣớc,…) đơn lẻ thành một bộ điều khiển chung. Mặt khác còn có thể
điều khiển hệ thống cảnh báo về an ninh và môi trƣờng của ngôi nhà ở vùng nông
thôn. Hệ thống các thiết bị điện và cảnh báo đƣợc điều khiển trên hệ điều hành
ANDROID, hoặc điều khiển qua máy vi tính.
Đặc biệt hệ thống còn hỗ trợ chức năng điều khiển giành cho ngƣời mù. Trong
đó có chức năng nhận diện và thông báo bằng giọng nói cùng với các biểu tƣợng
(icon) chân thực, sinh động giúp những ngƣời thị lực kém hoặc không biết chữ vẫn
có thể sử dụng phần mềm để điều khiển các thiết bị, nghe thông tin về phần mềm và
hƣớng dẫn sử dụng bằng giọng nói ngôn ngữ Tiếng Việt.

4
III. PHẦN KẾT QUẢ VÀ THẢO LUẬN.
1. Tìm hiểu về ngôi nhà ở vùng nông thôn
a) Đặc điểm các ngôi nhà ở vùng nông thôn Việt Nam:
Đối với các hộ gia đình ở vùng nông thôn có mức thu nhập thấp, ngôi nhà
chính của họ thƣờng là những ngôi nhà cấp 4. Bên cạnh ngôi nhà chính thƣờng có
thêm nhà phụ nhƣ: nhà bếp, nhà kho, nhà tắm và vệ sinh, nhà cho gia súc, gia cầm,
… Vì vậy, việc bật/tắt các thiết bị điện trong các ngôi nhà này thƣờng rất bất tiện.

b) Đặc điểm về mạng điện trong các ngôi nhà ở vùng nông thôn Việt Nam
Một số hình ảnh về hệ thống điện trong ngôi nhà ở vùng nông thôn:

5
Qua việc quan sát thực tế các ngôi nhà gần nơi sinh sống, các cuộc nói truyện
khảo sát trực tiếp về những phiền hà, lo ngại và mong muốn của ngƣời nông dân khi
dùng điện nhóm rút ra đƣợc các nhƣợc điểm cần khắc phục của ngôi nhà nông thôn
nhƣ sau:
Thứ nhất: Mạng lƣới điện chạy trong nhà đƣợc đấu nối rất sơ sài, thiếu tính an
toàn, đƣờng dây tải điện mắc nổi, đa số mạch thƣờng đƣợc lắp thủ công, các chỗ nối
bị hở và không chắc chắn. Điều đó gây cảm giác lo lắng với ngƣời dùng điện, nguy
cơ mất an toàn điện và có thể gây chập cháy.
Thứ hai: Các bảng điện, công tắc, ổ cắm, dây điện thuộc thế hệ cũ không còn
an toàn. Việc này gây nên nguy cơ bị điện giật vì hở điện hay ẩm ƣớt trời nồm và
nguy hiểm tới tính mạng của ngƣời dùng, nhất là những ngƣời thị lực kém, trẻ nhỏ.
Thứ ba: Các công tắc điều khiển các thiết bị nằm dải rác tại nhiều nhà phụ
khác nhau, khó khăn cho việc quản lí bật tắt các thiết bị vào ban đêm hoặc ngày mƣa.
Thứ tƣ: theo thói quen sử dụng, ngƣời dùng thƣờng quên đi tắt-bật các thiết bị
nhỏ, các thiết bị ở các nhà phụ gây lãng phí điện năng.
Thứ năm: Các ngôi nhà nông thôn hầu nhƣ không có hệ thống cảnh báo về an
toàn nhƣ: cảnh báo trộm, cảnh báo cháy nổ, cảnh báo rò rỉ khí ga, nồng độ khí có hại
trong quá trình đốt than, sƣởi lửa; gây nên các nguy cơ bị trộm cắp, nguy cơ cháy nổ
lớn, nguy cơ bị ngộ độc các loại khí.
Thứ sáu: Việc điều khiển các thiết bị điện chủ yếu bằng cách bật-tắt thủ công,
gây khó khăn cho những ngƣời bệnh khớp, ngƣời thị lực kém hay những ngƣời hạn
chế khả năng đi lại. Những ngƣời bị mù thì không thể bật tắt các thiết bị theo nhu cầu
sử dụng của bản thân.
Qua tìm hiểu với ngƣời dân, nhóm đƣợc biết đã có nhiều vụ tai nạn thƣơng
tâm gây nên bởi các nguy hiểm từ hệ thống điện, điều đó đòi hỏi sự cấp thiết phải
thay thế bằng một hệ thống mới có tính an toàn cao và sự tiện dụng, có thể phổ biến
cho nhiều đối tƣợng khác nhau và có giá thành phải chăng phù hợp với ngƣời nông
dân.
Các hệ thống cảnh báo nguy hiểm nhƣ rò rỉ khí ga, cháy nổ hay chống trộm
chƣa có, đó là nguy cơ gây mất an toàn cho ngôi nhà.
2. Tìm hiểu các linh kiện điện tử và cách bật tắt các thiết bị điện, phương thức
điều khiển một hệ thống điện.
Hầu hết các thiết bị điện hiện nay đƣợc bật tắt bởi các công tắc và chủ yếu là loại
công tắc tay. Công tắc tay này tuy bật tắt dễ dàng nhƣng có nhƣợc điểm là không thể
kết hợp với các hệ thống điều khiển thiết bị.

6
Để có thể điều khiển từ xa hệ thống điện thì trƣớc tiên cần phải tìm ra loại công
tắc có thể điều khiển đƣợc bằng tín hiệu điện. Thứ hai, cần có một bo mạch có thể
kết hợp đƣợc các công tắc lại với nhau và xử lí đƣợc tín hiệu nhận đƣợc thành tín
hiệu điện nhằm điều khiển các công tắc đó. Thứ ba, cần có bộ phận truyền-nhận tín
hiệu giữa bo mạch và bộ phát tín hiệu điều khiển từ xa.
3. Đưa ra giải pháp để điều khiển thiết bị điện, tìm cách giao tiếp giữa các thiết
bị điện với nhau và tìm kiếm các thiết bị phù hợp, các thiết bị có khả năng kết
hợp được với nhau.
Qua tìm hiểu và nghiên
cứu nhóm đã tìm ra các
loại linh kiện có thể điều
khiển đƣợc bằng tín hiệu
điện để thay thế cho công
tắc thông thƣờng, đó là:
rơ-le, triac.
Mặt khác, nhóm cũng
đã tìm đƣợc bo mạch
ARDUINO. Loại bo
mạch cho phép lập trình
để khi nhận đƣợc tín hiệu
của con ngƣời rồi xuất ra
một dòng điện ở các chân digital của bo mạch, có thể dùng dòng điện này để bật tắt
các công tắc nhƣ trên. Để nhận đƣợc tín hiệu của con ngƣời thì riêng mạch
ARDUINO không thể tự làm đƣợc mà cần đến thiết bị trung gian thu nhận các tín
hiệu qua các cổng giao tiếp là các chân Serial 0 (RX) và 1 (TX) hoặc qua các chân
USB. Qua tìm hiểu các tài liệu trên mạng, nhóm rút ra đƣợc 5 cách truyền tín hiệu
đến ARDUINO đó là sử dụng cổng COM của máy vi tính, sử dụng module bluetooth
truyền tín hiệu qua di động, sử dụng module wifi để truyền tín hiệu qua wifi và
truyền tín hiệu qua internet sử dụng module internet, sử dụng module sim gửi dữ
kiệu qua tin nhắn hoặc GPRS.
Do thời gian hạn chế, kinh phí có hạn và kiến thức về điện tử còn hạn chế vì vậy
nhóm sử dụng 2 phƣơng thức truyền tín hiệu đó là sử dụng module sim để gửi các
thông báo khẩn cấp đến chủ nhà( nhóm sử dụng module sim900A) và sử dụng
module bluetooth truyền tín hiệu qua điện thoại( nhóm sử dụng module bluetooth
HC – 06 để nhận và truyền tín hiệu.)
4. Thiết kế mạch tổng thể và thiết kế các hệ thống thiết bị đơn vị.
4.1. Thiết kế mạch tổng thể

7
a) Sơ đồ khối của mạch tổng thể

MODULE
ĐIỀU
KHIỂN
BLUETOOTH ARDUINO
NGUỒN
NUÔI (5V
MODULE
SIM900A

HỆ THỐNG ĐIỀU KHIỂN HỆ THỐNG CẢNH BÁO VỀ


CÁC THIẾT BỊ ĐIỆN AN NINH VÀ MÔI TRƢỜNG

CÁC THIẾT BỊ ĐIỆN CÁC THIẾT BỊ ĐIỆN HỆ THỐNG HỆ THỐNG HỆ THỐNG


CÔNG SUẤT NHỎ CÔNG SUẤT LỚN CẢNH BÁO CẢNH BÁO CẢNH BÁO
AN NINH CHÁY KHÍ GA

ĐÈN QUẠT CHO ĐÈN MÁY CỔNG HỆ HỆ CẢM HỆ


CẢM
CÔNG ĐIỆN GIA CÔNG BƠM HỒNG THỐNG THỐNG BIẾN THỐNG
BIẾN
SUẤT THÔNG CẦM SUẤT NƢỚC CẢNH CẢNH CẢNH
NGOẠI NHIỆT KHÍ GA
NHỎ DỤNG ĂN LỚN BÁO ĐỘ BÁO BÁO

b) Nguyên lí hoạt động tổng thể :


* Chế độ trong nhà: (khi có ngƣời ở nhà thì bật chế độ hoạt động này).
Trên điện thoại Android của ngƣời sử dụng đƣợc cài sẵn phần mềm HD02 và
bộ đọc tiếng Việt (vnSpeak). Thao tác trên ứng dụng này sẽ gửi các tín hiệu điều
khiển tới module bluetooth, rồi từ đó truyền tới Arduino và đƣợc arduino xử lí theo
lập trình.
- Đối với hệ thống điều khiển các thiết bị điện: Arduino sẽ phân tích dữ liệu
nhận đƣợc bằng chƣơng trình đã đƣợc nạp rồi thay đổi trạng thái “HIGH” hoặc
“LOW” ở các chân digital. Nếu chân digital có trạng thái “HIGH” thì nó sẽ xuất ra
dòng điện một chiều, còn ở trạng thái “LOW” thì không xuất ra dòng điện. Các dòng
điện này dùng để kích “Hệ thống nhận tín hiệu từ mạch xử lí điều khiển các thiết bị
điện” nhằm bật/tắt các thiết bị điện.
- Đối với hệ thống cảnh báo về an ninh và môi trƣờng: Các module cảm biến
nhiệt độ, cảm biến khí ga, cảm biến quang,... thu thập các thông tin về an ninh và
môi trƣờng rồi gửi tín hiệu về Arduino, sau đó arduino xử lí và xuất ra các dòng điện
để kích hoạt các hệ thống cảnh báo tƣơng ứng.

8
* Chế độ ngoài nhà: (khi không có ngƣời ở nhà thì bật chế độ này).
- Đối với hệ thống điều khiển các thiết bị điện: khi chủ nhà gửi tin nhắn tới
module sim900A. Tùy theo tin nhắn nhận đƣợc mà module sẽ truyền tín hiệu tới
arduino để xử lí theo lập trình nhằm bật/tắt các thiết bị điện.
- Đối với hệ thống cảnh báo về an ninh và môi trƣờng: Khi có sự cố xảy ra
trong nhà (ví dụ: có trộm, rò khí ga, …) thì các module cảm biến sẽ truyền tín hiệu
đến arduino để xử lí theo lập trình. Tùy theo tín hiệu nhận đƣợc, arduino sẽ phát tín
hiệu đến module Sim900A nhằm gửi các thông báo khẩn cấp tới điện thoại của chủ
nhà.
4.2. Giao tiếp giữa Arduino và các module dữ liệu.
a) Giao tiếp với module bluetooth HC – 06.
Cách kết nối ARDUINO với module bluetooth.
Mạch ARDUINO sử dụng nguồn điện 1 chiều không đổi 5V cấp qua cổng nguồn
tròn, vì vậy nhóm sử dụng nguồn từ adapter 5V. Nguồn cho module bluetooth HC –
06 là nguồn 5V. Do ARDUINO có một cổng xuất ra điện thế 5V, để tránh nối dây
dài nên nhóm sử dụng ngay nguồn này cho module bluetooth. Các chân truyền tín
hiệu TX và RX của module bluetooth đƣợc nối với các chân truyền tín hiệu của
Arduino.
Trình tự nối các chân nhƣ sau:
Chân trên HC - 06 Chân trên Arduino Mega
VCC 5V (nguồn ngoài)
GND GND
TX RX(0)
RX TX(1)

Sau khi đƣợc cấp nguồn thì mạch hoạt động theo nguyên lí : tín hiệu gửi đi từ thiết
bị gửi thành các byte, module bluetooth nhận tín hiệu này rồi truyền vào cổng Serial
của Arduino. Arduino nhận các tín hiệu và xử lí theo thuật toán đƣợc lập trình để
xuất ra các dòng điện 5V ở các chân digilal của ARDUINO.
b) Giao tiếp với module sim Sim900A.
Các chân trên Sim900A Chân trên Arduino Mega
VCC 5V (nguồn ngoài)
GND GND
TX 50
RX 51

9
Sau khi đƣợc cấp nguồn thì mạch hoạt động theo nguyên lí : Sau khi các
module cảm biến nhận thấy các dấu hiệu bất thƣờng nhƣ nhiệt độ cao do cháy, các
khí độc, nhận diện đƣợc trộm thì Arduino xử lí theo thuật toán đƣợc lập trình sẵn và
gửi thông báo bằng tin nhắn đến cho số điện thoại chủ nhân đƣợc lập trình sẵn. Các
thông báo cụ thể nhƣ sau:
Các hành động Nội dung tin nhắn được gửi đi
Khi có cháy BAO DONG KHAN: NHA DANG BI
CHAY
Khi có ga bị rò rỉ, khí độc nồng độ thấp BAO DONG KHAN: BINH GA DANG
BI RO RI HOAC CO KHI DOC
Khi khí ga bị rò rỉ, khí độc nồng độ cao BAO DONG KHAN: BINH GA DANG
BI RO RI NANG VA CO THE GAY
CHAY NO.
Khi có trộm BAO DONG KHAN: NHA DANG CO
TROM
Khi đã cho gia cầm ăn lúc quá muộn. DA CHO GIA CAM AN
Khi đã bơm nƣớc lúc quá muộn. DA BOM NUOC

c) Kết nối với module thời gian thực DS1302


Module thời gian thực sử dụng để tính thời gian
hoạt động của hệ thống, Arduino cũng dựa vào đó mà căn
các thời gian tự động bật tắt các thiết bị điện.

Các chân kết nối nhƣ sau:


Các chân trên DS1302 Các chân trên Arduino Mega
RST D33
I/O PWM2
SCLK D34
5V 5V (Nguồn ngoài)
GND GND

4.3. Hệ thống điều khiển các thiết bị điện.


a) Đối với các thiết bị điện có công suất nhỏ
* Sơ đồ mạch điện cho mỗi thiết bị điện như sau:

10
+E
ARDUINO
Nguồn điện
xoay chiều
T1 R4
R1
1
D
LED 2 3
R2 Rơ-le

Thiết bị điện
R3 T2 công suất nhỏ

GND

* Chức năng của các linh kiện và nguyên lí hoạt động của mạch điện:
- Khi có dòng điện xuất ra từ Arduino (bật thiết bị điện): nó sẽ kích mở các
tranzito T1 và T2 đƣợc mắc theo kiểu Darlington. Lúc đó, tranzito T1 và T2 đƣợc
dẫn thông sẽ có dòng điện chạy qua rơ-le do nguồn +E cấp. Điện trở R1 dùng để hạn
chế dòng ra từ Arduino, các điện trở R2 và R3 dùng để phân áp cho tranzito T2. Điôt
D dùng để bảo vệ tranzito T2 (do khi đóng-ngắt mạch điện thì dòng điện chạy qua
cuộn dây ở rơ-le biến đổi nhanh làm cho cuộn dây sinh ra suất điện động tự cảm có
giá trị lớn có thể sẽ đánh thủng tranzito T2).
Khi có dòng điện chạy qua cuộn dây của rơ-le thì nó sẽ hút cực tiếp điểm động
1 chạm vào cực tiếp điểm tĩnh 2. Vì vậy mạch điện gồm nguồn điện và thiết bị điện
tƣơng ứng sẽ đƣợc đóng kín nên thiết bị điện đó sẽ hoạt động.
- Khi không có dòng điện xuất ra từ Arduino (tắt thiết bị điện): các tranzito T1
và T2 sẽ đóng nên không có dòng điện chạy qua cuộn dây của rơ-le, khi đó lò xo
trong rơ-le sẽ đẩy cực tiếp điểm động 1 chạm vào cực tiếp điểm tĩnh 3. Do vậy, mạch
điện bị hở và thiết bị điện đó sẽ ngƣng hoạt động.
LED dùng để nhận biết trạng thái của mạch điện. Nếu mạch điện đang hoạt
động (thiết bị điện đó đƣợc bật) thì LED sáng; ngƣợc lại thì LED tắt.
- Thông số của mạch điện mà nhóm nghiên cứu đã lựa chọn:
+) T1: Tranzito C1815 (loại NPN) ; có UC = 50 V và IC = 150 mA.
+) T2 : Tranzito S8050 (loại NPN) ; có UC = 40 V và IC = 500 mA.
+) D : Điốt 1N4001 ; có Umax = 400 V và Imax = 1 A.
+) Rơ-le : SRD-05VDC ; có 5 chân, Ukích = 5 V ; U~ = 250 V và Imax = 10 A.
+) Các điện trở : R1 = 1 k , R2 = 2 k, R3 = 10 k, R4 = 220 .
+) Nguồn nuôi : E = 5 V.
11
* Mạch điện do nhóm nghiên cứu đã lắp đặt:

b) Đối với các thiết bị điện có công suất lớn


* Sơ đồ mạch điện cho mỗi thiết bị điện như sau:

+E
ARDUINO
R4 Nguồn điện
R3 R2 xoay chiều

1 4
LED 1 Triac
2 5 Diac công suất

R1 T 3 6
Bộ ghép 1 Thiết bị điện
quang-Triac công suất lớn
C
GND

12
* Chức năng của các linh kiện và nguyên lí hoạt động của mạch điện:
- Khi có dòng điện xuất ra từ Arduino (bật thiết bị điện): dòng điện này sẽ kích
mở tranzito T. Khi tranzito T đƣợc dẫn thông sẽ có dòng điện chạy qua bộ ghép
quang-triac do nguồn +E cấp.
Bộ ghép quang-triac (MOC 30xx): khi có dòng điện chạy qua điôt phát quang,
nó phát ra ánh sáng chiếu vào quang-triac. Lúc này quang-triac đƣợc mở thông để
nạp điện cho tụ điện C. Khi tụ C đạt điện áp ngƣỡng mở của diac (cũng là ngƣỡng
mở của triac công suất) thì diac đƣợc mở đồng thời triac công suất cũng đƣợc mở.
Khi đó, mạch điện gồm nguồn điện và thiết bị điện tƣơng ứng sẽ đƣợc đóng kín nên
thiết bị điện đó sẽ hoạt động.
- Khi không có dòng điện xuất ra từ Arduino (tắt thiết bị điện): tranzito T sẽ
đóng nên không có dòng điện chạy qua bộ ghép quang-triac. Khi đó, quang-triac sẽ
đóng và không có dòng điện cấp cho cực điều khiển của triac công suất nên triac này
sẽ đóng. Do vậy, mạch điện bị hở và thiết bị điện đó sẽ ngƣng hoạt động.
LED dùng để nhận biết trạng thái của mạch điện. Nếu mạch điện đang hoạt
động (thiết bị điện đó đƣợc bật) thì LED sáng; ngƣợc lại thì LED tắt.
- Thông số của mạch điện mà nhóm nghiên cứu đã lựa chọn:
+) T : Tranzito S8050 (loại NPN) ; có UC = 40 V và IC = 500 mA.
+) Các điện trở : R1 = 1 k , R2 = R3 = 220  và R4 = 1 k.
+) Nguồn nuôi : E = 5 V.
+) Bộ ghép quang-triac : MOC 3081 ; có Umax = 800 V và Imax = 4,0 A.
+) Diac : DB3 DO35 ; có Umax = 36 V và Imax = 2 A.
+) C: Tụ điện CBB 474J ; có C = 0,47 F và Umax = 400 V.
+) Triac công suất : BTA16-600B ; có Umax = 600 V và Imax = 16 A.
4.4. Hệ thống cảnh báo về an ninh và môi trường
4.4.1. Hệ thống cảnh báo về an ninh (hệ thống chống trộm).
Hệ thống chống trộm bao gồm một cổng hồng ngoại và hệ thống chuông báo
động (có thể lắp thêm đèn báo).
* Cấu tạo và hoạt động của cổng hồng ngoại.
Cổng hồng ngoại gồm 2 phần chính: phần thứ nhất D1 phát ra tia hồng ngoại
và phần thứ hai D2 nhận tia hồng ngoại từ D1 chiếu tới. Khi có vật chắn (có ngƣời đột
nhập trái phép vào nhà) chùm tia hồng ngoại chiếu từ D1 sang D2 thì D2 sẽ phát ra tín
hiệu để đóng khóa K ở trong cảm biến. Khi khóa K của cảm biến đóng sẽ có tín hiệu
đƣợc truyền tới Arduino. Arduino sẽ xử lí tín hiệu đó theo lập trình nhƣ sau:
+ Với chế độ trong nhà: Arduino sẽ truyền tín hiệu đến chân điều khiển G của
tirixto của hệ thống chuông báo để chuông hoạt động.

13
+ Với chế độ ngoài nhà: Arduino cũng truyền tín hiệu đến chân G của tirixto
của hệ thống chuông báo đồng thời truyền tín hiệu tới module sim900A để gửi tin
nhắn, rồi gọi điện về số điện thoại của chủ nhà.

220V

K1
Arduino

R
K
5V GND

Nguyên lí hoạt động của cảm biến quang Sơ đồ mạch điện của cảm biến quang

* Hệ thống chuông báo động


- Sơ đồ mạch điện của hệ thống chuông báo:
+E
K

Rơ-le 1
T1
R6 NGUỒN ĐIỆN
1
D1 2 3
1
R2 R4 D2
T2 2 3
R1
Tirixto Rơ-le 2
R3
GND T3 CHUÔNG
CẢNH BÁO
R5
ARDUINO GND

- Nguyên lí hoạt động:


Khi có trộm, arduino xuất ra dòng điện kích tới cực điều khiển G của tirixto,
khi đó tirixto đƣợc dẫn thông sẽ có dòng điện tới cực B của tranzito T3. Lúc này T3

14
sẽ mở và cuộn dây của rơ-le 2 đƣợc cấp điện làm cho rơ-le 2 đóng lại. Do đó, chuông
báo nối với nguồn điện đóng và chuông sẽ hoạt động.
Khi muốn ngắt chuông báo, chỉ cần phát ra tín hiệu (từ bộ điều khiển) tới
arduino. Sau đó, arduino sẽ xử lí tín hiệu nhận đƣợc theo lập trình và xuất dòng điện
tới chân B của tranzito T1 làm cho T1 và T2 đƣợc mở. Lúc này, T2 đã dẫn thông sẽ
có dòng điện chạy qua cuộn dây của rơ-le 1 làm cho rơ-le này đóng lại (nghĩa là cực
tiếp điểm động 1 đang tiếp xúc với cực tiếp điểm tĩnh 2 sẽ bị hút về tiếp xúc với cực
tiếp điểm tĩnh 3). Khi đó, rơ-le 2 sẽ bị ngắt khỏi nguồn điện và trở về trạng ban đầu.
Lúc này chuông báo cũng bị ngắt khỏi nguồn và ngừng hoạt động. Hoặc nhấn công
tắc K (loại công tắc nhấn nhả), khi đó dòng điện từ nguồn +E cũng kích mở T1 và T2
để đống rơ-le 1 nhƣ ở trên, sau đó mạch điện quay về trạng thái ban đầu.
4.4.2. Hệ thống cảnh báo khí ga rò rỉ
Hệ thống cảnh báo khí ga rò rỉ
bao gồm cảm biến khí ga và hệ thống
chuông báo động.
* Module cảm biến ga MQ2:
- Module này đọc các thông số về
lƣợng gas rò rỉ và nhiệt độ thay đổi rồi
gửi các thông số đó về Arduino để xử lí.
- Hoạt động: dùng nguồn 5V và
có thể xuất ra các giá trị analog hoặc
điều chỉnh biến trở trên module để xuất
ra giá trị digital 5V. Cảm biến này sử
dụng ic chức năng LM 395 để biến đổi và xử lí thông tin từ cảm biến ra 2 dạng
analog và digital. Nếu mật độ ga biến đổi thì giá trị analog biến đổi theo, nếu mật độ
ga tăng đến ngƣỡng cao vƣợt ngƣỡng điều chỉnh của biến trở thì nó sẽ xuất ra tín
hiệu có giá trị analog hoặc giá trị digital. Trong đề tài thì nhóm sử dụng giá trị
analog.
- Cách kết nối như sau:
Module MQ2 NGUỒN 5V NGOÀI ARDUINO MEGA
GND GND GND
A0 A2
VCC 5V
- Nguyên lí làm việc: module MQ2 thu thập thông tin về khí ga rồi truyền tín
hiệu giá trị analog tới Arduino. Sau đó, arduino xử lí các tín hiệu này theo lập trình
nhƣ sau:
+ Với chế độ trong nhà: nếu tín hiệu vƣợt mức bình thƣờng (quy định là
300/1023 trong chƣơng trình nạp cho arduino) thì xuất tín hiệu đến hệ thống chuông
bào để chuông báo hoạt động.

15
+ Với chế độ ngoài nhà: nếu vƣợt mức bình thƣờng và nhỏ hơn mức nguy
hiểm (300 =< A2 =< 500) thì xuất tín hiệu tới module sim900A để nhắn tin về cho
chủ nhà; nếu vƣợt mức nguy hiểm (lớn hơn 500) thì nhắn tin với nội dung khẩn cấp
và gọi điện liên tục về cho chủ nhà.
* Hệ thống chuông báo động: tƣơng tự nhƣ hệ thống chuông báo chống trộm.
4.4.3. Hệ thống cảnh báo cháy
Hệ thống cảnh báo cháy bao
gồm các cảm biến nhiệt độ, hệ thống
chuông báo động và hệ thống tự động
ngắt nguồn điện tổng của ngôi nhà.
* Cảm biến nhiệt độ LM35: là
cảm biến nhiệt độ rất nhạy chạy với
dòng nhỏ, có thể hoạt động ở mức
hiệu điện thế từ 4 V đến 20 V. Trong
ngôi nhà đƣợc bố trí nhiều cái, đặt ở
các vị trí khác nhau.
- Cách lắp các chân của cảm biến nhiệt độ LM35 như sau:
LM35 NGUỒN 5V NGOÀI ARDUINO MEGA
3 GND GND
2 A2
1 5V
- Hoạt động: cảm biến nhiệt độ LM35 thu thập thông tin về nhiệt độ môi
trƣờng với độ chính xác và độ nhạy cao, sau đó gửi các tín hiệu dạng analog tới
arduino. Arduino sẽ tính toán và đƣa ra nhiệt độ chính xác để so sánh với giá trị nhiệt
độ mà chƣơng trình nạp cho arduino đã đặt (nhóm nghiên cứu lập trình với nhiệt độ
80oC - mức có ảnh hưởng của cháy). Nếu nhiệt độ môi trƣờng lớn hơn giá trị đó thì
arduino xuất ra tín hiệu theo lập trình nhƣ sau:
+ Với chế độ trong nhà: Arduino sẽ truyền tín hiệu đến chân điều khiển G của
tirixto của hệ thống chuông báo để chuông hoạt động.
+ Với chế độ ngoài nhà: Arduino cũng truyền tín hiệu đến chân G của tirixto
của hệ thống chuông báo đồng thời truyền tín hiệu tới module sim900A để gửi tin
nhắn, rồi gọi điện về số điện thoại của chủ nhà. Cuộc gọi thực hiện trong 10 giây rồi
arduino sẽ xuất ra tín hiệu để kích hoạt hệ thống tự động ngắt nguồn điện tổng của
ngôi nhà.

* Hệ thống chuông báo động: tƣơng tự nhƣ hệ thống chuông báo chống trộm.
* Hệ thống tự động ngắt nguồn điện khi có cảnh báo cháy.
- Sơ đồ mạch điện

16
+E
~220V
K

Rơ-le
T1 R7
1 R5 Bộ ghép
D1 quang-triac
2 3
1 4 Triac
R2 1
R4
T2 5 Diac
R1 2
Tirixto
R3 3 6
1
GND T3

R6 C
ARDUINO
GND
CUỘN DÂY
R8
CONTACTOR

- Nguyên lí hoạt động của mạch điện:


+ Ở trạng thái bình thƣờng: Tirixto đƣợc kích mở bằng tín hiệu điều khiển
thông qua arduino hoặc nhấn công tắc K (công tắc loại nhấn nhả). Khi đó, tranzito
T3 dẫn thông nên có dòng điện từ nguồn +E cấp cho bộ ghép quang-triac để khíc mở
triac. Vì vậy, cuộn dây nam châm điện của contactor đƣợc cấp nguồn để đóng
contactor. Khi contactor đƣợc đóng sẽ cấp nguồn điện cho ngôi nhà.
+ Khi có cảnh báo cháy: Arduino sẽ xuất tín hiệu điện tới chân B của tranzito
T1 làm cho T1 và T2 đƣợc mở. Lúc này, T2 đã dẫn thông sẽ có dòng điện chạy qua
cuộn dây của rơ-le 1 làm cho rơ-le này đóng lại (nghĩa là cực tiếp điểm động 1 đang
tiếp xúc với cực tiếp điểm tĩnh 3 sẽ bị hút về tiếp xúc với cực tiếp điểm tĩnh 2). Do
đó tirixto và tranzito T3 sẽ bị ngắt khỏi nguồn điện nên sẽ trở về trạng thái đóng. Lúc
này bộ ghép quang-triac cũng bị ngắt nguồn nên không có dòng kích cho triac. Khi
đó, triac sẽ đóng làm cho cuộn dây nam châm điện của contactor bị ngắt mạch nên
contactor sẽ mở để ngắt toàn bộ nguồn điện cho ngôi nhà. Và mạch điện trở về trạng
thái ban đầu.
4.4.5. Hệ thống cảm biến quang.
Hệ thống cảm biến quang chủ yếu gồm 1 triết áp và 1 quang trở, khi đƣợc lắp
với Arduino sẽ có công dụng tự động bật đèn theo thời gian và độ tối.
Hệ thống cảm biến quang có sơ đồ như sau:

17
Nguyên lí hoạt động của
mạch điện: Khi cung cấp nguồn TRIẾT ÁP

cho hệ thống cảm biến quang,


5V
các chân A1 và A2 sẽ đọc tín A1
hiệu analog của quang trở và triết
GND
áp rồi xử lí so sánh theo mã đã
QUANG TRỞ
nạp, nếu đến thời điểm khoảng 6
giở tối thì Arduino bắt đầu so
A0
sánh giá trị của quang trở và biến
trở, nếu giá trị của quang trở nhỏ
hơn biến trở thì tự động bật các đèn chính.
Chức năng của các linh kiện:
- Quang trở: dùng để nhận biết độ sáng.
- Triết áp: thay đổi giá trị trở để Arduino xử lí. Từ đó có thể thay đổi độ sáng cho
việc bật tắt tự động.Việc bật tắt tự động giúp cho ngƣời dùng thuận tiện trong việc
sinh hoạt nếu quên chƣa bật hay vì lí do bận việc dọn dẹp vào buổi chiều. Ta có thể
thay đổi độ tối-sáng phù hợp để bật-tắt bằng cách thay đổi giá trị trở của triết áp bằng
cách xoay triết áp.
5. Viết chương trình nạp cho Arduino.
Các hệ thống trên chạy đƣợc nhờ vào việc xử lí của Arduino qua chƣơng trình
nạp cho nó. Để nạp chƣơng trình cho Arduino, trƣớc tiên ta phải tải phần mềm về
máy tính và cài đặt vào máy tính. Có thể tải phần mềm cho Arduino bằng cách sau:
Truy cập địa chỉ http://arduino.cc/en/Main/Software/ .
Giao diện của Arduino IDE nhƣ ssau:

18
- Vùng lệnh: Bao gồm các nút lệnh menu (File, Edit, Sketch, Tools, Help).
- Vùng viết chương trình: Các chƣơng trình nạp cho Arduino đƣợc viết tại đây.
- Vùng thông báo (debug): Những thông báo từ IDE sẽ đƣợc hiển thị tại đây.
Kết quả lập trình code của nhóm cho dự án, xem đầy đủ ở phần phụ lục.
6. Lập trình ứng dụng điều khiển cho thiết bị Android
Phần mềm đƣợc lập lập trình trên trang web MIT App Inventor 2
http://ai2.appinventor.mit.edu.
App Inventor cho phép lập trình một ứng dụng Android bằng các câu lệnh có
sẵn, giao diện thân thiện, giúp cho lập trình viên học lập trình và tạo ra một phần
mềm một cách thuận lợi trong một thời gian ngắn và không yêu cầu ngƣời dùng phải
hiểu biết quá rõ về tin học cũng nhƣ lập trình.
Kết quả của nhóm dự án đã thực hiện có giao diện như sau:

Ứng dụng có thể đƣợc điều khiển bằng các nút ấn trên màn hình thiết bị
android hoặc bằng giọng nói, còn có chức năng phản hồi bằng giọng nói.
Khi ấn các phím để điều khiển qua bluetooth, mỗi phím đƣợc ấn sẽ gửi tín
hiệu dạng văn bản thông qua module bluetooth đến arduino. Arduino sẽ xử lí tín hiệu
nhận đƣợc theo lập trình thành các tín hiệu điều khiển đóng/mở các thiết bị điện.
Cách sử dụng ứng dụng của nhóm nghiên cứu đã lập: xem thêm ở phần phụ lục.
THẢO LUẬN
Sau thời gian dài tìm kiếm các bo mạch tích hợp, loại sóng mà điện thoại có
thể phát ra, các loại công tắc đặc biệt và cuối cùng nhóm đã tìm ra giải pháp đó là kết
hợp bo mạch arduino, bộ thu tín hiệu bluetooth HC-06, module gửi tin nhắn sim900a
và kết hợp cùng các linh kiện điện tử đã học ở sách giáo khoa. Giải pháp mới mà
nhóm tìm ra đó là sử dụng sóng bluetooh của các thiết bị di động để phát các tín hiệu
truyền tới thiết bị nhận sau đó điều khiển các rơ-le hoặc triac nhằm bật tắt các thiết bị
19
điện. Bằng một chiếc điện thoại Android có bluetooth thì ta có thể dễ dàng điều
khiển các thiết bị điện tại một vị trí cố định bằng sóng không dây mà không phải di
chuyển tới tận chỗ các công tắc để bật tắt. Đồng thời nhóm còn lắp thêm các thiết bị
có chức năng sát với nhu cầu thực tế nhƣ chống trộm, báo khí ga rò rỉ, báo cháy,…
Khi có các hiện tƣợng đó xảy ra thì hệ thống sẽ tự động cảnh báo và gửi tin nhắn đến
chủ nhà để nắm bắt tình hình.
Hệ thống hỗ trợ chức năng cho ngƣời mù, ngƣời thị lực kém hay hạn chế khả
năng về ngôn ngữ bằng cách điều khiển bằng giọng nói và các icon trực quan.
Với hệ thống điều khiển thiết bị điện trên, có thể điều khiển dễ dàng các thiết
bị điện bằng điện thoại hay máy tính cá nhân với mức giá thành cho một bộ không
quá cao: giá thành một bộ không quá 1.000.000đ, mức giá hợp lí so với các thiết bị
thông minh bán lẻ.
Các thiết bị điện khi lắp vào hệ thống có thể chạy đƣợc nguồn điện xoay chiều
thông dụng và với dòng một chiều.
Hệ thống có thể điều khiển đƣợc những thiết bị điện có công suất lớn hơn.
Việc điều khiển bằng module bluetooth có thể điều khiển trong phạm vi bán
kính 10 m. Còn điều khiển bằng tin nhắn điện thoại có phạm vi theo nhà mạng.
*Về mặt hạn chế của hệ thống:
Khi tìm hiểu sâu vào hệ thống, nhóm rút ra đƣợc các hạn chế sau:
Chƣa thể điều khiển hệ thống khi ở xa.
Việc điều khiển các thiết bị bằng bluetooth còn bị hạn chế về khoảng cách.
*Các bước phát triển cho hệ thống.
Do việc lắp các hệ thống và thời gian thi gấp rút nên nhiều chức năng của hệ
thống chƣa thể đƣợc lắp thêm và nâng cấp, sau đây là các ý tƣởng thêm cho hệ thống
- Hiển thị các thông số lên màn hình nhỏ nhƣ: giờ, nhiệt độ, độ ẩm.
- Năng cấp điều khiển từ xa qua tin nhắn hoặc GPRS.
- Có thể cài đặt thời gian để bật tắt các thiết bị hẹn giờ ngay trên phần mềm.
- Các hệ thống sẽ đƣợc nâng cấp và bổ sung thêm trong thời gian tới.
IV. KẾT LUẬN KHOA HỌC.
Với mô hình “Smarthome cho gia đình nông thôn Việt Nam” đã có thể điều
khiển từ xa nhiều thiết bị điện, rất tiện lợi cho con ngƣời.
Hệ thống còn tự bật-tắt các thiết bị khi cần thiết giúp cho sinh hoạt đƣợc tiện
lợi và tích kiệm nguồn điện.
Đồng thời với hệ thống cảnh báo về an ninh và môi trƣờng giúp cho ngôi nhà
đƣợc an toàn hơn, có thể phòng tránh đƣợc những sự cố xảy ra ngoài ý muốn nhƣ: rò
rỉ khí ga, hỏa họa, ….

20
TÀI LIỆU THAM KHẢO
1. Bộ giáo dục và đào tạo, 2015. Tài liệu tập huấn - Tổ chức hoạt động trải nghiệm
sáng tạo khoa học kĩ thuật và cuộc thi khoa học kĩ thuật dành cho học sinh trung học.
(Lưu hành nội bộ).
2. Bộ giáo dục và đào tạo, 2014. SGK Vật lí 11/ Dòng điện không đổi.
3. Bộ giáo dục và đào tạo, 2015. SGK Vật lí 12/ Dao động và sóng điện từ.
4. Bộ giáo dục và đào tạo, 2015. SGK Công nghệ 12/ Kĩ thuật điện tử.
5. Linh kiện điện tử/ vi.wikipedia.org.
6. Các trang diễn đàn arduino.vn, arduino.cc, arduinovn.info. Các kênh youtube Thạc
sĩ Huỳnh Minh Phú, tự học ( arduino ) và nhiều các video của các cá nhân, tổ chức
trong nƣớc và nƣớc ngoài.

21
PHỤ LỤC
Phụ lục 1: Chương trình nạp cho Arduino
char BIEN_NHAP, x, y, h, k; // khai báo các biến

char* sdt = "+841686573602"; // khai báo số điện thoại chủ nhà.


float hdt, nhietdo; // khai báo biến

#include"SIM900.h" // gọi tên thƣ viện sim900A, thƣ viện đƣợc sƣu
tầm trên mạng https://github.com/MarcoMartines/GSM-GPRS-GPS-Shield
#include <SoftwareSerial.h> // gọi tên các thƣ viện giao tiếp và thƣ viện
con khác
#include "sms.h"
#include "call.h"
SMSGSM sms;
CallGSM call;

int anhsang, bientro, khiga, baochay, chongtrom; //khai báo các biến nhận giá trị
analog

unsigned long thoigian1 = 0; // khai báo biến thòi gian 1


unsigned long thoigian2 = 0; // khai báo biến thòi gian 2

#include <DS1302.h> // gọi thƣ viện cho module thòi gian thực
DS1302 rtc(33, 2, 34); // nối tói các vị trí liên tiếp RST, I/O, SCLK.
Time g; // biến g là biến cho các giá trị thời gian thực

void setup() {
pinMode(35, INPUT); // nối bộ cảm quang dùng báo trộm
pinMode(22, OUTPUT); // nối đèn 1
pinMode(23, OUTPUT); // nối đèn 2
pinMode(24, OUTPUT); // nối đèn công suất cao
pinMode(25, OUTPUT); // cho gia cầm ăn
pinMode(26, OUTPUT); // máy bơm
pinMode(27, OUTPUT); // điện để kích chuông
pinMode(28, OUTPUT); // quạt
pinMode(29, OUTPUT); // đóng-mở chống trộm
pinMode(30, OUTPUT); // mạch chuông
pinMode(31, OUTPUT); // nối công tắc cơ điều khiển contactor

Serial.begin(9600); // khởi tạo cổng kết nối module bluetooth với tốc độ là
9600

rtc.halt(false);
22
rtc.writeProtect(false);

if (gsm.begin(2400))Serial.println("Ok");
x = 1; // mặc định khi bật hệ thống ở chế độ trong nhà( xem xuống
tiếp để hiểu)
}

void loop() {

anhsang = analogRead(A0); // gán trị quang trở ở chân A0


bientro = analogRead(A1); // gán trị biến trở ở chân A1
khiga = analogRead(A2); // gán trị cảm biến ga ở chân A2
baochay = analogRead(A3); // gán trị báo cháy ở chân A3

chongtrom = digitalRead(35); // gán giá trị tín hiệu chống trộm vào chân 35

hdt = baochay * 5.0 / 1024.0;


nhietdo = hdt * 100.0; // tính giá trị nhiệt độ

if ( digitalRead(30) == HIGH) {
digitalWrite( 30, LOW); // bật mạch báo chuông để luôn sẵn sàng báo động
nếu có sự cố ( nối chân mạch vào chân ngƣợc của lelay)
}
if (Serial.available() > 0) {
BIEN_NHAP = Serial.read();
} else {
BIEN_NHAP = 0;
}
Serial.println(BIEN_NHAP);
switch (BIEN_NHAP) {
case 'x':
x = 1; // trƣờng hợp có ngƣời trong nhà
break;
case 'y':
x = 2; // trƣờng hợp không có ngƣời trong nhà
break;
default:
break;
}
if ( x == 1) // giá trị 1: ở trong nhà thì thực hiện các quá trình
{

switch (BIEN_NHAP) { // nếu nhận đƣợc các giá trị từ module bluetooth
case '1':
23
digitalWrite(22, HIGH); // gí trị 1: bật đèn 1
break;
case '2':
digitalWrite(22, LOW); // 2: tắt đèn 1
break;
case '3':
digitalWrite(23, HIGH); // 3: bật đèn 2
break;
case '4':
digitalWrite(23, LOW); // 4: tắt đèn 2
break;
case '5':
digitalWrite(24, HIGH); // 5:ổ cắm bật
break;
case '6':
digitalWrite(24, LOW); // 6:ổ cắm tắt
break;
case '7':
digitalWrite(25, HIGH); // 7: cho gà ăn
thoigian1 = millis(); // bắt đầu tính thời gian cho gà ăn
break;
case '8':
digitalWrite(25, LOW); // 8: tắt cho gà ăn
break;
case '9':
digitalWrite(26, HIGH); // 9: bơm nƣớc bật
thoigian2 = millis(); // bắt đầu tính thời gian bơm nƣớc
break;
case 'e':
digitalWrite(26, LOW); // e: bơm nƣớc tắt
break;
case 'a':
digitalWrite(28, HIGH); // a: bật quạt
break;
case 'b':
digitalWrite(28, LOW); // b: tắt quạt
break;
case 'd': // d: đặt lại trạng thái ko kêu cho chuông
digitalWrite(30, HIGH);
delay(1000);
digitalWrite(30, LOW);
break;
default:
break;
24
}

if ( khiga > 300) {


digitalWrite(27, HIGH); // xuất ra dòng kích chuông
delay(1000); // đợi 1 giây
digitalWrite(27, LOW); // rồi dừng dòng điện kích
} else {
digitalWrite(27, LOW); // nếu không thì chuông tắt
}

if ( nhietdo > 80) { // nếu nhiệt độ lớn hơn 80 độ thì


digitalWrite(27, HIGH); // xuất ra dòng kích chuông
delay(1000); // đợi 1 giây
digitalWrite(31, HIGH); // bật relay để chạy công tắc cơ làm ngắt điện
tổng.
}
if ( anhsang < bientro && g.hour == 18 && g.min == 1 && g.sec < 3) { // nếu
đến gần tối( khoảng 18 giờ 1 phút) thì
digitalWrite(22, HIGH); // bật đèn 1
delay(10); // đợi 10 mili giây để tránh quá
tải khi đồng thời bật 2 relay
digitalWrite(23, HIGH); // bật đèn 2

}
if (g.hour == 23 && g.min == 1) { // nếu quá muộn( lúc
23 giờ) thì
if ( digitalRead(29) == LOW) {
digitalWrite(29, HIGH); // bật chống trộm
}
if (digitalRead(23) == HIGH) {
digitalWrite(23, LOW); // tắt đèn số 2
}
if (digitalRead(28) == HIGH) {
digitalWrite(28, LOW); // tắt quạt
}
}
if (g.hour == 4 && g.min == 1 && g.sec < 3) { // đến sáng
sớm(lúc 4 giờ 1 phút sáng) thì
digitalWrite(29, LOW); // tắt chống trộm
}
if ( (unsigned long) (millis() - thoigian1) > 900000 ) // nếu thời gian
cho gà ăn quá 900 giây = 15 phút thì
{
digitalWrite(25, LOW); // tự tắt cho gà ăn
25
}
if ( (unsigned long) (millis() - thoigian2) > 2700000 ) // nếu thời gian
bơm nƣớc quá 2700 giây = 45 phút thì
{
digitalWrite(26, LOW); // tự tắt máy bơm
}
}

if (x == 2) { // giá trị 2: ở chế độ ngoài nhà


switch (BIEN_NHAP) {
case 'f': // nếu ra khỏi nhà và sợ về muộn, có thể bật chức năng
cho ăn tự động
h = 1; // bằng bấm nút trên điện thoại trƣớc khi ra khỏi nhà
break; // khi đó h nhận giá trị là 1
case 'j': // nếu ra khỏi nhà và sợ về muộn, có thể bật chức năng
bơm nƣớc tự động
k = 1; // bằng bấm nút trên điện thoại trƣớc khi ra khỏi nhà
break; // khi đó k nhận giá trị là 1
default:
break;
}

digitalWrite(29, HIGH); // mở chống trộm

if (chongtrom == HIGH) { // nếu có trộm


digitalWrite(27, HIGH); // xuất ra dòng kích chuông
delay(1000); // đợi 1 giây
digitalWrite(27, LOW); // rồi dừng dòng điện kích
sms.SendSMS(sdt, " BAO DONG KHAN: NHA DANG CO TROM "); // gửi
tin nhắn về cho chủ nhà
delay(1000); // dừng 1 giây
call.Call(sdt); // gọi điện thoại về cho chủ nhà
delay(30000); // trong 30 giây
call.HangUp(); // rồi cúp máy
}
if (khiga > 300 && khiga < 500 ) { // nếu bị dò ga ở
mức bình thƣờng
sms.SendSMS(sdt, " BAO DONG KHAN: BINH GA DANG BI DO RI HOAC
CO KHI DOC "); // thì nhắn tin vè cho chủ nhà
delay(1000); // đợi trong 1 giây
}
if ( khiga > 500) { // nếu khí ga bị dò ở mức
nguy hiểm
26
sms.SendSMS(sdt, " BAO DONG KHAN: BINH GA DANG BI DO RI NANG
VA CO THE GAY CHAY NO "); // nhắn tin về cho chủ nhà
delay(1000); // dừng 1 giây
call.Call(sdt); // thì gọi điện về cho chủ nhà
delay(30000); // trong 30 giây
call.HangUp(); // rồi cúp máy
}
if ( nhietdo > 80) { // nếu nhiệt độ quá cao và
có dấu hiệu cháy
digitalWrite( 27, HIGH); // xuất ra dòng kích
chuông
delay(1000); // đợi trong 1 giây
digitalWrite(27, LOW); // rồi dừng dòng điện
kích
sms.SendSMS(sdt, " BAO DONG KHAN: NHA DANG BI CHAY "); //
gửi tin nhắn cảnh báo đến chủ nhà
delay(1000); // đợi 1 giây
call.Call(sdt); // rồi gọi điện đến chủ nhà
delay(10000); // trong 10 giây
digitalWrite(31, HIGH); // chạy motor để đóng
contactor nên dòng điện trong nhà bị ngắt (trừ điện ở chuông do đƣợc lắp trƣớc
contactor)
delay(1000);
}
if ( h == 1 && g.hour == 18 && g.min == 0 && g.sec < 3) { // nếu
bật cho gà ăn và đến đúng giờ( 18h) thì ăn thì
digitalWrite( 25, HIGH); // bật cho gà ăn
thoigian1 = millis(); // bắt đầu tính thời gian
cho gà ăn
}
if ( (unsigned long) (millis() - thoigian1) > 600000 ) { // nếu thời gian
cho gà ăn quá 600 giây = 10 phút thì
digitalWrite(25, LOW); // tắt cho gầ ăn
sms.SendSMS(sdt, " DA CHO GIA CAM AN "); // rồi gửi tin nhắn
thông báo về cho chủ
h = 2; // đặt lại giá trị cho h
}

if ( k == 1 && g.hour == 17 && g.min == 0 && g.sec < 3) { // nếu


bật bơm nƣớc và đến đúng giờ(17h) thì thì
digitalWrite( 26, HIGH); // bật bơm nƣớc

27
thoigian2 = millis(); // bắt đầu tính thời gian
bơm nƣớc
}
if ( (unsigned long) (millis() - thoigian2) > 1800000 ) { // nếu thời gian
cho gà ăn quá 1800 giây = 30 phút thì
digitalWrite(26, LOW); // tắt máy bơm
sms.SendSMS(sdt, " DA BOM NUOC "); // rồi gửi tin
nhắn thông báo về cho chủ
k = 2; // đặt lại giá trị cho d
}

}
}

Lưu ý: các mã lập trình khi thi có thể bị thay đổi chút ít do việc nâng cấp và
bổ sung các chức năng mới.

Phụ lục 2: Sử dụng ứng dụng điều khiển các thiết bị điện trên thiết bị android
Cách sử dụng ứng dụng để điều khiển các thiết bị điện trong nhà thông qua
bluetooth trên các thiết bị android:
- Đầu tiên cần cấp nguồn cho “Mô hình SmartHome cho nông thôn Việt Nam”
sau đó vào điện thoại, cài đặt bluetooth, chọn bật bluetooth. Chọn ghép đôi với thiết
bị bluetooth HC-06 sau đó nhập mật khẩu ghép đôi mặc định là 1234 , xong để nâng
cao tính an toàn có thể thay đổi mật khẩu ghép đôi có độ mạnh cao hơn để chỉ có chủ
sở hữu, thành viên trong gia đình và những ngƣời biết mật khẩu ghép đôi bluetooth
mới có thể ghép đôi và điều khiển các thiết bị điện trong nhà. Bƣớc này chỉ cần thực
hiện một lần, thiết bị android đã đƣợc kết nối với “Mô hình SmartHome cho nông
thôn Việt Nam”. Và mỗi lần sử dụng chỉ cần làm các bƣớc sau đây:
+ Mở phần mềm HD 02 sau khi phần mềm khởi động xong, nếu bluetooth
đang tắt thì ấn nút “bật bluetooth” để bật nó lên. Khi đã bật bluetooth thì chọn “kết
nối” rồi chọn HC-06 hoặc ấn “kết nối nhanh” ứng dụng sẽ tự động kết nối đến HC-
06 đặt trƣớc. Sau khi đã kết nối chọn chế độ điều khiển “trong nhà” hoặc “ngoài
nhà”. Sở dĩ có nút chọn chế độ “Trong nhà” hay “Ngoài nhà” là để hệ thống nhận
biết sẽ có hình thức báo động phù hợp đến ngƣời sử dụng khi có sự cố xảy ra. Các
nút bật tắt còn lại để điều khiển các thiết bị điện. Sau đó ngƣời dùng có thể tự do
điều khiển các thiết bị điện trong nhà:

28
Ấn nút xóa bản ghi để để xóa lịch sử vừa điều khiển, ấn nút thông tin để xem
thông tin về ứng dụng, ấn nút hƣớng dẫn sử dụng để xem hƣớng dẫn sử dụng ứng
dụng:
Trong giao diện thông tin và hƣớng dẫn sử dụng cho biểu tƣợng hình loa để
nghe đọc bằng giọng nói, chọn biểu tƣợng hình mũi tên để quay lại. Ấn nút thoát để
đóng ứng dụng.
Để cài đặt chọn biểu tƣợng hình bánh răng sau đó chọn boặc bỏ chọn các chức
năng phản hồi bằng giọng nói và chức năng cho ngƣời mù, ấn lƣu để lƣu các thiết lập
vào cơ sở dữ liệu và không bị mất khi thoát ra. Chức năng phản hồi bằng giọng nói
giúp thông báo cho ngƣời dùng bằng giọng nói tiếng Việt Nam các hoạt động của
ứng dụng rất thuận tiện cho ngƣời sử dụng (cần cài đặt bộ đọc vnSpeak). Chức năng
cho ngƣời mù giúp chỉ cần chạm vào bất cứ vị trí nào trên màn hình sau đó “ra lệnh”
bằng cách nói là các thiết bị đã đƣợc điều khiển. để tắt chức năng cho ngƣời mù thì
nói “tôi không bị mù”.
Ngoài ra ngƣời sử dụng có thể điều khiển các thiết bị điện bằng giọng nói kết
hợp với các nút bấm, để điều khiển cần chạm vào biểu tƣợng micro (màu đỏ) sau đó
đọc lệnh để điều khiển, các lệnh nhƣ sau:
Để điều khiển Khẩu lệnh
Bật bluetooth bật bluetooth
Kết nối đến HC-06 kết nối
Mở cài đặt cài đặt
Lưu cài đặt lưu

29
Bật phản hồi bằng giọng nói bật giọng nói
Tắt phản hồi bằng giọng nói tắt giọng nói
Bật chức năng cho người mù tôi bị mù
Tắt chức năng cho người mù tôi không bị mù
Xóa bản ghi xóa
Xem thông tin thông tin
Xem hướng dẫn sử dụng hướng dẫn
Đóng ứng dụng thoát
Chọn chế độ trong nhà trong nhà
Chọn chế độ ngoài nhà ngoài nhà
Bật đèn chính bật đèn chính
Tắt đèn chính tắt đèn chính
Bật đèn phụ bật đèn phụ
Tắt đèn phụ tắt đèn phụ
Bật đèn công suất lớn bật đèn lớn
Tắt đèn công suất lớn Tắt đèn lớn
Bật cho gia cầm ăn chăn nuôi
Tắt cho gia cầm ăn không cho ăn
Bật máy bơm bật máy bơm
Tắt máy bơm tắt máy bơm
Bật quạt bật quạt
Tắt quạt tắt quạt
Tắt chuông báo tắt chuông báo
Bật tự động cho gia cầm ăn tự động cho ăn
Bật tự động cho bơm nước tự động bơm nước

Khi ấn các phím để điều khiển qua bluetooth, mỗi phím đƣợc ấn sẽ gửi một
bản văn qua bluetooth đến module bluetooth rồi đƣợc truyền đến arduino, arduino sẽ
biến đổi tín hiệu nhận đƣợc thành các tín hiệu điều khiển đóng mở các rơ le qua đó
thiết bị đƣợc điều khiển.
Khi ấn nút Gửi bản văn qua bluetooth
Trong nhà “X”
Ngoài nhà “Y”
Bật đèn chính “1”
Tắt đèn chính “2”
Bật đèn phụ “3”
Tắt đèn phụ “4”
Bật thiết bị công suất lớn “5”
Tắt thiết bị công suất lớn “6”
Bật cho gia cầm ăn “7”
Tắt cho gia cầm ăn “8”
Bật máy bơm “9”
Tắt máy bơm “e”
Bật quạt “a”
Tắt quạt “b”
Tắt chuông báo “d”
Bật tự động chăn gia cầm “f”
Bật tự động bơm nước “j”
… …

30
Phần mềm có chức năng điều khiển bằng giọng nói có thể điều khiển đƣợc hầu
hết các chức năng nhƣ: yêu cầu bật bluetooth, kết nối bluetooth, chọn chế độ “Trong
nhà” hay “Ngoài nhà” bật tắt các thiết bị điện, xem và nghe thông tin về phần mềm,
xem và nghe hƣớng dẫn sử dụng. Ngoài ra ứng dụng còn có chức năng phản hồi
bằng giọng nói với ngôn ngữ tiếng Việt Nam thuận lợi cho những ngƣời có thị lực
kém vẫn có thể thoải mái sử dụng, chức năng này đƣợc lƣu trữ gắn với một cơ sở dữ
liệu nhỏ, và có thể bật tắt ở mục cài đặt.

31

You might also like