Lưu đồ giải thuật

Một phần của tài liệu (Đồ án hcmute) thiết kế hệ thống quan trắc nước (Trang 64 - 70)

3.3. THIẾT KẾ PHẦN MỀM

3.3.1. Lưu đồ giải thuật

a.Lưu đồ giải thuật của hệ thống

Với yêu cầu trên, nhóm thiết kế các lưu đồ giải thuật đáp ứng yêu cầu của hệ thống ở bộ xử lý trung tâm nhƣ hình sau:

BẮT ĐẦU

KHỞI TẠO CÁC GIÁ TRỊ BAN ĐẦU (CÁC CHÂN I/O, LCD…)

ĐỌC GIÁ TRỊ CẢM BIẾN

HIỂN THỊ LCD

ĐIỀU KHIỂN ĐỘNG CƠ BƠM

GIAO TIẾP VỚI MẠNG DI DỘNG

GIAO TIẾP VỚI WEB SERVER

KẾT THÚC

Hình 3.10:Lưu đồ giải thuật của bộ xử lý trung tâm Giải thích lưu đồ:

 Đầu tiên là khởi tạo các giá trị ban đầu nhƣ: khai báo thƣ viện, chân I/O, các biến.

 Tiếp đến là vòng lặp gồm:

 Đọc các giá trị cảm biến từ các chân Analog, Digital

 Hiển thị LCD: hiển thị các giá trị cảm biến đo đƣợc, trạng thái động cơ lên màn hình LCD.

 Điều khiển động cơ bơm: dựa vào giá trị đọc đƣợc trên cảm biến siêu âm đo mực nước để điều khiển động cơ.

 Giao tiếp với mạng di động: gửi tin nhắn cảnh báo khi cảm biến vƣợt ngƣỡng, nhận tin nhắn, kiểm tra cú pháp và thực hiện yêu cầu.

 Giao tiếp với webserver: gửi các thông số từ hệ thống lên webserver, đồng thời nhận các giá trị cài đặt ngƣỡng cảnh báo.

b. Lưu đồ giải thuật đọc giá trị cảm biến BẮT ĐẦU

BẬT CHÂN TRIG DELAY 10us TẮT CHÂN TRIG

NẾU CÓ XUNG DỘI VỀ CHÂN ECHO

ĐÚNG

ĐO ĐỘ RỘNG XUNG CAO CHÂN ECHO TÍNH TOÁN KHOẢNG CÁCH

KẾT THÚC

SAI

ĐỌC GIÁ TRỊ pH ĐỌC GIÁ TRỊ NHIỆT ĐỘ

Hình 3.11: Lưu đồ giải thuật đọc giá trị cảm biến

Giải thích lưu đồ:

 Bắt đầu chương trình, ta tiến hành đọc giá trị nhiệt độ và độ pH.

 Sau đó bật chân TRIG, sau đó delay khoảng thời gian là 10us nhằm tạo 1 xung có độ rộng là 10us từ chân phát TRIG, rồi sau đó tắt chân TRIG.

 Nếu có xung dội về chân ECHO thì tiến hành đo độ rộng của xung, tương ứng với khoảng thời gian từ lúc phát đến lúc gặp vật cản và dội về cảm biến.

Tiếp đến tính khoảng cách dựa vào thời gian đo đƣợc.

c. Lưu đồ giải thuật điều khiển động cơ bơm

BẮT ĐẦU

MỰC NƯỚC NHỎ HƠN NGƢỠNG

MỞ ĐỘNG CƠ BƠM TẮT ĐỘNG CƠ BƠM

SAI

ĐÚNG

KẾT THÚC

Hình 3.12: Lưu đồ điều khiển động cơ bơm

Giải thích lưu đồ:

Ta so sánh giá trị mực nước thu được từ cảm biến siêu âm, nếu nhỏ hơn ngƣỡng cài đặt thì mở động cơ bơm, nếu lớn hơn thì tắt động cơ bơm.

d. Lưu đồ giải thuật giao tiếp với mạng di động

BẮT ĐẦU

THÔNG SỐ NHIỆT ĐỘ VƢỢT NGƢỠNG

ĐÚNG GỬI TIN NHẮN CẢNH

BÁO NHIỆT ĐỘ

THÔNG SỐ PH VƢỢT NGƢỠNG

GỬI TIN NHẮN CẢNH BÁO PH

THÔNG SỐ MỰC NƯỚC VƯỢT

NGƢỠNG

GỬI TIN NHẮN CẢNH BÁO MỰC NƯỚC

ĐÚNG

KẾT THÚC SAI

SAI

ĐÚNG

SAI

TIN NHẮN TỚI LÀ DATN

GỬI TIN NHẮN CÁC THÔNG SỐ NHIỆT ĐỘ,

PH, MỰC NƯỚC ĐÚNG SAI

Hình 3.13: Lưu đồ giải thuật giao tiếp với mạng di động Giải thích lưu đồ:

Đầu tiên ta kiểm tra giá trị nhiệt độ đo đƣợc với ngƣỡng, nếu lớn hơn ngƣỡng thì gửi tin nhăn cảnh báo nhiệt độ.

Tiếp đến ta kiểm tra giá trị độ pH với ngƣỡng, nếu lớn hơn ngƣỡng thì gửi tin nhắn cảnh báo pH.

Tiếp theo là kiểm tra giá trị mực nước, nếu lớn hơn ngưỡng thì gửi tin nhắn cảnh báo mực nước.

Cuối cùng nếu có tin nhắn tới có cú pháp là “DATN” thì gửi tin nhắn chứa các giá trị đo đƣợc từ các cảm biến của hệ thống.

e. Lưu đồ giao tiếp với Web Server

BẮT ĐẦU

NHẬN DỮ LIỆU GIỚI HẠN TỪ WEB SERVER

KIỂM TRA TỪNG KÍ TỰ TRONG CHUỖI CÓ PHẢI LÀ

DẤU “?” KHÔNG

TẠO MẢNG CHỨA CÁC VỊ TRÍ DẤU “?”

CẮT MẢNG TỪ CHUỖI DỮ LIỆU DỰA VÀO VỊ

TRÍ DẤU “?”

ĐÚNG

SAI

KẾT THÚC CÀI GIÁ TRỊ GIỚI HẠN

CHO CẢM BIẾN GỬI DỮ LIỆU CẢM BIẾN

LÊN WEB SERVER

Hình 3.14: Lưu đồ giải thuật giao tiếp với Web Server Giải thích lưu đồ:

Bắt đầu chương trình, ta gửi các giá trị cảm biến đo được lên Web Server.

Sau đó đọc dữ liệu nhận đƣợc từ Web Server gửi về.

Tiến hành cắt chuỗi xử lý dữ liệu nhận đƣợc dựa vào ký tự “?” và cài làm giới hạn cho các cảm biến.

f. Lưu đồ của Raspberry Pi

Với các yêu cầu của hệ thống, nhóm thiết kế lưu đồ cho Raspberry Pi như hình sau:

Bắt Đầu

Khởi tạo cổng giao tiếp RS232, giới hạn

cảm biến ban đầu

Kết nối cơ sở dữ liệu

Đọc dữ liệu nhận đƣợc

Dữ liệu nhận đƣợc khác rỗng

Xử lý và đƣa lên cơ sở dữ

liệu

Đọc giá trị giới hạn khác với giá trị ban

đầu

Gửi dữ liệu cho Arduino Đúng Sai

KẾT THÚC Nếu nhấn Ctrl C

Đúng

Sai

Hình 3.15: Lưu đồ chương trình chính ở Raspberry Pi

Giải thích lưu đồ:

Bắt đầu chương trình, ta khởi tạo cổng RS232, các giá trị giới hạn ban đầu.

Sau đó kết nối với cơ sở dữ liệu.

Đọc chuỗi dữ liệu cảm biến nhận đƣợc ở chân RX. Nếu dữ liệu nhận đƣợc khác rỗng, tiến hành cắt chuỗi, gửi lên Web Server.

Sau đó đọc các giá trị giới hạn của cảm biến. Kiểm tra nếu giá trị giới hạn khác với giá trị cài cũ thì gửi qua Arduino.

Một phần của tài liệu (Đồ án hcmute) thiết kế hệ thống quan trắc nước (Trang 64 - 70)

Tải bản đầy đủ (PDF)

(84 trang)