Tải bản đầy đủ (.pdf) (35 trang)

Báo cáo Đo lường và Điều khiển bằng máy tính

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.1 MB, 35 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ

TRƯỜNG BÁCH KHOA

….….

BÁO CÁO

Đo lường và Điều khiển bằng máy tính_CT397
Đề tài: Tìm hiểu về cảm biến siêu âm, thiết kế hệ thống kiểm

soát mực nước

Giảng viên hướng dẫn : Thầy Nguyễn Khắc Nguyên
Học phần : Đo lường và Điều khiển bằng Máy tính
Nhóm : 09
Sinh viên thực hiện : Nguyễn Nhật Linh B2012513

Nguyễn Mạnh Hà B2012497
Nguyễn Quốc Bảo B2012416
Lê Nhật Em B2012496

Cần thơ: 12/2023

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

LỜI CẢM ƠN

“Để hồn thành Bài báo cáo học phần này, nhóm em xin gửi lời cảm ơn chân
thành đến:


Thầy Nguyễn Khắc Ngun vì đã tận tình hướng dẫn, góp ý kiến để em hoàn
thành bài báo cáo này.

Do thời gian làm báo cáo có hạn cũng như những hạn chế về kiến thức, trong
bài chắc chắn sẽ không tránh khỏi những thiếu sót. Rất mong nhận được sự
nhận xét, đóng góp ý kiến từ phía Thầy để bài làm của nhóm em được hồn
thiện hơn.

Lời cuối cùng, em xin kính chúc thầy nhiều sức khỏe, thành công và hạnh
phúc!”

Em xin chân thành cảm ơn!

Sinh viên thực hiện

Nhóm 09

SVTH: Nhóm 09 Trang 2

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

MỤC LỤC

Đo lường và điều khiển bằng Máy tính_CT397
GIỚI THIỆU SƠ LƯỢC CẢM BIẾN HC-SR04............................................................................4

I. GIỚI THIỆU ĐỀ TÀI .......................................................................................................... 5
1. Tên và mục tiêu đề tài: .................................................................................................. 5
2. Các tính năng cơ bản .................................................................................................... 5
3. Phương pháp thực hiện ................................................................................................ 5


II. THỰC HIỆN ĐỀ TÀI ...................................................................................................... 6
1. Mơ hình hệ thống .......................................................................................................... 6
1.1. Mô tả sơ lược về hệ thống:............................................................................................ 6
1.2. Vẽ mơ hình hệ thống dạng khối ................................................................................... 8
2. Thiết kế phần cứng mạch điện ..................................................................................... 9
2.1. Mô tả sơ lược hoạt động của mạch điện ...................................................................... 9
2.2. Vẽ sơ đồ khối phần cứng mạch điện ............................................................................ 9
3. Thiết kế phần mềm điều khiển trên board nhúng ..................................................... 13
3.1. Mô tả chức năng của phần mềm ................................................................................ 13
3.2. Lưu đồ chương trình chính ........................................................................................ 14
3.3. Đoạn code chương trình ............................................................................................. 15
4. Thiết kế phần mềm điều khiển trên máy tính ............................................................ 18
4.1. Mô tả chức năng của phần mền điều khiển trên máy tính ....................................... 18
4.2. Giao diện chính chương trình .................................................................................... 18
4.3. Đoạn code các chức năng chính ................................................................................ 21

III. KẾT QUẢ THỰC HIỆN ............................................................................................... 26
1. Mơ hình thực tế ........................................................................................................... 26
2. Phần cứng mạch điện ................................................................................................. 26
3. Kết quả thực hiện ........................................................................................................ 27
4. Kết quả thực hiện các tính năng đã đặt ra của hệ thống (ở phần 1) ........................ 29
5. Nhận xét chung về ưu nhược điểm của hệ thống...................................................... 29
6. Hướng phát triển cho đề tài: ...................................................................................... 29

IV. TÀI LIỆU THAM KHẢO ............................................................................................. 30
V. PHỤ LỤC........................................................................................................................ 30

1. Quá trình thực hiện đề tài........................................................................................... 30
2. Danh sách thành viên và bảng phân chia công việc ................................................. 31

3. Trả lời câu hỏi ............................................................................................................. 32

SVTH: Nhóm 09 Trang 3

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

GIỚI THIỆU SƠ LƯỢC CẢM BIẾN HC-SR04

(Cảm biến siêu âm)

Cảm biến HC-SR04 là một cảm biến khoảng cách siêu âm giá rẻ và dễ sử dụng. Nó
có phạm vi đo từ 2 đến 400 cm và thường được sử dụng trong các dự án tự động hóa.
Cảm biến này hoạt động bằng cách phát ra sóng siêu âm và đo thời gian sóng phản
xạ trở lại để tính tốn khoảng cách đến vật cản. HC-SR04 có thể được sử dụng với
nhiều loại vi điều khiển khác nhau, bao gồm cả Arduino.

Cảm biến HC-SR04 có kích thước nhỏ gọn và dễ lắp đặt. Nó có hai chân kết nối chính
là chân Trigger và chân Echo. Chân Trigger được sử dụng để kích hoạt phát sóng
siêu âm, trong khi chân Echo được sử dụng để đọc tín hiệu phản xạ trở lại. Cảm biến
này cũng có hai chân cấp nguồn Vcc và Gnd để kết nối với nguồn điện.

HC-SR04 là một giải pháp hiệu quả về chi phí để đo khoảng cách trong các ứng dụng
như robot tránh vật cản, đo khoảng cách và định vị. Với giá thành rẻ và tính năng dễ
sử dụng, HC-SR04 là một lựa chọn tuyệt vời cho các dự án điện tử cho sinh viên.

SVTH: Nhóm 09 Trang 4

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

I. GIỚI THIỆU ĐỀ TÀI


1. Tên và mục tiêu đề tài:

❖ Tên đề tài thực hiện: Tìm hiểu về cảm biến siêu âm, thiết kế hệ thống kiểm
soát mực nước

❖ Mục tiêu của đề tài:
- Xây dựng được hệ thống kiểm sốt mực nước trong bình chứa
- Xây dựng giao diện Dashboard theo dõi và giám sát cho hệ thống.

2. Các tính năng cơ bản

- Đề tài có thể theo dõi và giám sát được mực nước trong bình chứa khi đóng
hoặc xả van nước thông qua cảm biến siêu âm HC-SR04 và hiển thị giá trị
mực nước lên giao diện Dashboard và màn hình LCD

- Giao diện Dashboard cho phép người dùng theo dõi trạng thái mực nước
và trạng thái của một số thiết bị chấp hành khác như (Động cơ, led, còi…).
Đồng thời có thể điều khiển trực tiếp các thiết bị chấp hành như động cơ
bơm nước phụ và còi báo từ giao diện.

3. Phương pháp thực hiện

❖ Nắm rõ yêu cầu của đề tài và thực hiện theo đúng với mục đích đề ra:
- Đầu tiên, Tìm hiểu về đề tài, ứng dụng trong cuộc sống và những mô hình
của đề tài, thực hiện mô phỏng phần cứng cho đề tài, chạy thử nghiệm ghi
nhận kết quả.
- Sau đó, tiến hành lắp đặt thực tế mơ mình cho hệ thống,kiểm tra sai số và
hiệu chỉnh. Rút ra những kết luận, nhận xét ưu và nhược điểm của đề tài.


➢ Các bước để tiếp cận đề tài cụ thể như sau:
Bước 1: Tìm hiểu về cảm biến siêu âm

- Về nguyên lý hoạt động, cách nó đo mực nước và yếu tố ảnh hưởng đến kết
quả đo
Bước 2: Xác định rõ ứng dụng của hệ thống

- Xác định rõ mục tiêu ứng dụng của hệ thống được ứng dụng trong bể chứa
nước hay trong nông nghiệp và công nghiệp…
Bước 3: Thiết kế hệ thống:

- Dựa trên những gì đã xác định, lựa chọn thiết kế hệ thống phù hợp bao gồm
việc (lựa chọn cảm biến, vị trí lắp đặp, và thiết kế phần cứng, mô phỏng cho
hệ thống và thiết kế phần mềm để điều khiển và giám sát)
Bước 4: Lập trình và mơ phỏng hệ thống

- Viết chương trình để điều khiển và giám sát cho hệ thống sau đó tiến hành
kiểm tra hiệu suất và độ chính xác của hệ thống.
Bước 5: Thử nghiệm và điều chỉnh

- Cuối cùng, chạy thử nghiệm hệ thống trong điều kiện thực tế và hiệu chỉnh
nếu cần thiết.
Bước 6: Nhận xét về đề tài

- Những ưu và nhược điểm của đề tài mang lại hướng phát triển cho đề tài và
những giải pháp đề xuất, cải tiến (nếu có)

SVTH: Nhóm 09 Trang 5

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ


▪ Lưu ý về việc chọn cảm biến:
Cần lựa chọn dãy đo của của biến phù hợp, điều kiện môi trường sử dụng
(nhiệt độ, độ ẩm, áp suất…) và loại chất lỏng cần để đo.

II. THỰC HIỆN ĐỀ TÀI

1. Mơ hình hệ thống

1.1. Mơ tả sơ lược về hệ thống:

❖ Mô tả sơ lược hệ thống:
“ Hệ thống kiểm soát mực nước bằng cảm biến siêu âm hoạt động dựa trên
nguyên lý phản xạ sóng siêu âm. Dây là cách mơ tả hoạt động của hệ thống:
Cảm biến siêu âm (HC-SR04), được lắp trên đầu của một bình chứa khi đo
mực nước cảm biến này phát ra sóng siêu âm và nhận lại sóng phản xạ từ bề
mặt nước. Khoảng cách từ cảm biến đến bề mặt nước có thể được tính tốn
dựa trên thời gian mà sóng siêu âm mất để đi và trở lại. Bộ điều khiển (MCU),
nhận tín hiệu từ cảm biến siêu âm và xử lý thông tin để xác định mực nước
hiện tại trong bình để ra lệnh cho thiết bị chấp hành. Thiết bị chấp hành (như
Motor, lcd 16*2, led, buzzer), dựa vào thông tin từ bộ điều khiển. Các thiết bị
này sẽ hiển thị trạng thái mực nước (như lcd 16*2) hoặc thêm hoặc giảm lượng
nước trong bình (motor bơm) và biểu diễn trạng thái mực nước cao hay thấp
(led đơn). Cuối cùng, Giao diện người dùng (Dashboad trên node-red), giao
diện này cho phép người dùng có thể theo dõi mực nước hiện tại cũng như các
trạng thái của motor, led… và điều khiển chúng trên giao diện.”

❖ Mơ tả cách để tính tốn khoảng cách đến vật cản của cảm biến siêu âm:

Hình 1: Ảnh mơ tả khoảng cách truyền và phản hồi


➢ Nguyên lí đo:
- Cảm biến siêu âm HC-SR04 phát sóng siêu âm tới vật cần đo
- Sóng siêu âm gặp vật cản phản xạ lại cảm biến
- Gọi t là thời gian từ khi phát sóng siêu âm đến khi sóng phản xạ lại.
- Khoảng cách đo được tính theo cơng thức:

S = 𝑻

𝑽

SVTH: Nhóm 09 Trang 6

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

- Trong đó:

+ T là thời gian sóng siêu âm phát ra khi gặp vật cản (khơng tính lúc phản xạ
lại): T = 𝒕

𝟐

+ V là vận tốc sóng siêu âm trong khơng khí (khoảng 340m/s)

+ S là khoảng cách cần đo 340* 100 = 0.034
+ Quy đổi: 340m/s  0.034 cm/𝜇𝑠
1000000

 Vậy 1𝜇s thì sóng siêu âm đi được 0.034cm. Số 𝜇s tương ứng với 1cm là: 1


0.034

= 29.41 𝜇s đây cũng là số dùng để tính tốn.

❖ Mơ tả cách đo mực nước trong bình chứa:

Hình 2: Sơ đồ minh họa cách tính mực nước trong bình
➢ Mơ tả: Nhóm chuẩn bị một bình chứa nước với chiều cao là 18cm khi cảm

biến đo đến bề mặt của nước sẽ thu một giá trị là X khi đó để xác định lượng
nước cịn lại trong bình bằng cách là lấy chiều cao của bình trừ đi X.

Mực nước = 18 – X

SVTH: Nhóm 09 Trang 7

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

1.2. Vẽ mơ hình hệ thống dạng khối

Bộ nguồn Bộ cảnh báo Cổng COM
(Nguồn DC) (BUZZER)
Giao diện Dashboar
Cổng COM (Theo dõi và điều
khiển)
Bộ xử lí tung tâm
(ARDUINO UNO)

Bộ điều khiển Bộ hiển thị
(L298N) (LCD)


Động cơ Bộ đo lường
(DC Motor) (HC-SR04)

Hình 3: Mơ hình hệ thống dạng khối

❖ Mơ tả sơ đồ khối hệ thống: Hệ thống kiểm soát mực nước dùng Arduino Uno
làm vi xử lý trung tâm.
+ Bộ nguồn: Có nhiệm vụ cung cấp nguồn điện cho các thiết bị sử dụng. Nó
cung cấp nguồn cho Arduino để xử lý dữ liệu, cung cấp cho bộ điều khiển
L298N để điều khiển động cơ…
+ Bộ xử lí trung tâm: Tiếp nhận tín hiệu từ cảm biến để xử lý và trả về tín
hiệu để điều khiển các bộ như bộ cảnh báo, bộ hiển thị, bộ điều khiển
+ Bộ đo lường: Có nhiệm vụ đo khoảng cách mực nước từ bình chứa khi động
cơ bơm nước vào bình và nó gửi tín hiệu về cho bộ xử lý trung tâm
+ Bộ hiển thị: Dùng để hiển thị thông tin mực nước đã gửi về từ cảm biến
thơng qua xử lí của Arduino.
+ Bộ cảnh báo: Dùng để cảnh báo tình trạng của hệ thống nếu động cơ bơm
chính xảy xự cố hư hỏng thì sẽ cảnh báo và bật động cơ phụ trược tiếp từ giao
diện Dashboard
+ Bộ điều khiển: Mạch điều khiển L298N dùng để điều khiển động cơ bơm
nước hoạt động và đồng thời có thể điều chỉnh tốc độ bơm của động cơ.
+ Giao diện Dashboard: Dùng để theo dõi và giám sát mực nước và những
trạng thái làm việc của các thiết bị như động cơ, led…Đồng thời có thể điều
khiển bằng nút nhấn để bật động cơ phụ và cịi.

SVTH: Nhóm 09 Trang 8

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ


2. Thiết kế phần cứng mạch điện
2.1. Mô tả sơ lược hoạt động của mạch điện

Hình 4: Sơ đồ nguyên lý mạch điện mô phỏng trên phần mềm Proteus

❖ Mô tả sơ lược hoạt động mạch điện: Hệ thống sử dụng Arduino Uno làm
trung tâm xử lý dữ liệu. Màn hình LCD 16× 2 sử dụng chuẩn I2C (để tiết kiệm
chân trên Arduino) dùng để hiển thị mực nước khi đo được từ cảm biến siêu
âm HC-SR04. Mạch L298N dùng để điều khiển động cơ 12V để bơm nước
ngồi ra nó cịn dùng để điều chỉnh tốc độ bơm nước. Hai led đơn RED và
BLUE dùng để hiển thị hai trạng thái nước trong bình cịn ít hay nhiều. Động
cơ phụ 5V được bật trược tiếp từ giao diện Dashboard để phòng trường hợp
động cơ chính bị hư hỏng và có thể thay thế cho động cơ chính. Và cuối cùng
cổng COM dùng để giao tiếp với giao diện Dashboard.

2.2. Vẽ sơ đồ khối phần cứng mạch điện

LCD 16×2

HC-SR04

Cổng COM I2C Led đơn

Nguồn Arduino Motor Phụ và Còi
báo

L298N Motor bơm Slider

(Điều khiển mực
mước trong bình)


SVTH: Nhóm 09 Trang 9

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

Hình 5: Sơ đồ khối phần cứng mạch điện

➢ Chú thích: : Phần này được điều khiển từ giao diện Dashboard
2.3. Thiết kế chi tiết

Khối nguồn:

- Mô tả: Cung cấp nguồn cho các thiết bị có trong hệ thống như cho Arduino,
mạch L298N và Motor bơm…
Khối xử lí dữ liệu cảm biến:

- Mô tả: Chân Trig dùng để phát tín hiệu siêu âm của HC-SR04 được kết nối
với chân số 9 trên Arduino và thu tín hiệu Echo được kết nối với chân số 10.
Ở khối này cảm biến có nhiệm vụ đo khoảng cách và gửi về cho Arduino xử lý
tín hiệu.

SVTH: Nhóm 09 Trang 10

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ
Khối hiển thị dữ liệu:

- Mơ tả: Màn hình LCD 16× 2 sư dụng chuẩn I2C (để tiết kiệm chân cắm cho
Arduino) có nhiệm vụ hiển thị thông tin về giá trị mực nước, cung cấp thông
tin trực quan cho người xem. Chân SDA và SCL của I2C lần lượt kết nối với
chân A4 và A5 trên Arduino.

Khối điều khiển động cơ:

- Mô tả: Mạch L298N dùng để điều khiển động cơ bơm nước 12V nó điều khiển
động cơ on hoặc off và băm xung thông qua chân En (từ 0 đến 255) thơng qua
đó có thể điều chỉnh tốc độ bơm của động cơ. Chân In3 và In 4 được của mạch
L298N kết nối với 8 và 7 của Arduino và chân EnB được kết nối với chân số
6.

SVTH: Nhóm 09 Trang 11

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ
Khối chấp hành:

- Mô tả: Các thiết bị chấp hành dùng để hiển thị trạng thái của hệ thống như
Led RED dùng để biểu diễn trạng thái mực nước thấp và Led BLUE dùng để
biểu diễn trạng thái nước đầy. Động cơ bơm dùng để bơm nước theo mực nước
định sẵn 1. Động cơ phụ 5V điều khiển trực tiếp trên Dashboar nó dùng để
giả lập cho động cơ bơm chính khi bị hỏng và có thể bật nó thay thế cho động
cơ chính. Cuối cùng là còi báo dùng để bật trong trường hợp khẩn cấp để cảnh
báo hệ thống bị trục trặc hoặc gặp sự cố.
Khối truyền/nhận dữ liệu:

- Mô tả: Ở khối này dùng để truyền hoặc hoặc nhận dữ liệu (chuổi JSON, kí tự,
số…) giao tiếp giữa Node red và Arduino. Truyền từ Arduino về Node red để
xử lý hiển thị dữ liệu ra giao diện Dashboar và Arduino nhận dữ liệu từ Node
red để điều khiển động cơ, còi báo.

1 Mực nước định sẵn: Có thiết lập trong code ở phần sau

SVTH: Nhóm 09 Trang 12


Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

3. Thiết kế phần mềm điều khiển trên board nhúng

3.1. Mô tả chức năng của phần mềm

❖ Mô tả chức năng của phần mềm: Đoạn code của thệ thống cho phép đọc giá
trị từ cảm biên siêu âm sau đó qua xử lí của Arduino để hiển thị ra giá trị mực
nước lên giao diện Dashboard và màn hình LCD. Trong đoạn code kiểm tra
mực nước trong bình nếu nhỏ hơn 5cm thì bật động cơ bơm nước đồng thời
bật led đỏ để cảnh báo đang hết nước. Sau khi bơm lên đến >= water cm thì
kiểm tra mực nước đã đạt water cm hay chưa nếu đã đạt thì dừng động cơ
bơm và bật led xanh để báo hiệu nước đã đầy. Trường hợp mở van xả nước
khi nước đã đạt water cm thì động cơ tiếp tục bơm lên cho đến khi đạt water
cm chứ không để xả nước cho đến dưới 5cm mới bơm.

 Vậy tại sao lại có trường hợp <5cm thì bơm nước trong khi mực mước dưới
10cm thì máy đã bơm?

- Do nhóm muốn thể hiện được trạng thái hết nước trong bình để bật led đỏ lên
và cũng do van xả nước của bình lớn gấp đơi so với ống bơm nước của máy
bơm (6mm và 12mm) nên lượng nước bơm lên sẽ không kip với lượng nước
xả ra do đó sẽ có trường hợp mực nước nhỏ hơn 5cm.
Do được thầy góp ý: Thay vì lúc trước chỉ cố định mực nước trong bình ln
là 10cm và muốn thay đổi mực nước thì vào code để chỉnh sửa việc này rất
bất tiện nên nhóm đã đặt mực nước với biến là “water” và biến này sẽ nhận
giá trị từ thanh slider trên giao điện Dashboard để giúp arduino xử lí điều
khiển mực nước linh hoạt hơn. Thanh slide này có giá trị trong khoảng nhỏ
nhất là 10 cho đến giá trị 17 cho phép người dùng có thể điều chỉnh mực nước

mong muốn trong khoảng này (do bình cao 18cm nên giá trị chỉ lên đến 17)

SVTH: Nhóm 09 Trang 13

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

3.2. Lưu đồ chương trình chính

Giao diện Dashboard Begin

Tiếp nhận và xử lí chuổi JSON Khởi tạo chiều cao bình, các chân kết nối
với LCD, HC-SR04, đènLED, BUZZER

và DC Motor.

Đo mực nước

Hiển thị mực nước lên LCD

True 1) Khoảng cách <5cm? False
2) Khoảng cách từ 5 đến 3) Khoảng cách >= water cm?

1. Led red ON, relay ON, Led green OFF • Nếu 1 sai kiểm tra 2 và 3
2. Led green ON, relay ON, Led red OFF • Nếu 2 sai kiểm tra 1 và 3
3. Led green ON, relay OFF, Led red OFF • Nếu 3 sai kiểm tra 1 và 2

Tạo và gửi chuổi JSON qua cổng
Serial Monitor


Hình 6: Lưu đồ của hệ thống

SVTH: Nhóm 09 Trang 14

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

3.3. Đoạn code chương trình

❖ Đoạn code chương trình:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

// Khai báo chân cho HC-SR04
#define TRIG_PIN 9
#define ECHO_PIN 10
// Khai báo chân cho L298N
#define IN3_PIN 8
#define IN4_PIN 7
#define ENB_PIN 6
// Khởi tạo chiều cao của bình chứa nước
#define BINH_HEIGHT 17.5
// Khai báo chân cho hai led cảnh báo
#define RED_LED_PIN 11
#define GREEN_LED_PIN 12
// Khai báo chân cho động cơ phụ và còi
#define MOTOR2_PIN 13
#define BUZZER_PIN 5

LiquidCrystal_I2C lcd(0x27, 16, 2);
float mucNuocCu = -1;


void setup() {
// Thiết lập các chân kết nối cho hệ thống
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(IN3_PIN, OUTPUT);
pinMode(IN4_PIN, OUTPUT);
pinMode(ENB_PIN, OUTPUT);
pinMode(RED_LED_PIN, OUTPUT);
pinMode(GREEN_LED_PIN, OUTPUT);
pinMode(MOTOR2_PIN, OUTPUT);
pinMode(BUZZER_PIN, OUTPUT);
Serial.begin(9600);

lcd.init();
lcd.backlight();
// In mực nước ra LCD
lcd.setCursor(0, 0);
lcd.print("Muc nuoc:");
}

SVTH: Nhóm 09 Trang 15

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

void loop() {
long duration; // Biến đo thời gian phát và phàn xạ lại (t)
float distance; // Biến đo khoảng cách

digitalWrite(TRIG_PIN, LOW);

delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);

duration = pulseIn(ECHO_PIN, HIGH);
distance = (duration / 2.0) / 29.1; // Công thức để tính tốn khoảng cách
float mucNuoc = BINH_HEIGHT - distance;

if (mucNuoc != mucNuocCu) {
mucNuocCu = mucNuoc;

lcd.setCursor(10, 0);
lcd.print(" ");
lcd.setCursor(9, 0);

char buffer[6];
dtostrf(mucNuoc, 4, 2, buffer);
lcd.print(buffer);
lcd.print("cm");

String json = "{";
json += "\"Muc nuoc trong binh\": \"" + String(mucNuoc) + " cm\", ";

if (mucNuoc < 5) {
digitalWrite(RED_LED_PIN, HIGH);
digitalWrite(GREEN_LED_PIN, LOW);
digitalWrite(IN3_PIN, HIGH);
digitalWrite(IN4_PIN, LOW);
analogWrite(ENB_PIN, 255);

json += "\"Dong co\": \"ON\", ";
json += "\"LED Red\": \"ON\", ";
json += "\"LED Green\": \"OFF\"";

} else if (mucNuoc >= 10) {
digitalWrite(IN3_PIN, LOW);
digitalWrite(IN4_PIN, LOW);
analogWrite(ENB_PIN, 0);
digitalWrite(GREEN_LED_PIN, HIGH);

SVTH: Nhóm 09 Trang 16

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

json += "\"Dong co\": \"OFF\", ";
json += "\"LED Red\": \"OFF\", ";
json += "\"LED Green\": \"ON\"";

} else if (mucNuoc >= 5 && mucNuoc < 9) {
digitalWrite(GREEN_LED_PIN, HIGH);
digitalWrite(RED_LED_PIN, LOW);
digitalWrite(IN3_PIN, HIGH);
digitalWrite(IN4_PIN, LOW);
analogWrite(ENB_PIN, 255);
json += "\"Dong co\": \"ON\", ";
json += "\"LED Red\": \"OFF\", ";
json += "\"LED Green\": \"ON\"";

} else {
digitalWrite(RED_LED_PIN, LOW);

digitalWrite(GREEN_LED_PIN, LOW);
json += "\"LED Red\": \"OFF\", ";
json += "\"LED Green\": \"OFF\"";
}

json += "}";
Serial.println(json);
}

if (Serial.available() > 0) {
char command = Serial.read();

if (command == '1') {
digitalWrite(MOTOR2_PIN, HIGH); // Bật động cơ
} else if (command == '0') {
digitalWrite(MOTOR2_PIN, LOW); // Tắt động cơ
} else if (command == '2') {
digitalWrite(BUZZER_PIN, HIGH); // Bật còi
} else if (command == '3') {
digitalWrite(BUZZER_PIN, LOW); // Tắt cịi
}
}
}

SVTH: Nhóm 09 Trang 17

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

4. Thiết kế phần mềm điều khiển trên máy tính


4.1. Mơ tả chức năng của phần mền điều khiển trên máy tính

❖ Một số chức năng của phần mềm điều khiển trên máy tính (Giao diện
Dashboard trên Node-red) như:

- Có thể theo dõi trực tiếp được mực nước đang có trong bình và biểu đồ cập
nhật lượng nước theo thời gian thực và những trạng thái của các thiết bị chấp
hành như: Motor, Led đơn…

- Giao diện còn cho phép điều khiển động cơ phụ dùng trong trường hợp động
cơ bơm nước chính bị hỏng và có thể hoạt động thay thế động cơ bơm chính
và cịi báo dùng để bật cảnh báo khi hệ thống gặp trục trặc (như động cơ không
bơm đượcnước, mạch điện hệ thống không ổn định…)

- Giao diện cịn hiển thị thơng tin, hình ảnh các thành viên nhóm, phần thơng
tin về đề tài và phần thuyết minh giọng nói của đề tài bằng tiếng Anh.

4.2. Giao diện chính chương trình

Giao diện trang chủ của chương trình

SVTH: Nhóm 09 Hình 7: Giao diện trang chủ
Trang 18

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

➢ Mô tả trang chủ của chương trình: Ở trang chủ này thể hiện lên thơng tin
tên trường Đại học, tên học phần, ngày và giờ cùng với biểu đồ gauge và char
để theo dõi lượng nước (ở group 1). Cịn đối với group 2 các thơng tin như
mực nước (Cm), trạng thái động cơ (ON/OFF), trạng thái đèn led (ON/OFF)

và nút Switch để điều khiển động cơ phụ khi cần thiết.
+ Khi nhấn vào nút Switch: “Click to here” giao diện sẽ hiển thị ra hai dịng
thơng tin là “Trường Đại học Cần Thơ” và “Đo lường và Điều Khiển” xen kẽ
mỗi 2s
+ Khi nhấn vào nút Switch: “Control DC motor” dùng để điều khiển động cơ
phụ.
+ Khi nhấn vào nút Switch: “Control Buzzer” dùng để bật còi báo.
Giao diện trang thành viên nhóm:

Hình 8: Giao diện trang thành viên nhóm

SVTH: Nhóm 09 Trang 19

Đo lường và Điều khiển bằng Máy tính_CT397 Trường Đại học Cần Thơ

➢ Mơ tả trang thành viên nhóm: Trang thành viên nhóm này thể hiện thơng
tin họ và tên các thành viên trong nhóm, MSSV, ngành học, khóa học, phần
trăm đóng góp của các thành viên vào đề tài.
+ Khi nhấn vào nút Switch: “Click to here” giao diện sẽ hiển thị ra hai dòng
thông tin là “Kỹ thuật Cơ điện tử” và “Khóa 46” xen kẽ mỗi 2s
+ Khi nhấn vào nút Button: Click to show name thì giao diện sẽ hiển thị ra tên
của 4 thành viên trong nhóm và MSSV
+ Khi nhấn vào nút Button: “Click to hide name” thì giao diện sẽ ẩn đi tên của
4 thành viên trong nhóm và MSSV
Giao diện trang thông tin đề tài:

Hình 9: Giao diện trang thông tin đề tài

➢ Mô tả trang thông tin đề tài: Đây là trang tóm tắt thơng tin về để tài thực
hiện của nhóm

+ Khi nhấn vào nút Button: “Click to view information” thì một đoạn thơng
tin ngắn về đề tài sẽ được hiện ra cho người xem.
+ Và khi nhấn vào nút Button: “Click to listen” thì một giọng đọc được thiết
lập sẵn sẽ trình bày phần nội dung đề tài bằng tiếng Anh cho người nghe.

SVTH: Nhóm 09 Trang 20


×