BÁO CÁO NGHIÊN CỨU KHOA HỌC Tên d án: SMARTHOME...

31
1 BÁO CÁO NGHIÊN CU KHOA HC Tên dán: SMARTHOME CHO CÁC GIA ĐÌNH NÔNG THÔN VIỆT NAM (Cuc thi khoa hc, kthut dành cho hc sinh Trung hc) I. Mc lc -Phn chung: + Lí do chn đề tài. + Ý nghĩa khoa học và thc tin. + Mc tiêu nghiên cu. + Gii hn và phm vi nghiên cu. + Phƣơng pháp nghiên cứu. + Ni dung nghiên cu. + Điểm mi của đề tài. - Kết quvà tho lun. - Kêt lun khoa hc. - Tài liu tham kho.

Transcript of BÁO CÁO NGHIÊN CỨU KHOA HỌC Tên d án: SMARTHOME...

1

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.

2

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à:

3

- 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.

4

- 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.

5

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:

6

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ị.

7

Để 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ể

8

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

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.

ARDUINO MODULE

BLUETOOTH

ĐÈN CÔNG

SUẤT

NHỎ

QUẠT ĐIỆN

THÔNG

DỤNG

CHO GIA

CẦM

ĂN

MODULE

SIM900A

HỆ THỐNG

CẢNH BÁO

AN NINH

CỔNG HỒNG

NGOẠI

HỆ

THỐNG

CẢNH

BÁO

ĐIỀU

KHIỂN

CÁC THIẾT BỊ ĐIỆN

CÔNG SUẤT NHỎ

CÁC THIẾT BỊ ĐIỆN

CÔNG SUẤT LỚN

HỆ THỐNG CẢNH BÁO VỀ

AN NINH VÀ MÔI TRƢỜNG HỆ THỐNG ĐIỀU KHIỂN

CÁC THIẾT BỊ ĐIỆN

CẢM

BIẾN

NHIỆT ĐỘ

CẢM BIẾN

KHÍ GA

ĐÈN

CÔNG

SUẤT

LỚN

MÁY

BƠM

NƢỚC

HỆ THỐNG

CẢNH BÁO

CHÁY

HỆ THỐNG

CẢNH BÁO

KHÍ GA

HỆ

THỐNG

CẢNH

BÁO

HỆ

THỐNG

CẢNH

BÁO

NGUỒN

NUÔI (5V

9

* 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

10

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:

11

* 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.

ARDUINO

Nguồn điện

xoay chiều

Thiết bị điện

công suất nhỏ

R1

D

R3

R2 Rơ-le

T1

T2

GND

+E

1

2 3

R4

LED

12

* 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:

ARDUINO

Nguồn điện

xoay chiều

Thiết bị điện

công suất lớn

R1

Triac

công suất

R2 R3

Bộ ghép

quang-Triac

T

GND

+E

1

2

3

R4

4

1

5

6

1

C

Diac

LED

13

* 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.

14

+ 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à.

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

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

- 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

NGUỒN ĐIỆN

CHUÔNG

CẢNH BÁO

D2 R4

Rơ-le 2

T3

GND

1

2 3

Tirixto

ARDUINO

D1

Rơ-le 1

T2

GND

1

2 3

R1

R3

R2

T1

+E

R5

K

R6

5V

Arduino

220V

K1

K R

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

15

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.

16

+ 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

17

- 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:

R4

T3

GND

Tirixto

ARDUINO

D1

Rơ-le

T2

GND

1

2 3

R1

R3

R2

T1

+E

Bộ ghép

quang-triac

1

2

3

R7

4

1

5

6

1

C

Diac

Triac

R5

CUỘN DÂY

CONTACTOR

~220V K

R6

R8

18

Nguyên lí hoạt động của

mạch điện: Khi cung cấp nguồn

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

các chân A1 và A2 sẽ đọc tín

hiệu analog của quang trở và triết

áp rồi xử lí so sánh theo mã đã

nạp, nếu đến thời điểm khoảng 6

giở tối thì Arduino bắt đầu so

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:

5V

GND

TRIẾT ÁP

QUANG TRỞ

A1

A0

19

- 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ị

20

đ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, ….

21

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.

22

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);

23

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':

24

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;

25

}

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

26

}

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

27

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

28

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à:

29

Ấ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

30

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”

… …

31

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.