Lưu đồ thuật toán

Một phần của tài liệu THIẾT kế hệ THỐNG điều KHIỂN đèn tín HIỆU GIAO THÔNG sử DỤNG CAMERA GIÁM sát QUA WEB SERVER (Trang 47 - 54)

Lưu đồ thuật toán bao gồm:

• Lưu đồ đèn tín hiệu giao thông, trong chương trình đèn tín hiệu giao

Sinh viên thực hiện: Hồ Văn Quốc Người hướng dẫn: ThS. Nguyễn Tấn Hoà 35 Nguyễn Đình Tân Nguyên

• Lưu đồ thuật toán ESP32-CAM trên web server, cảm biến âm thanh trên

web server

Sinh viên thực hiện: Hồ Văn Quốc Người hướng dẫn: ThS. Nguyễn Tấn Hoà 36 Nguyễn Đình Tân Nguyên

Sinh viên thực hiện: Hồ Văn Quốc Người hướng dẫn: ThS. Nguyễn Tấn Hoà 37 Nguyễn Đình Tân Nguyên

Sinh viên thực hiện: Hồ Văn Quốc Người hướng dẫn: ThS. Nguyễn Tấn Hoà 38 Nguyễn Đình Tân Nguyên

Sinh viên thực hiện: Hồ Văn Quốc Người hướng dẫn: ThS. Nguyễn Tấn Hoà 39 Nguyễn Đình Tân Nguyên

❖ Giải thích lưu đồ thuật toán

Giải thích lưu đồ thuật toán đèn giao thông thể hiện ở “hình 3.22”

Bắt đầu. Thực hiện khai báo thời gian hiển thị đèn tín hiệu, thời gian bật tắt chế độ, thời gian bật tắt đền đường. Sau khi khai báo xong ta thực hiện tạo ngắt timer 10ms.Tiếp tục thực hiện việc kiểm tra thời gian trên module thời gian thực để chuyển chế độ của đèn tín hiệu. Nếu đúng thì sẽ thực hiện chế độ ban ngày từ 5h sáng đến 23h đêm, nếu sai sẽ thực hiện chế độ ban đêm từ 23h đêm đến 4h59’ sáng hôm sau. Sau khi kiểm tra thời gian xong Arduino mega sẽ thực hiện gửi các bít đến IC 74HC595 để chạy thời gian hiển thị trên led 7 đoạn (đèn đỏ 28s, đèn xanh 25s, đèn vàng 3s). Tiếp tục thực hiện kiểm tra thời gian để bật đèn đường, nếu đúng thì bật đèn đường, nếu sai thì sẽ tắt đèn đường thời gian hoạt động của đèn đường là từ 18h đến 4h59’ sáng hôm sau. Chương trình lặp đi lặp lại

Chương trình con ngắt timer thể hiện ở “hình 3.23”

- Thời gian 1 giây tăng lên 1 đơn vị => Đang bật chế độ ban đêm + Nếu sai => 1

+ Nếu đúng => kiểm tra thời gian 1 giây bằng 100 lần 10ms

• Nếu sai => 2

• Nếu đúng => Thời gian 1s bằng 0, thời gian tuyến 1 giảm 1s, thời gian

tuyến 2 giảm 1s

- Thời gian bằng – 1

+ Nếu sai => 3

+ Nếu đúng => Chế độ 1 tăng lên 1 đơn vị

- Chế độ 1 bằng 1

+ Nếu đúng => Thời gian tuyến 1 bằng thời gian đèn xanh 1. Bật đèn xanh 1, bật đèn đỏ bộ 1, tắt đèn đỏ 1, tắt đèn vàng 1, tắt đèn xanh 1 => 3.

+ Nếu sai => kiểm tra kế tiếp.

- Chế độ 1 bằng 2

+ Nếu đúng => thời gian tuyến 1 bằng thời gian vàng 1, nhấp nháy bộ 1 bằng 0 => Tắt đèn đỏ 1, tắt đèn xanh 1, bật đèn vàng 1, bật đèn đỏ bộ 1 tắt đèn xanh bộ 1 => 3

+ Nếu sai => kiểm tra kế tiếp.

- Chế độ 1 bằng 3

+ Nếu đúng => chế độ 1 bằng 0, thời gian tuyến 1 bằng thời gian đỏ 1 => Bật đèn đỏ 1, bật đèn xanh bộ 1, tắt đèn xanh 1, tắt đèn vàng 1 tắt đèn đỏ bộ 1 => 3

Sinh viên thực hiện: Hồ Văn Quốc Người hướng dẫn: ThS. Nguyễn Tấn Hoà 40 Nguyễn Đình Tân Nguyên

+ Nếu sai => 3

- 3 => Thời gian 2 bằng -1

+ Nếu sai => Kiểm tra chế độ 1 bằng 0 và thời gian 1 nhỏ hơn 5. + Nếu đúng => chế độ 2 tăng 1 đơn vị. Kiểm tra điều kiện tiếp theo.

- Chế độ 2 bằng 1

+ Nếu đúng => Thời gian tuyến 2 bằng thời gian vàng 2, nhấp nháy bộ 2 bằng 0 => Đỏ 2 tắt, xanh 2 tắt, vàng 2 bật, đỏ bộ 2 bật, xanh bộ 2 tắt => Kiểm tra chế độ 1 bằng 0 và thời gian 1 nhỏ hơn 5.

+ Nếu sai => kiểm tra kế tiếp.

- Chế độ 2 bằng 2

+ Nếu đúng =>Thời gian tuyến 2 bằng thời gian đỏ 2 => Đỏ 2 bật, xanh 2 tắt vàng 2 tắt, đỏ bộ 2 tắt, xanh bộ 2 bật => Kiểm tra chế độ 1 bằng 0 và thời gian 1 nhỏ hơn 5.

+ Nếu sai => Kiểm tra chế độ kế tiếp.

- Chế độ 2 bằng 3

+ Nếu đúng => thời gian tuyến 2 bằng thời gian vàng 2, nhấp nháy bộ 2 bằng 0 => Đỏ 2 tắt, xanh 2 bật vàng 2 tắt, đỏ bộ 2 bật xanh bộ 2 tắt => Kiểm tra chế độ 1 bằng 0 và thời gian 1 nhỏ hơn 5.

+ Nếu sai => Kiểm tra chế độ 1 bằng 0 và thời gian 1 nhỏ hơn 5.

- 2 => Kiểm tra chế độ 1 bằng 0 và thời gian 1 nhỏ hơn 5

+ Nếu đúng => Nhấp nháy bộ 1 tăng 1 đơn vị => Kiểm tra nhấp nháy bộ 1 lớn hơn hoặc bằng 30 lần 10ms

• Nếu đúng => Nhấp nháy bộ 1 bằng 0, đảo trạng thái led xanh bộ 1 =>

Chế độ 2 bằng 2 và thời gian tuyến 2 nhỏ hơn 5

• Nếu sai => quay lại kiểm tra nhấp nháy bộ 1 lớn hơn hoặc bằng 30 lần

10ms

+ Nếu sai => Kiểm tra chế độ 2 bằng 2 và thời gian tuyến 2 nhỏ hơn 5

- Chế độ 2 bằng 2 và thời gian tuyến 2 nhỏ hơn 5

+ Nếu đúng => nhấp nháy bộ 2 tăng 1 đơn vị => kiểm tra nhấp nháy bộ 2 lớn hơn hoặc bằng 30 lần 10 ms

• Nếu đúng => Nhấp nháy bộ 2 bằng 0, đảo trạng thái led xanh bộ 2 =>

Chương tình chính.

• Nếu sai => quay lại kiểm tra nhấp nháy bộ 2 lớn hơn hoặc bằng 30 lần

Sinh viên thực hiện: Hồ Văn Quốc Người hướng dẫn: ThS. Nguyễn Tấn Hoà 41 Nguyễn Đình Tân Nguyên

- 1 => Kiểm tra thời gian sáng lớn hơn hoặc bằng 50

+ Nếu đúng => thời gian 1 bằng 0, đảo trạng thái led vàng 1, đảo trạng thái led vàng 2 => chương trình chính.

+ Nếu sai => chương trình chính.

Giải thích lưu đồ thuật toán cảm biến âm thanh và tiếng ồn thể hiện ở “hình 3.24” Bắt đầu. thực hiện khai báo thư viên cho chương trình bao gồm khai báo wifi, arduino, esp-camare, esp-timer, esp-htttp-sever.h, …Sau khi thực hiện xong việc khai báo thư viện ta tiếp tục thực hiện thiết lập dao diện web server như bố cục, màu sắc, …Trong giao diện web server gồm có hình ảnh camera giám sát được chiếu trực tiếp thông qua internet, cảm biến âm thanh sẽ thu thập dữ liệu và gửi về arduino sau đó arduino thực hiện việc gửi cảnh báo lên web server. Đối với cảm biến âm thanh, nếu cảm biến ở mức cao (=1) thì sẽ hiển thị cảnh báo lên web server với dòng chữ “tiếng ồn vượt ngưỡng cho phép, nếu cảm biến ở mức thấp (=0) thì sẽ hiển thị cảnh báo lên web server với dòng chữ tiếng ồn trong ngưỡng cho phép. Chương trình sẽ lặp đi lặp lại

Một phần của tài liệu THIẾT kế hệ THỐNG điều KHIỂN đèn tín HIỆU GIAO THÔNG sử DỤNG CAMERA GIÁM sát QUA WEB SERVER (Trang 47 - 54)