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

Đồ án Vi điều khiển Mô hình phòng thông minh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.09 MB, 25 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO ĐỒ ÁN
LẬP TRÌNH HỆ THỐNG VÀ VI ĐIỀU KHIỂN

ĐỀ TÀI:
MÔ HÌNH PHÒNG THÔNG MINH

GV HƯỚNG DẪN: TS. NINH KHÁNH DUY

ĐÀ NẴNG, 5-2019


Tên thành viên

Nhiệm vụ được giao

Chữ ký

Module điều khiển quạt theo nhiệt độ phòng:
- Tìm hiểu cách thức đo nhiệt độ từ cảm biến
LM35
- Tìm hiểu cách đọc và phát hiện nhấn nút
Trần Ngọc Hiếu

- Lắp ráp mạch và tiến hành nghiên cứu tìm
thuật toán và code chương trình điều khiển cho
module của mình
- Thu thập số liệu, kết quả để đưa vào báo cáo
- Làm mô hình mô phỏng


Module điều khiển bật - tắt các thiết bị trong
phòng khi có hoặc không có người:
- Nghiên cứu cách thức đo khoảng cách bằng
cảm biến siêu âm.

Đoàn Văn Sinh

- Nghiên cứu cách thức hoạt động của module 4
relay.
- Nghiên cưu tìm ra thuật toán để nhận biết
được có người vào ra phòng.
- Nhận tín hiệu từ module nhiệt , tính toán và
xử lý tín hiệu nhân đươc để điều khiển relay.
- Làm báo cáo.
Module điều khiển bật – tắt số lượng đèn có
trong phòng theo cường độ sáng của phòng:
- Nghiên cứu cách đọc giá trị quang trở.

Trần Văn Hồng
Quân

- Khảo sát thực nghiệm để đưa ra số bóng đèn
cần sáng sao cho phù hợp với cường độ sáng.
-Nghiên cứu thuật toán để viết chương trình
điều khiển cho module đèn.
- Thu thập kết quả để báo cáo.
- Làm slide.
Bảng 1: Bảng phân công nhiệm vụ cho từng thành viên

2



Mục lục

3


TÓM TẮT ĐỒ ÁN
Mô hình phòng thông minh là một hệ thống gồm 3 module chính: bật – tắt đèn tự động,
bật – tắt – điều chỉnh tốc độ quạt tự động và bật – tắt tất cả các thiết bị khi có người hoặc
không có người trong phòng. Hệ thống hoạt động dựa trên các thông số mà cảm biết đo
được từ môi trường trong phòng, từ đó điều chỉnh bật – tắt các thiết bị, độ sáng và tốc độ
quạt sao cho người trong phòng cảm thấy dễ chịu và tiện nghi hơn.
I. Giới thiệu đề tài
Với tốc độ phát triển nhanh chóng của các ngành công nghiệp hiện đại như công
nghệ thông tin, công nghệ truyền thông, cơ khí, động lực trong thời gian qua không thể
tách rời với ngành điện tử. Ngành điện tử đóng vai trò rất quan trọng, nó đã xâm nhập
vào cuộc sống con người khá sớm từ những thiết bị đơn giản như đèn chiếu sáng, radio,
…, đến những máy móc phức tạp và ứng dụng công nghệ cao như hệ thống camera,
robot…tất cả điều đươc ứng dụng rộng rãi và góp phần hiệu quả vào công việc giải
phóng sức lao động của con người đưa con người hướng tới một thế giới công nghệ mới
ngày càng hiên đại và tinh vi hơn. Do đó, việc ra đời những ngôi nhà thông minh hoặc
những căn phòng thông minh không còn là những mơ ước của con người nữa mà nó đã
được hiện thực hóa. Qua những phương tiện truyền thông, báo chí, chúng ta đã thấy
những mô hình nhà thông minh – phòng thông minh ra đời. Là sinh viên khoa Công nghệ
thông tin, với những kiến thức đã học và những mong muốn tạo ra một căn phòng thông
minh đáp ứng được những nhu cầu thiết yếu của con người. Xuất phát từ những ý tưởng
trên nên chúng em đã chọn đề tài “Hệ thống phòng thông minh”.
Trong thời quá trình thực hiện mô hình “Hệ thống phòng thông minh”, chúng em
đã cố gắng để hoàn thiện hệ thống một cách tốt nhất. Nhưng với kiến thức và sự hiểu

biết có hạn nên chúng em không thể tránh khỏi những thiếu sót, vậy nên kính mong thầy
cô và các bạn đóng góp ý kiến để hệ thống của chúng em hoàn thiện hơn.

4


II. Phân tích đề tài
1. Các chức năng của hệ thống
- Module bật – tắt các thiết bị khi có hoặc không có người trong phòng là một
module quan trọng của hệ thống, nó phát hiện có người hoặc không có người trong phòng
từ đó cung cấp nguồn cho các module có trong phòng để chúng hoạt động nhằm giúp tiết
kiệm điện năng cho gia chủ, bên cạnh đó việc tắt bật các thiết bị khác có trong phòng
giúp các thiết bị có trong hệ thống có thời gian nghỉ, nó cũng giúp kéo dài tuổi thọ của hệ
thống hơn.
- Module bật – tắt các bóng đèn trong phòng để điều chỉnh độ sáng trong phòng:
Tự động bật – tắt đèn số lượng đèn sao cho độ sáng giúp cho người dùng cảm thấy dễ
chịu và đồng thời không bị lãng phí điện. Cho phép người dùng bật – tắt đèn khi muốn
hoặc không muốn sử dụng.
- Module bật – tắt và điều chỉnh tốc độ quạt: Tự động bật – tắt hoặc điều chỉnh tốc
độ quạt sao cho phù hợp với nhiệt độ trong phòng giúp cho cảm thấy dễ chịu, bên cạnh
đó, trong những lúc vừa vận động xong hoặc những lúc cơ thể cảm thấy không thoải mái
thì chúng ta có thể bật – tắt hoặc điều chỉnh quạt bằng phương pháp thủ công.
2. Linh kiện được sử dụng trong hệ thống
STT

Tên thiết bị

Số lượng

1


Arduino R3

3

2

Module 4 relay

1

3

Quang trở

1

4

Cảm biến nhiệt LM35

1

5

Cảm biến HC-SR04

2

6


Nút bấm

4

7

Board mạch

1

8

LCD 16x2

1

9

Nguồn 12V

1

10

Biến trở

1

11


Điện trở

12

Dây dẫn

13

Jack cắm nguồn

3

Bảng 2: Danh sách linh kiện được sử dụng trong hệ thống

5


3. Thiết kế và nguyên tắc làm việc của linh kiện
3.1 - Module Relay

Hình 1: Module Relay
- Cấu tạo của module Relay:
o
o
o
o
o
o


VCC: Điện áp dương của nguồn 5V
GND: Điện áp âm của nguồn
IN: Có thể set mức cao thấp để điều khiển Relay
NO: Chân thường mở của Relay
COM: Chân chung của Relay
NC: Chân thường đóng của Relay

- Nguyên lý hoạt động: Module rơ-le được sử dụng trong mô hình này là rơ-le
đóng ở mức thấp – có nghĩa là khi cấp điện áp ở mức thấp (0V) vào chân tín hiệu thì rơ-le
tương ứng với chân tín hiệu đó sẽ đóng.
- Các tham số kỹ thuật:
+ Điện áp làm việc: 5V
+ Ngõ ra Relay tiếp xúc tối đa là AC250 V10A và DC 30V 10A

6


3.2 – Cảm biến nhiệt LM35

Hình 2: Cảm biến nhiệt LM35
-

-

Cảm biến nhiệt LM35 là một loại cảm biến tương tự rất hay được sử dụng trong
các ứng dụng đo nhiệt độ thời gian thực. Vì nó hoạt động khá chính xác với sai số
nhỏ, đồng thời với kích thước nhỏ và giá thành rẻ là một trong những ưu điểm của
nó. Vì đây là cảm biến tương tự nên ta có thể dễ dàng đọc giá trị của nó bằng hàm
‘analogRead()’.
Nhiệt độ được xác định bằng cách do hiệu điện thế ngõ ra của LM35, đơn vị đo

nhiệt độ là °C và nhiệt độ thay đổi tuyến tính là 10mV/°C.
Nguyên lý hoạt động: Cảm biến nhiệt LM35 hoạt động bằng cách cho ra một giá
trị hiệu điện thế nhất định tại chân Vout (chân giữa) ứng với mỗi mức nhiệt độ.
Như vậy, bằng cách đưa vào chân trái của cảm biến LM35 hiệu điện thế 5V. chân
phải nối đất, đo hiệu điện thế ở chân giữa bằng các pin A0 trên Arduino, ta sẽ xác
định được nhiệt độ bằng công thức:

Với T là nhiệt độ tính theo °C, V là điện thế đo được tại chân A0
-Sơ đồ mạch lắp mạch:

7


Hình 3: Sơ đồ lắp mạch với Cảm biến nhiệt LM35
-

Đoạn code làm việc với LM35:

1. int sensorPin = A0;// chân analog kết nối tới cảm biến LM35

2.
3. void setup() {
4. Serial.begin(9600); //Khởi động Serial ở mức baudrate 9600
5. }
6.
7. void loop() {
8. //đọc giá trị từ cảm biến LM35
9. int reading = analogRead(sensorPin);
10.
11. //tính ra giá trị hiệu điện thế (đơn vị Volt) từ giá trị cảm biến

12. float voltage = reading * 5.0 / 1024.0;
13. //cứ mỗi 10mV = 1 độ C.
14. // Vì vậy nếu biến voltage là biến lưu hiệu điện thế (đơn vị Volt)
15. // thì ta chỉ việc nhân voltage cho 100 là ra được nhiệt độ!
16.
17. float temp = voltage * 100.0;
8


18.
19. Serial.println(temp);
20. delay(1000);//đợi 1 giây cho lần đọc tiếp theo
21. }

9


3.3 – Cảm biến ánh sáng

Hình 4: Quang trở 5mm
- Quang trở làm bằng chất bán dẫn trở kháng cao và không có tiếp giáp nào. Trong
bóng tối, quang trở có điện trở lên đến vài MΩ. Khi có ánh sáng, điện trở giảm
xuống mức một vài trăm Ω.
- Nguyên lý hoạt động: Quang trở hoạt động dựa trên hiệu ứng quang điện trong
khối vật chất. Khi photon có năng lượng đủ lớn đập vào, sẽ làm bật electron khỏi
phân tử, trở thành tự do trong khối chất và làm chất bán dẫn thành dấn điện. Mức
độ dẫn điện tùy thuộc số photo được hấp thụ.
3.4 – Cảm biến khoảng cách HC-SR04

Hình 5: Cảm biến HC-SR04

-

-

-

Cảm biến khoảng cách siêu âm HC-SR04 được sử dụng rất phổ biến để xác định
khoảng cách vì rẻ và chính xác. Cảm biến sử dụng song siêu âm và có thể đo
khoảng cách từ 2 – 300cm, với độ chính xác gần như chỉ phụ thuộc vào lập trình.
Cảm biến HC-SR04 có 4 chân:
Vcc: 5V
Trig: Một chân digital output
Echo: Một chân digital input
GND: chân nối đất
Nguyên lý hoạt động: Để do khoảng cách, ta sẽ phát xung rất ngắn ( 5 µs ) từ
chân Trig. Sau đó, cảm biến sẽ tạo ra 1 xung HIGH ở chân Echo cho đến khi nhận
lại được sóng phản xạ ở pin này. Chiều rộng của xung sẽ bằng với thời gian song
siêu âm được phát từ cảm biến và quay trở lại.
Tốc độ của âm thanh trong không khí là 340m/s (hằng số vật lý), tương đương với
29.412… . Khi đã tính được thời gian, ta sẽ chia cho 29.412 để nhận được khoảng
cách.
10


-

Sơ đồ lắp mạch:

Hình 6: Sơ đồ lắp mạch với cảm biến HC-SR04
-


Đoạn code làm việc với cảm biến HC-SR04:

1. const int trig = 8; // chân trig của HC-SR04

2. const int echo = 7; // chân echo của HC-SR04
3.
4. void setup()
5. {
6.

Serial.begin(9600); // giao tiếp Serial với baudrate 9600

7.

pinMode(trig,OUTPUT); // chân trig sẽ phát tín hiệu

8.

pinMode(echo,INPUT); // chân echo sẽ nhận tín hiệu

9. }
10.
11. void loop()
12. {
13. unsigned long duration; // biến đo thời gian
14. int distance; // biến lưu khoảng cách
15.
16. /* Phát xung từ chân trig */
17. digitalWrite(trig,0); // tắt chân trig

11


18. delayMicroseconds(2);
19. digitalWrite(trig,1); // phát xung từ chân trig
20. delayMicroseconds(5); // xung có độ dài 5 microSeconds
21. digitalWrite(trig,0); // tắt chân trig
22.
23. /* Tính toán thời gian */
24. // Đo độ rộng xung HIGH ở chân echo.
25. duration = pulseIn(echo,HIGH);
26. // Tính khoảng cách đến vật.
27. distance = int(duration/2/29.412);
28.
29. /* In kết quả ra Serial Monitor */
30. Serial.print(distance);
31. Serial.println("cm");
32. delay(200);
33. }

III. Giải pháp triển khai
1. Module bật – tắt các thiết bị trong phòng khi có ho ặc không có ng ười trong
phòng
1.1Như ở phần đặt vấn đề, module này có các chức năng chính như sau:
o Nhận biết người vào, ra phòng.
o Bật – tắt 2 module đèn, quạt có trong phòng.
1.2Giải pháp:
o Sử dụng 2 cảm biến siêu âm HC-SR04 để nhận biết có người ra, vào phòng.
o Sử dụng module 4 relay để bật – tắt các module khác.
a) Sử dụng 2 cảm biến siêu âm HC-SR04 để nhận biết có người ra, vào phòng.

12


Hình 7: Sơ đồ khối của mạch đếm số người vào ra phòng
-

Nếu có người ra, vào phòng thì khoảng cách distance 1 và distance 2 sẽ thay đổi
theo tuần tự như sau:
o Khi có người vào phòng thì: distance 1 sẽ giảm, distance 2 không đổi 
distance 1 giảm và distance 2 giảm  distance 1 trở về khoảng cách ban đầu
(khoảng cách khi không có vật cản) và distance 2 giảm so với khoảng cách
khi không có vật cảm  cho đến khi distance 1 và distance 2 trở về trạng
thái ban đầu.
o Khi có người ra phòng thì: distance 2 sẽ giảm, distance 1 không đổi 
distance 2 giảm và distance 1 giảm  distance 2 trở về khoảng cách ban đầu
(khoảng cách khi không có vật cản) và distance 1 giảm so với khoảng cách
khi không có vật cảm  cho đến khi distance 1 và distance 2 trở về trạng
thái ban đầu.
b) Sử dụng module 4 relay để bật – tắt các module khác.
- Khi không có người trong phòng thì cấp điện thế đầu ra ở mức cao nối đến chân
điều khiển của relay tương ứng cấp nguồn cho các module khác ở trong phòng thì
lúc đó nguồn nối đến các module đó sẽ ngắt.
- Khi có người trong phòng thì cấp điện thế đầu ra ở mức thấp (0V) nối đến chân
điều khiển của relay tương ứng cấp nguồn cho các module khác ở trong phòng thì
lúc đó nguồn nối đến các module đó sẽ đóng.
1.3 Triển khai
-

Sơ đồ khối


Vi xử lý

Tín hiệu điều khiển
Cảm biến siêu
từ module
âm

Cảm biến siêu
âm

Module
4 relay
13


-

Sơ đồ mạch điện:

Hình 8: Sơ đồ lắp ráp của module đếm người vào – ra phòng

14


-

Thuật toán:

START


-

-

Khởi tạo biến lưu số người trong phòng và cho
mặc định là 0 (tức là khi khởi động hệ thống
thì chưa có ai trong phòng)
Khai báo các chân xuất tín hiệu và các chân
nhận tín hiệu

Gọi đến hàm nhận biết người vào ra phòng
(trong chương trình là hàm personInRoom() )
- Nếu có người vào phòng thì biến lưu
số người trong phòng sẽ được tăng lên
1
- Nếu có người ra khỏi phòng thì biến
lưu số người trong phòng sẽ bị giảm đi
1 (với điều kiện số người trong phòng
phải lớn hơn 0 thì mới giảm)

Nếu số người trong phòng
lớn hơn 0 (tức là có người
trong phòng ) thì bật các
thiệt bị trong phòng

Nếu số người trong
phòng bằng 0 (tức phòng
không có người ) thì tắt
hết các thiết bị trong
phòng


Delay 1000
ms

15


2. Module điều chỉnh bật – tắt và tốc độ của quạt trong phòng
2.1 Đặt vấn đề: module có 2 chế độ là chế độ tự động và chế độ tùy chọn.
o Điều khiển tốc độ quạt tự động theo nhiệt độ trong phòng.
o Điều khiển tốc độ quạt thủ công tùy theo nhu cầu người sử dụng.
2.2 Giải pháp:
o Sử dụng cảm biến nhiệt độ LM35 để đo nhiệt độ trong phòng.
o Tính toán và khảo sát thực nghiệm nhằm chia khoảng nhiệt độ phù hợp với
từng cấp độ của quạt.
o Sử dụng nút bấm để chọn chế độ và chọn cấp độ phù hợp với nhu cầu
người sử dụng.
a. Sử dụng cảm biến nhiệt độ LM35 để đo nhiệt độ trong phòng.
- Theo phần giới thiệu về cảm biến nhiệt độ LM35, chúng ta tính được nhiệt độ
trong phòng.
b. Khảo sát thực nghiệm và chia khoảng nhiệt độ phù hợp với từng cấp độ của quạt.
- Bằng thực tế tại một số phòng, ta chia được các khoảng nhiệt độ sau:
o Dưới 27°C thì không cần bật quạt – tương ứng với cấp độ quạt là 0.
o Từ 27°C đến dưới 32°C thì cần điều chỉnh quạt ở cấp độ 1.
o Từ 32°C đến dưới 35°C thì cần điều chỉnh quạt ở cấp độ 2.
o Từ 35°C trở lên thì cần điều chỉnh quạt ở cấp độ 3.
Với quạt được sử dụng ở đây có 4 cấp độ tương ứng nêu trên và tăng dần từ 1 đến
3, cấp độ 0 tương ứng với tắt quạt.
2.3 Triển khai
-


Sơ đồ khối:

Cảm biến
nhiệt

Vi xử lý

Tín hiệu điều
khiển

-

Nhóm
nút bấm
-

Sơ đồ mạch:
16


Hình 9: Sơ đồ mạch của module điều chỉnh tốc độ quạt trong phòng

17


-

Sơ đồ thuật toán


START

-

Khai báo các chân vào ra của
vi điều khiển
Khởi tạo biến s lưu chế độ sử
dụng (mặc định chế độ tự
động: s = 1)

Gọi đến hàm chọn chế độ

Chế độ tự động

Chế độ thủ công

Đọc tính toán nhiệt độ
và cấp tín hiệu điều
khiển phù hợp để bật
cấp độ quạt phù hợp

Đọc các nút bấm từ đó
nhận biết người dùng lựa
chọn cấp độ quạt nào , từ
đó cấp tín hiệu điều khiển
cấp độ quạt theo yêu cầu
người dùng

Delay 1000 ms


18


3. Module điều khiển đèn tự động trong phòng
3.1 Đặt vấn đề:
o Đo được độ sáng hiện tại của phòng và điều chỉnh số bóng đèn sáng sao
cho phù hợp với nhu cầu sử dụng của người dùng.
3.2 Giải pháp:
o Với đặc tính thay đổi điện trở của quang trở theo cường độ sáng, ta có thể
nhận biết được sự thay đổi của cường độ sáng trong phòng.
o Bằng thực nghiệm, ta có thể chia khoảng điện thế đo được (ứng với tín hiệu
đọc được từ chân analog thì 0 ứng với 0V – 1024 ứng với 5V) từ quang trở
theo từng khoảng cường độ sáng tương ứng, cụ thể như sau:
 Dưới 700 thì không cần bật đèn
 Từ 700 đến dưới 800 thì bật 1 bóng
 Từ 800 đến dưới 900 thì bật 2 bóng
 Từ 900 đến dưới 1000 thì bật 3 bóng
 Từ 1000 trở lên thì bật 4 bóng
Ở đây, cường độ sáng càng lớn thì giá trị đọc được càng nhỏ.
3.3 Triển khai
-

Sơ đồ khối

Quang trở

Vi xử lý

Tín hiệu
khiển đèn


điều

Nút
bấm

19


-

Sơ đồ mạch

Hình 10: Sơ đồ mạch của module điều khiển đèn trong phòng

20


-

Sơ đồ thuật toán
START

-

Khởi tạo biến lưu chế độ trong phòng (mặc
định bằng 0, tức là chạy chế độ tự động).
Khai báo các chân xuất tín hiệu và các chân
nhận tín hiệu.


Gọi đến hàm chuyển chế độ, hàm này có chức
năng nhận biết người dùng có bấm nút
chuyển chế độ hay không.
Nếu có nhấn nút chuyển chế độ thì thực
hiện thay đổi giá trị biến lưu chế độ: nếu đang
bằng 0 thì chuyển thành 1 và ngược lại.

Nếu biến lưu chế độ bằng 0
(tức chế độ tự động) thì gọi
đến hàm tính toán số đèn cần
bật theo độ sáng phòng và
thực hiện bật số đèn tương
ứng.

Nếu biến lưu chế độ trong
phòng bằng 1 (tức tắt
đèn) thì thực hiện tắt hết
đèn trong phòng.

Delay 1000
ms

21


4. Kết nối các module lại với nhau
Sơ đồ khối kết nối:

22



IV. Kết quả đạt được
1. Module nhận biết có người trong phòng hay không

Hình 11: Khi không có người trong phòng

Hình 12.Khi có người vào phòng ( do đây là mô hình nên khi có vật thể quét qua lối vào
thì sẽ bật các thiết bị trong phòng)
23


2. Module điều chỉnh tốc độ quạt trong phòng

3. Module điều chỉnh bóng đèn trong phòng

24


V. Đánh giá và kết luận
-

-

-

Ưu điểm:
o Hệ thống có tính ứng dụng tốt.
o Được kết hợp tự động và thủ công.
Nhược điểm:
o Độ chính xác của thiết bị chưa cao.

o Vẫn còn một số trục trặc nhỏ do lỏng dây dẫn đến hệ thống hoạt động
không ổn định.
o Do thiết kế mô hình nhỏ dẫn đến 1 số trục trặc nhỏ khi xác định người vào
ra trong hệ thống.
Kết luận:
Nhìn chung, hệ thống đã hoạt động được như mục tiêu ban đầu đề ra, được kết
hợp giữa tự động và thủ công giúp tiện lợi hơn và phù hợp với nhu cầu của người
dung. Tuy nhiên, hệ thống vẫn cần cãi thiện hơn về độ hoạt động chính xác nhằm
tối ưu hơn.

-

Hướng phát triển:
o Khắc phục những hạn chế ở trên.
o Kết hợp camera để nhận biết người vào, ra.

Link code từng module:
/>usp=sharing

25


×