Đồ án Ứng dụng xử lý ảnh điều khiển đèn giao thống tại nút giao thông

BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ------------------o0o------------------ ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG XỬ LÝ ẢNH ĐIỀU KHIỂN ĐÈN GIAO THỐNG TẠI NÚT GIAO THÔNG GVHD: ThS. Võ Đức Dũng SVTH: Nguyễn Hoàn Hảo 15141148 Huỳnh Ngọc Giang 15141140 Tp. Hồ Chí Minh - 12/2019 BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ

pdf110 trang | Chia sẻ: huong20 | Ngày: 13/01/2022 | Lượt xem: 286 | Lượt tải: 0download
Tóm tắt tài liệu Đồ án Ứng dụng xử lý ảnh điều khiển đèn giao thống tại nút giao thông, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Ồ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ------------------o0o------------------ ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT ĐIỆN TỬ TRUYỀN THÔNG ĐỀ TÀI: ỨNG DỤNG XỬ LÝ ẢNH ĐIỀU KHIỂN ĐÈN GIAO THỐNG TẠI NÚT GIAO THÔNG GVHD: ThS. Võ Đức Dũng SVTH: Nguyễn Hoàn Hảo MSSV: 15141148 SVTH: Huỳnh Ngọc Giang MSSV: 15141140 Tp. Hồ Chí Minh - 12/2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Nguyễn Hoàn Hảo MSSV: 15141148 Huỳnh Ngọc Giang MSSV: 15141140 Chuyên ngành: Kỹ thuật Điện Tử Truyền Thông Mã ngành: 01 Hệ đào tạo: Đại học chính quy Mã hệ: 01 Khóa: 2015 Lớp: 15141DT1A 15141DT2B I. TÊN ĐỀ TÀI: ỨNG DỤNG XỬ LÝ ẢNH ĐIỀU KHIỂN ĐÈN GIAO THÔNG TẠI NÚT GIAO THÔNG II. NHIỆM VỤ 1. Các số liệu ban đầu: - Matlab phiên bản R2017a. - Vi điều khiển Arduino Mega 2560. - 4 video đầu vào. 2. Nội dung thực hiện: Xây dựng hệ thống đèn giao thông tự động dựa trên việc đếm đối tượng qua hình ảnh. Đầu vào là từ video chứa các đối tượng là phương tiện giao thông nói chung. Kết quả đếm được sẽ được gửi xuống vi điều khiển là Arduino Mega 2560 để điều khiển 4 cột đèn giao thông mô hình. Nhóm chúng em sẽ thực hiện các nội dung như sau:  Nội dung 1: Tìm hiểu và nghiên cứu về phần mềm matlab, kit Arduino Mega 2560, cách kết nối Arduino với matlab, xây dựng thư viện cho Arduino.  Nội dung 2: Tìm hiểu các thuật toán phát hiện vật thể, phương tiện giao thông.  Nội dung 3: Tìm hiểu, nghiên cứu, xây dựng quá trình xử lý ảnh đầu vào.  Nội dung 4: Thiết kế, xây dựng hệ thống đếm phương tiện qua ảnh, lập trình giao diện sử dụng để thu thập dữ liệu và gửi dữ liệu xuống kit Arduino.  Nội dung 5: Thiết kế mô hình thành phẩm.  Nội dung 6: Đánh giá kết quả thực hiện. III. NGÀY GIAO NHIỆM VỤ: 06/09/2019 IV. NGÀY HOÀN THÀNH NHIỆM VỤ: 25/12/2019 V. HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS. Võ Đức Dũng. CÁN BỘ HƯỚNG DẪN BM. ĐIỆN TỬ CÔNG NGHIỆP – Y SINH i TRƯỜNG ĐẠI HỌC SPKT TPHCM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH Tp. Hồ Chí Minh, ngày 18 tháng 12 năm 2019 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Nguyễn Hoàn Hảo Lớp: 15141DT2B MSSV: 15141148 Họ tên sinh viên 2: Huỳnh Ngọc Giang Lớp: 15141DT1A MSSV: 15141140 Tên đề tài: ỨNG DỤNG XỬ LÍ ẢNH ĐIỀU KHIỂN ĐÈN GIAO THÔNG TẠI NÚT GIAO THÔNG. Xác nhận Tuần/ngày Nội dung GVHD 1 Nhận đề tài, tìm hiểu đề tài. (26/8 – 08/9) 2 Tìm hiểu hoạt động arduino và matlab. (11/9 – 17/9) 3-4-5 Tìm hiểu các hàm cơ bản sử dụng (18/9 – 7/10) Tìm hiểu các thuật toán xử lý ảnh đầu vào. Lựa chọn linh kiện. 5-6-7 Xây dựng cách giao tiếp giữa vi điều khiển và led (7/10 – 21/10) 7 đoạn đôi, led đơn. Viết lưu đồ chương trình. 8-9-10 Tiến hành viết chương trình . (21/10 – 10/11) Xây dựng mô hình. 11-12-13 Kiểm tra, viết báo cáo,kiểm tra phần cứng. (11/11 – 2/12) 15 Làm slide trình chiếu (3/12 – 18/12) 16 Hoàn thành nhiệm vụ đồ án 19/10/2019 GV HƯỚNG DẪN (Ký và ghi rõ họ và tên) ii LỜI CAM ĐOAN Đồ án tốt nghiệp đây là công trình tự thực hiện và nghiên cứu của nhóm chúng em dưới sự hướng dẫn của Thạc sĩ Võ Đức Dũng. Các số liệu và kết quả trong đồ án “ỨNG DỤNG XỬ LÝ ẢNH ĐIỀU KHIỂN ĐÈN GIAO THÔNG TẠI NÚT GIAO THÔNG” là trung thực và không sao chép từ công trình nào khác. Nhóm chúng em sẽ chịu trách nhiệm về lời cam đoan của mình. Người thực hiện đề tài. Nguyễn Hoàn Hảo - Huỳnh Ngọc Giang iii LỜI CẢM ƠN Trong thời gian làm đồ án tốt nghiệp, em đã nhận được nhiều sự giúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè. Em xin gửi lời cảm ơn chân thành đến Th.s Võ Đức Dũng, giảng viên trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, người đã tận tình hướng dẫn, chỉ bảo cho chúng em trong suốt quá trình làm khoá luận. Em cũng xin chân thành cảm ơn các thầy cô giáo trong trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh, các thầy cô trong Bộ môn Điện Tử Công Nghiệp nói riêng đã dạy dỗ cho em kiến thức về các môn đại cương cũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trình học tập. Cuối cùng, em xin chân thành cảm ơn gia đình và bạn bè, đã luôn tạo điều kiện, quan tâm, giúp đỡ, động viên em trong suốt quá trình học tập và hoàn thành đồ án tốt nghiệp. Xin chân thành cảm ơn! Người thực hiện đề tài. Nguyễn Hoàn Hảo - Huỳnh Ngọc Giang iv MỤC LỤC NHIỆM VỤ ĐỒ ÁN....................................................................................................i LỊCH TRÌNH THỰC HIỆN.....................................................................................ii LỜI CAM ĐOAN.....................................................................................................iii LỜI CẢM ƠN...........................................................................................................iv MỤC LỤC..................................................................................................................v LIỆT KÊ HÌNH ẢNH............................................................................................viii LIỆT KÊ BẢNG VẼ...............................................................................................xiv TÓM TẮT................................................................................................................xv CHƯƠNG 1. TỔNG QUAN.............................................................................1 1.1 ĐẶT VẤN ĐỀ...................................................................................................1 1.2 MỤC TIÊU ĐỀ TÀI...........................................................................................2 1.3 NỘI DUNG NGHIÊN CỨU..............................................................................3 1.4 GIỚI HẠN ĐỀ TÀI............................................................................................3 1.5 BỐ CỤC.............................................................................................................3 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT.................................................................5 2.1 GIỚI THIỆU XỬ LÝ ẢNH...............................................................................5 2.1.1 Quá trình thu nhận ảnh...............................................................................6 2.1.2 Quá trình tiền xử lý ảnh .............................................................................6 2.1.3 Quá trình phân đoạn ảnh.............................................................................6 2.1.4 Biểu diễn và mô tả......................................................................................7 2.1.5 Nhận dạng và nội suy ảnh...........................................................................7 2.1.6 Cơ sở tri thức..............................................................................................8 2.2 CÁC PHƯƠNG PHÁP XỬ LÝ CƠ BẢN VỚI MỘT SỐ ẢNH ĐỐI TƯỢNG ĐẦU VÀO..............................................................................................................8 2.2.1 Chuyển đổi ảnh màu sang ảnh màu xám.....................................................8 2.2.2 Nhị phân hóa ảnh......................................................................................10 2.2.3 Các phương pháp lọc nhiễu ảnh nhằm cải thiện ảnh.................................10 2.2.4 Làm trơn nhiễu bằng lọc tuyến tính..........................................................11 2.2.5 Lọc trung bình không gian........................................................................11 2.2.6 Lọc thông thấp..........................................................................................12 v 2.3 GIỚI THIỆU VỀ MATLAB............................................................................14 2.4 CÁC HÀM CƠ BẢN ĐƯỢC SỬ DỤNG.......................................................15 2.4.1 Hàm imread()............................................................................................15 2.4.2 Hàm imshow() và imagesc().....................................................................15 2.4.3 Hàm rgb2gray()........................................................................................16 2.4.4 Hàm imadjust().........................................................................................17 2.4.5 Hàm tự tính ngưỡng để chuyển sang ảnh nhị phân graythresh(), và hàm chuyển đổi ảnh nhị phân imbinarize().............................................................18 2.4.6 Hàm imdilate()..........................................................................................18 2.4.7 Hàm imerode()..........................................................................................20 2.4.8 Hàm bwareaopen()...................................................................................21 2.4.9 Hàm bwlable.............................................................................................21 2.5 GIỚI THIỆU LỊCH SỬ HÌNH THÀNH ARDUINO......................................21 2.6 GIỚI THIỆU ARDUINO MEGA 2560...........................................................23 2.7 KẾT NỐI GIỮA MATLAB VÀ ARDUINO...........................................25 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ..................................................27 3.1 GIỚI THIỆU....................................................................................................27 3.2 TÍNH TOÁN VÀ THIẾT KẾ HỆ THỐNG......................................................27 3.2.1 Thiết kế sơ đồ khối hệ thống.....................................................................27 3.2.2 Thiết kế các khối hệ thống................................................................................28 3.2.3 Thiết kế mô hình ngã tư............................................................................35 3.2.4 Sơ đồ nguyên lý của toàn mạch.................................................................35 CHƯƠNG 4. THI CÔNG HỆ THỐNG ......................................................38 4.1 THI CÔNG HỆ THỐNG.................................................................................38 4.1.1 Thi công bo mạch dạng bus.......................................................................38 4.1.2 Thi công cột đèn tín hiệu giao thông.........................................................40 4.1.3 Lắp ráp và kiểm tra...................................................................................42 4.1.4 Thiết kế giao diện cho người điều khiển...................................................43 4.2 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH.....................................................................44 4.3 LẬP TRÌNH HỆ THỐNG................................................................................45 4.3.1 Lập trình trên phần mềm matlab.................................................................45 4.3.1.1 Sơ đồ khối đếm số lượng phương tiện...............................................45 4.3.1.2 Lưu đồ chi tiết xử lí ảnh đầu vào........................................................45 vi 4.3.2 Lưu đồ tổng quát trên arduino.....................................................................47 4.4 GIỚI THIỆU VỀ PHẦN MỀM LẬP TRÌNH....................................................49 4.4.1 Giới thiệu về matlab GUI..........................................................................49 4.4.2 Cách sử dụng matlabGUI..........................................................................49 4.4.3 Giới thiệu về arduino IDE.......................................................................52 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC.54 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ ..................................56 5.1 KẾT QUẢ........................................................................................................56 5.2 NHẬN XÉT - ĐÁNH GIÁ..............................................................................71 CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN.............................72 6.1 KẾT LUẬN.....................................................................................................72 6.2 HƯỚNG PHÁT TRIỂN...................................................................................72 TÀI LIỆU THAM KHẢO PHỤ LỤC vi LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1. Sơ đồ quá trình xử lý ảnh........................................................................6 Hình 2.2 Chuyển ảnh màu thành ảnh xám...............................................................9 Hình 2.3 Lược đồ xám.............................................................................................9 Hình 2.4 Ảnh xám và ảnh nhị phân.........................................................................10 Hình 2.5 Hiển thị ảnh bằng hàm imshow()..............................................................16 Hình 2.6 Hiển thị ảnh bằng hàm imagesc().............................................................16 Hình 2.7 Chuyển đổi ảnh màu thành ảnh xám.........................................................17 Hình 2.8 Tăng cường độ tương phản của anh bằng hàm imadjust()........................18 Hình 2.9 Chuyển đổi ảnh xám sang ảnh nhị phân...................................................18 Hình 2.10 Ảnh đầu vào hàm imdilate()...................................................................19 Hình 2.11 Ảnh đầu ra hàm imdilate()......................................................................19 Hình 2.12 Ảnh đầu vào hàm imerode()...................................................................20 Hình 2.13 Ảnh đầu ra hàm imerode()......................................................................20 Hình 2.14 So sánh ảnh gốc và ảnh sau khi xử lý bằng hàm bwareaopen().............21 Hình 2.15 Máy in 3D Materia 101..........................................................................22 Hình 2.16 Xe điều khiển từ xa.................................................................................23 Hình 2.17 Board Arduino Mega 2560.....................................................................23 Hình 2.18 Sơ đồ và chức năng chân Arduino Mega 2560.......................................24 Hình 2.19 Giao tiếp giữa máy tính và arduino thông qua chuẩn UART.................25 Hình 2.20 Giao tiếp 2 hệ thống dùng chuẩn UART................................................26 Hình 2.21 Nguyên lý hoạt động chuẩn UART........................................................26 Hình 3.1 Sơ đồ khối hệ thống..................................................................................27 Hình 3.2 Sơ đồ chân, sơ đồ nguyên lý Led 7 đoạn 2 digit anode chung.................30 Hình 3.3 Led 7 đoạn 2 digit thực tế.........................................................................31 Hình 3.4 Led đơn màu xanh, đỏ, vàng thực tế.........................................................32 Hình 3.5 Sơ đồ kết nối Led đơn với điện trở...........................................................32 Hình 3.6 Sơ đồ kết nối Led 7 đoạn với điện trở......................................................33 Hình 3.7 IC ổn áp AMS1117...................................................................................34 Hình 3.8 Mặt trên của mô hình sau khi thiết kế.......................................................35 Hình 3.9 Mặt dưới của mô hình sau khi thiết kế.....................................................35 Hình 3.10 Sơ đồ nguyên lý toàn mạch....................................................................37 viii Hình 4.1 Testboard cắm hàn sử dụng trong mô hình...............................................39 Hình 4.2. Mặt trước của chân cắm..........................................................................39 Hình 4.3 Mặt sau của chân cắm...............................................................................39 Hình 4.4 Hình ảnh co chữ T và ống trắng sử dụng..................................................40 Hình 4.5 Mặt trước, sau của đế cắm đèn đếm thời gian..........................................40 Hình 4.6 Mặt trước của đế cắm đèn tín hiệu...........................................................41 Hình 4.7 Cột tín hiệu khi được ráp hoàn thiện........................................................41 Hình 4.8 Hình ảnh thực tế sau khi thi công.............................................................42 Hình 4.9 Giao diện điều khiển chính.......................................................................43 Hình 4.10 Mô hình sau khi thi công........................................................................44 Hình 4.11 Sơ đồ khối tổng quát chính của hệ thống đếm đối tượng trên matlab....45 Hình 4.12 Lưu đồ xử lí ảnh đầu vào........................................................................46 Hình 4.13 Lưu đồ chương trình điều khiển ứng dụng trên Arduino........................48 Hình 4.14 Cửa sổ lựa chọn giao diện GUI..............................................................49 Hình 4.15 Cửa sổ lựa chọn tool cho giao diện GUI................................................50 Hình 4.16 Giao diện matlabGUI với đuôi .fig.........................................................51 Hình 4.17 Giao diện matlabGUI với đuôi .m..........................................................52 Hình 4.19 Giao diện lập trình arduino .53 Hình 4.20 Giao diện arduino IDE menu..54 Hình 4.21 Bước 2: Khởi động matlab..54 Hình 4.22 Bước 3,4 Chạy giao diện và chọn chế độ ...55 Hình 5.1. Mô hình khi hoàn thiện và cho chạy thử với 2 cột chính.........................56 Hình 5.2. Giao diện điều khiển chính......................................................................57 Hình 5.3. Giao diện lựa chọn mật độ phương tiện để quan sát................................58 Hình 5.4. Kết quả quan sát trên giao diện làn 1 khi lượng xe bình thường.............59 Hình 5.5. Kết quả hiển thị trên mô hình ở làn 1 với chế độ bình thường................59 Hình 5.6. Kết quả hiển thị trên mô hình ở làn 2 song song với kết quả trên...........60 Hình 5.7. Kết quả quan sát trên giao diện làn 2 sau khi chuyển làn với lượng xe bình thường.....................................................................................................................60 Hình 5.8. Kết quả quan sát trên mô hình ở làn 2 khi lượng xe bình thường............61 Hình 5.9. Kết quả quan sát trên mô hình ở làn 1 song song với kết quả trên (bình thường)....................................................................................................................61 Hình 5.10. Kết quả quan sát trên giao diện làn 1 khi đông xe.................................63 ix Hình 5.11. Kết quả quan sát trên mô hình ở làn 1 khi đông xe...............................63 Hình 5.12. Kết quả quan sát trên mô hình ở làn 2 song song với kết quả trên (đông) .................................................................................................................................64 Hình 5.13. Kết quả quan sát trên giao diện làn 2 sau khi chuyển làn ở chế độ đông xe .................................................................................................................................64 Hình 5.14. Kết quả quan sát trên mô hình ở làn 2 sau khi chuyển làn đông xe.......65 Hình 5.15. Kết quả quan sát trên mô hình khi làn 1 song song với kết quả trên (đông) .................................................................................................................................65 Hình 5.16. Kết quả trên giao diện ở chế độ điều khiển bằng tay.............................67 Hình 5.17. Kết quả hiển thị trên mô hình khi điều khiển bằng tay ở làn 1 . 68 Hình 5.18. Kết quả hiển thị trên mô hình ở làn 2 song song với kết quả trên ( bằng tay)68 Hình 5.19. Kết quả hiển thị trên mô hình ở làn 2 khi điều khiển bằng tay . 69 Hình 5.20. Kết quả hiển thị trên mô hình ở làn 1 song song với kết quả trên .69 Hình 5.21. Nhập dữ liệu dạng kí tự không phải số ..70 Hình 5.22. Hệ thống báo lỗi yêu cầu nhập dữ liệu có dạng số 70 ix LIỆT KÊ BẢNG Bảng Trang Bảng 3.1 Thông số kỹ thuật LED 7 đoạn 2 digit.......................................................31 Bảng 3.2 Mã hiển thị từ 0 – 9 loại anode chung........................................................31 Bảng 3.3 Thông số kỹ thuật LED đơn.......................................................................32 Bảng 3.4 Số giây đèn xanh ứng với số xe đếm được. 33 Bảng 3.5 Liệt kê điện áp và dòng các linh kiện sử dụng trong mạch.34 Bảng 4.1 Danh sách các linh kiện..............................................................................38 Bảng 5.1 Kết quả đếm xe làn 1 khi lượng xe bình thường........................................62 Bảng 5.2 Kết quả đếm xe làn 2 khi lượng xe bình thường........................................62 Bảng 5.3 Kết quả đếm xe làn 1 khi đông xe..............................................................66 Bảng 5.4 Kết quả đếm xe làn 2 khi đông xe..............................................................66 xii TÓM TẮT Sự phát triển của một quốc gia tuỳ thuộc vào tốc độ phát triển trên nhiều lĩnh vực như kinh tế, văn hoá, giáo dục, tài nguyên, vị trí địa lí, và không thể không nói đến vấn đề về giao thông. Đối với nước ta nhu cầu đi lại và vận chuyển những năm gần đây tăng lên không ngừng do sự phát triển nhanh chóng của nền kinh tế và số lượng người dân đông đúc ồ ạt đổ về những thành phố lớn. Và thế lại là bài toán tắc nghẽn ùn tắc giao thông được nêu ra nhưng lại chưa có câu trả lời. Ùn tắc giao thông là nguyên nhân gây thiệt hại cho sự phát triển kinh tế ở quốc gia ta nói riêng và toàn thế giới nói chung, hiệu suất lao động suy giảm và tăng các chi phí không cần thiết, đặc biệt hơn nữa là gây ô nhiễm môi trường trầm trọng, hiện tượng nóng lên toàn cầu cũng được xướng lên. Nguyên nhân chính của vấn đề này một phần là do cơ sở hạ tầng chưa đáp ứng được nhu cầu lưu thông hiện nay, xe máy, ô tô ngày càng nhiều, không thể không nói đến những cột đèn giao thông được phân chia thời gian đèn tín hiệu chưa hợp lý ở những giao lộ, tuyến đường lớn khiến cho số lượng phương tiện giao thông bị ùn tắc dần rồi dẫn đến tắc nghẽn giao thông. Cũng vì lí do nói trên, nhóm chúng em quyết tâm xây dựng một hệ thống điều tiết giao thông một cách tự động, hệ thống phân tích dữ liệu hình ảnh trên camera để cho ra thời gian phù hợp trên từng tuyến đường. Nhóm chúng em quyết tâm thực hiện đề tài: “ỨNG DỤNG XỬ LÝ ẢNH ĐIỀU KHIỂN ĐÈN GIAO THÔNG TẠI NÚT GIAO THÔNG” nhằm mục tiêu xây dựng một hệ thống đèn tín hiệu được điều khiển thông qua máy tính một cách tự động. Chu kì đèn tín hiệu sẽ thay đổi theo lưu lượng phương tiện trên đường. Hệ thống này được kì vọng phòng ngừa và giải quyết được phần nào vấn nạn kẹt xe đang gây đau đầu cho toàn thế giới. Người thực hiện đề tài. Nguyễn Hoàn Hảo - Huỳnh Ngọc Giang xii CHƯƠNG 1. TỔNG QUAN Chương 1. TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Trong những năm gần đây, xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là ngành khoa học mới mẽ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh chóng với rất nhiều ứng dụng trên nhiều lĩnh vực khác nhau. Có thể nói rằng ứng dụng của xử lý ảnh có mặt hầu hết rất nhiều công nghệ, góp phần không nhỏ trong thời đại công nghệ 4.0 ngày nay [1]. Ngày nay với sự phát triển vượt trội của nền kinh tế kéo theo đó là việc ùn tắc giao thông là điều không thể tránh khỏi. Có thể nói đây là vấn đề bức xúc của xã hội , điển hình là các đô thị lớn như TP HCM, Hà Nội. Chống ùn tắc giao thông đang và sẽ là một nhiệm vụ cực kỳ cấp bách và quan trọng của ngành giao thông vận tải. Thiệt hại kinh tế, xã hội của việc ùn tắc giao thông là vô cùng to lớn, có lẽ không ai có thể lượng hoá bằng các con số cụ thể (ước tính thiệt hại năm 2007 tại thành phố Hồ Chí Minh vào khoảng 14.000 tỷ đồng). Ùn tắc giao thông đã tác động đến mọi mặt của đời sống xã hội (kinh tế, giao thông, giáo dục) và tất cả mọi người, từ những người có mặt trực tiếp trong vùng ảnh hưởng, đến các đối tượng gián tiếp khác (không phân biệt không gian và thời gian). Trong thời đại “toàn cầu hoá”, ùn tắc giao thông tại thành phố Hồ Chí Minh có thể sẽ ảnh hưởng đến hoạt động sản xuất kinh doanh của nhiều công ty tại Hoa Kỳ, Nhật, Anh, Úc, Achentina trong nhiều ngày, nhiều tháng và nhiều năm [2]. Để ứng phó với những vấn đề nan giải như trên, trên thế giới và ngay ở đất nước ta đã đưa ra những biện pháp như là quy định thời gian được phép lưu thông của các loại phương tiện, nâng cấp lực lượng và cắt cử trực tiếp người ra phân luồng giao thông, nâng cấp cơ sở vật chất ... Cho dù thế thì những biện pháp nói trên vẫn mang tính chất nhất thời và chưa thể giải quyết triệt để vấn đề kẹt xe xảy ra phổ biến. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 1 CHƯƠNG 1. TỔNG QUAN Ngày nay, trên thế giới đã thực hiện lắp camera trên những tuyến đường trọng yếu, xây dựng những hệ thống phân luồng giao thông tự động hay là bộ điều khiển đèn tín hiệu giao thống tự thay đổi theo những thời điểm trong ngày. Ở những thành phố lớn như TPHCM hay Hà Nội đã lắp đặt trên dưới hang ngàn camera kết nối với hệ thống máy tính hiện đại trong những trung tâm điều khiển giao thông, tuy nhiên các hệ thống này có giá thành rất cao, ví dụ một hệ thống đèn giao thông thông minh thương mại sử dụng camera giám sát cùng máy tính công nghiệp có giá đến hàng tỉ đồng [3-4]. Từ những số liệu nói trên, liệu rằng một giải pháp hợp lý dựa vào việc xử lý ảnh mà có thể ghi lại hình ảnh phương tiện qua lại trên đường. Bên cạnh đó là việc canh chỉnh số đèn xanh vàng đỏ sao cho hợp lý với số lượng xe ở giao lộ, việc này cũng giúp làm giảm đi phần nào vấn nạn ùn tắc giao thông hiện nay . Một hệ thống dùng 2 camera để quan sát trên 2 tuyến đường của 1 giao lộ hoặc ngã tư, tuyến đường nào nhiều xe hơn thì số giây đèn xanh dài hơn và ngược lại. Cũng vì điều đó, nhóm em dưới sự hướng dẫn của Thạc Sĩ Võ Đức Dũng đã thực hiện đồ án với đề tài: “Ứng dụng xử lí ảnh điều khiển đèn giao thông tại nút giao thông”. Với hi vọng có thể góp phần vào công cuộc xây dựng nên một phương án điều tiết giao thông hợp lý, cải thiện tình trạng ùn tắc hiện nay, giúp lưu thông thoải mái hơn được phần nào. 1.2 MỤC TIÊU ĐỀ TÀI  Tìm hiểu được về quy tắc phân luồng giao thông, đặt thời gian đèn tín hiệu tại các giao lộ.  Viết được chương trình giao tiếp giữa máy tính dưới dạng giao diện matlab và arduino mega 2560.  Xây dựng một hệ thống có thể đếm được các đối tượng là các phương tiện lưu thông trên đường của một ngã tư bằng cách đọc hình ảnh đầu vào được chụp từ một đoạn trích xuất video, thông qua quá trình xử lý ảnh sẽ cho ra kết quả gồm số phương tiện, thông tin làn đường và số giây đèn xanh phù hợp. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 2 CHƯƠNG 1. TỔNG QUAN 1.3 NỘI DUNG NGHIÊN CỨU Đề tài: “Ứng dụng xử lí ảnh điều khiển đèn giao thông tại nút giao thông” đáp ứng những nội dung như sau:  NỘI DUNG 1: Tìm hiểu về phần mềm matlab.  NỘI DUNG 2: Tìm hiểu về kit arduino mega 2560.  NỘI DUNG 3: Cài đặt matlab, tìm hiểu phương thức kết nối giữa matlab và Arduino  NỘI DUNG 4: Tìm hiểu các thuật toán phát hiện phương tiện giao thông, nguyên lý hoạt động của đèn giao thông ở ngoài thực tế.  NỘI DUNG 5: Xây dựng hệ thống đếm phương tiện trong ảnh, lập trình giao diện sử dụng để mô phỏng thực tế.  NỘI DUNG 6: Xây dựng quá trình xử lý ảnh đầu vào.  NỘI DUNG 7: Xây dựng chương trình điều khiển điều tín hiệu đèn giao thông trên kit arduino mega 2560.  NỘI DUNG 8: Đánh giá kết quả thực hiện. 1.4 GIỚI HẠN ĐỀ TÀI  Sử dụng vi điều khiển arduino mega 2560 để điều khiển.  Dùng giao diện matlab GUI để tương tác với người sử dụng.  Đếm số lượng phương tiện dựa trên ngõ vào là video lấy từ smartphone mô phỏng camera giám sát trên đường phố.  Hệ thống có thể phát hiện và truy xuất số lượng xe, thông tin làn đường và thời gian cho phép thích hợp.  Chi tiết một mô hình ngã tư đầy đủ 4 cột đèn tín hiệu. 1.5 BỐ CỤC.  Chương 1: Tổng quan  Chương 2: Cơ sở lý thuyết  Chương 3: Tính toán và thiết kế  Chương 4: Thi công hệ thống  Chương 5: Kết quả, nhận xét và đánh giá BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 3 CHƯƠNG 1. TỔNG QUAN  Chương 6: Kết luận và hướng phát triển. Chương 1: Tổng quan đề tài. Chương này trình bày vấn đề dẫn nhập lý do chọn đề tài, mục tiêu, nội dung nghiên cứu, các giới hạn thông số và bố cục đồ án. Chương 2: Cơ sở lý thuyết. Giới thiệu về phần Matlab, giới thiệu về Arduino, giới thiệu về xử lý ảnh Giới thiệu về kit Arduino, Module led 7 đoạn đôi. Giới thiệu về thuật toán phát hiện và đếm số lượng phương tiện. Chương 3: Thiết kế và tính toán. Phân tích, xây dựng sơ đồ khối, sơ đồ phần cứng, thiết kế chương trình cho hệ thống đếm phương tiện qua hình ảnh được viết trên phần mềm matlab. Thiết kế giao diện mô phỏng quá trình thực hiện việc lấy ảnh và gửi dữ liệu qua arduino. Thiết kế chương trình nhận dữ liệu và điều khiển hệ thống đèn giao thông trên arduino. Chương 4: Thi công hệ thống. Thiết kế hệ thống, lưu đồ, đưa ra giải thuật và chương trình. Chương 5: Kết quả, nhận xét và đánh giá. Nêu các kết quả đạt được khi thực hiện chương trình, phân tích, nhận xét, đánh giá kết quả thực thi được, những hình ảnh của hệ thống, đưa ra những thông số đánh giá về hệ thống. Chương 6: Kết luận và hướng phát triển. Tóm tắt những kết quả đạt được, những hạn chế và nêu lên các hướng phát triển trong tương lai cho hệ thống. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 4 CHƯƠNG 2. CƠ SỞ LÝ THUYẾT Chương 2. CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ XỬ LÝ ẢNH. Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thí...u vào một điểm, được đưa chân ra ngoài để kết nối với mạch điện. 8 cực còn lại trên mỗi Led đơn được đưa thành 8 chân riêng, cũng được đưa ra ngoài để kết nối với mạch điện. Nếu Led 7 đoạn có Anode(cực +) chung, đầu chung này được nối với +Vcc, các chân còn lại dùng để điều khiển trạng thái sáng tắt của các Led đơn, Led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 0. Nếu Led 7 đoạn có Cathode(cực -) chung, đầu chung này được nối xuống Ground (hay Mass), các chân còn lại dùng để điều khiển trạng thái sáng tắt của các Led đơn, Led chỉ sáng khi tín hiệu đặt vào các chân này ở mức 1. Chúng em sử dụng loại Led 7 đoạn đôi Anode chung, màu đỏ, 0.56 inch. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 29 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Hình 3.2 Sơ đồ chân, sơ đồ nguyên lý Led 7 đoạn 2 digit anode chung. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 30 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ  Thông số kỹ thuật : Số chân 10 chân Dòng tối đa chạy qua mỗi LED 0.25mA Dòng chạy bình thường 0.1mA Điện áp rơi trên LED 2.2V Bảng 3.1 Thông số kỹ thuật LED 7 đoạn 2 digit Vì Led 7 đoạn chứa bên trong nó các Led đơn, do đó khi kết nối cần đảm bảo dòng qua mỗi Led đơn trong khoảng 10mA-20mA để bảo vệ Led. Nếu kết nối với nguồn 5V có thể hạn dòng bằng điện trở 330Ω trước các chân nhận tín hiệu điều khiển. Hình 3.3 Led 7 đoạn 2 digit thực tế. Bảng 3.2: Mã hiển thị từ 0 – 9 loại anode chung. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 31 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Thứ tự hiển thị các số đươc điều khiển bởi chân số 7 và chân số 8. Hai chân này có thể khác nhau tùy vào nhà sản xuất. Chân 8 ánh xạ đến chữ sô 1 và chân 7 ánh xạ đến chữ số 2. Để hiện thị đèn báo ta sử dụng 3 Led đơn với 3 màu xanh, đỏ, vàng ở mỗi trục đường. Hình 3.4 Led đơn màu xanh, đỏ, vàng thực tế.  Thông số kỹ thuật của LED đơn: Điện áp hoạt động 1.5 – 2.5V Dòng hoạt động 10mA Điện áp cung cấp 5V Dòng tối đa qua led 25mA Bảng 3.3 Thông số kỹ thuật LED đơn Để cho Led sáng, ta cần cấp dòng ILED chọn cấp dòng ILED khoảng 10mA và điện áp VLED là 1,7V phù hợp với điều kiện của mỗi Led ở trên. Hình 3.5 Sơ đồ kết nối Led đơn với điện trở. Như vậy ta phải mắc thêm điện trở có giá trị là: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 32 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ V CC−V LED 5−1,7 RLED= = −3 ≈ 330Ω I LED 10 ×10 Hình 3.6 Sơ đồ kết nối Led 7 đoạnvới điện trở. V CC−V LED 5−2.2 R= = −3=280Ω Chọn R= 330. I LED 10×10 Bảng quy định thời gian đèn mỗi chu kì tương ứng với số lượng đếm được (áp dụng phù hợp với mô hình): Số lượng xe Thời gian đèn Thời gian Thời gian Chế độ đèn đỏ thường xanh đèn vàng dùng Ít hơn 2 xe 25s 3s 28s Bình thường 2 < Số xe <=4 27s 3s 30s Bình thường 4 < Số xe <=7 29s 3s 32s Bình thường 7 < Số xe <=10 35s 3s 38s Bình thường 10< Số xe<=13 40s 3s 43s Đông 13< Số xe<=17 45s 3s 48s Đông 17< Số xe <= 25 50s 3s 53s Đông Số xe > 25 60s 3s 63s Đông Bảng 3.4 Số giây đèn xanh ứng với số xe đếm được.  Thiết kế khối nguồn. Tên linh kiện Số lượng Điện áp định mức Dòng điện định mức BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 33 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Arduino mega 1 5V-DC 30 mA 2560 Led đơn 12 5V-DC 10 mA Led 7 đoạn 2 digit 4 5V-DC 10 mA Bảng 3.5 Liệt kê điện áp và dòng các linh kiện sử dụng trong mạch Từ bảng trên, ta có khối nguồn như sau: Tổng dòng tiêu thụ Itổng= 30+(12*10)+(10*4)=190 (mA) Do yêu cầu của đề tài không cần nguồn di chuyển nên chúng em s ẽ lựa chọn nguồn ngoài để cấp cho vi điều khiển là adapter 9V 1A. Lý do em chọn adapter 9V để cấp cho arduino là vì khi đi cấp nguồn điện sẽ đi qua IC ổn áp AMS1117 giúp hạ điện áp từ 9V thành 5V cấp cho vi điều khiển. Hình 3.7 IC ổn áp AMS1117.  Nguồn cung cấp chính cho mạch dùng adapter 9V -1A 3.2.3 Thiết kế mô hình ngã tư. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 34 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Mô hình thực nghiệm ngã tư có đèn giao thông có kích thước 45cm x 45cm, mô hình thiết kế nhằm mô phỏng một ngã tư gồm 2 tuyến đường hai chiều. Mỗi trụ đèn gồm có:  Ống nhựa 15 cm.  Co chữ T.  1 đèn Led 7 đoạn đôi.  3 đèn Led xanh, đỏ, vàng. Mô hình sử dụng giấy dán tượng trưng cho làn đường, 4 góc trắng ở mỗi vùng xanh là nơi dựng cột đèn giao thông. Hình 3.8 Mặt trên của mô hình sau khi thiết kế. ADAPTER 9V CÁP USB ARDUINO MÁY TÍNH MEGA 2560 ] Hình 3.9 Mặt dưới của mô hình sau khi thiết kế. 3.2.4 Sơ đồ nguyên lý của toàn mạch. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 35 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ  Có 2 camera được lắp đặt trên cao ở trục đường trước mỗi ngã tư. Camera này có nhiệm vụ thu nhận hình ảnh các phương tiện tham gia giao thông trên mỗi tuyến đường.Nnhóm thực hiện sẽ đi khảo sát thực tế và quay video 2 làn đường bằng smartphone.  Sau đó video sẽ được nhúng vào matlab để mô phỏng camera đang quay trực tiếp 2 làn đường.  Hình ảnh thu được từ các camera sẽ được truyền về máy tính đặt tại ngã tư. Máy tính sẽ thu nhận hình ảnh từ camera làm dữ liệu đầu vào cho bộ xử lý ảnh (Matlab).  Bộ xử lý ảnh sẽ có nhiệm vụ phân tích và xử lý hình ảnh để đưa ra kết quả số lượng phương tiện tham gia giao thông ở mỗi tuyến đường.  Sau khi so sánh số lượng phương tiện ở mỗi tuyến đường bộ xử lý ảnh sẽ tính toán thời gian các đèn xanh ở làn 1 trước, khi làn 1 kết thúc số giây đèn vàng camera của làn 2 sẽ bắt đầu chụp số lượng phương tiện tham gia trên làn 2 và truyền về bộ xử lý ảnh để đưa ra số giây đèn xanh cho làn 2. Khi làn 2 kết thúc số giây đèn vàng thì camera của làn 1 sẽ chụp số lượng phương tiện tham gia trên làn 1 để xử lý và đưa ra số giây đèn xanh cho làn 1. Quy trình sẽ được lặp đi lặp lại như vậy.  Khi tính toán được số giây đèn xanh, đỏ, vàng bộ xử lý ảnh sẽ gửi dữ liệu xuống arduino. Arduino sẽ có nhiệm vụ hiển thị số giây, đèn xanh, đỏ, vàng lên Led 7 đoạn và Led đơn để người tham gia giao thông quan sát BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 36 CHƯƠNG 3. TÍNH TOÁN VÀ THIẾT KẾ Hình 3.10 Sơ đồ nguyên lý toàn mạch. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 37 CHƯƠNG 4. THI CÔNG HỆ THỐNG Chương 4. THI CÔNG 4.1 THI CÔNG HỆ THỐNG. 4.1.1 Thi công bo mạch dạng bus. Bảng liệt kê linh kiện sử dụng: Tên linh kiện Thông số Số lượng Arduino 5 VDC 1 Mega2560 30mA 2.2V Led 7 đoạn đôi 4 10mA Điện trở 330Ω 12 1,8V Led xanh lá 4 10mA 1,8V Led vàng 4 10mA 1,8V Led đỏ 4 10mA Bảng 4.1 Danh sách linh kiện. Việc thi công cân cắm dạng bus, chúng em quyết định sử dụng loại testboard cắm hàn và hàn cùng với các chân đực, đính sẵn các điện trở 330 ôm trên mạch để tiện phần thi công và để xúc đẩy thời gian hoàn thành mô hình. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 38 CHƯƠNG 4. THI CÔNG HỆ THỐNG Hình 4.1 Testboard cắm hàn sử dụng trong mô hình. Hình 4.2 Mặt trước của chân cắm. Hình 4.3 Mặt sau của chân cắm. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 39 CHƯƠNG 4. THI CÔNG HỆ THỐNG 4.1.2 Thi công cột tính hiệu giao thông. Để làm được một cột tín hiệu, nhóm đã cắt 4 ống nước có chiều dài 15 cm đường kính 2 cm, tiếp theo sử dụng cho chữ T trắng để làm phần đầu của cột, nơi đó dẫn ra đèn đếm thời gian và đèn tín hiệu. Hình 4.4 Hình ảnh co chữ T và ống trắng sử dụng. Tiếp theo là thiết kế đế led 7 đoạn và đế cắm dây để tạo thành khung đèn tín hiệu. Nhóm đã cưa một đoạn testboard hàn kích thước 7x4 cm, hàn chân đực vào phía trước và phía sau testboard với các chân đã được tính toán: 2 đế chân 7 đoạn gồm 5 lỗ và 2 đế chân cắm dây 5 lỗ. Hình 4.5 Mặt trước, sau của đế cắm đèn đếm thời gian. Tiếp theo thực hiện đế hiển thị đèn tín hiệu. Nhóm cưa một đoạn testboard hàn kích thước 4x4 cm, tiến hành hàn các led theo thứ tự đỏ, vàng, xanh và hàn cùng các chân đực. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 40 CHƯƠNG 4. THI CÔNG HỆ THỐNG Hình 4.6 Mặt trước của đế cắm đèn tín hiệu. Tiến hành cắm các dây vào chân đã hàn, luồn dây qua co chữ T đã được gắn chắc chắn ở trên ống trắng, mỗi dây nối thành 2 dây dài 50 cm, cắm led 7 đoạn vào chân cắm, ta được hình như bên dưới: Hình 4.7 Cột tín hiệu khi được ráp hoàn thiện BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 41 CHƯƠNG 4. THI CÔNG HỆ THỐNG 4.1.3 Lắp ráp và kiểm tra. Hàn các linh kiện trong khối và lấy dây bus kết nối giữa các khối lại với nhau ta được như hình. Hình 4.8 Hình ảnh thực tế sau khi thi công. Khi lắp ráp và hàn linh kiện hoàn tất ta tiến hành cấp nguồn từ cổng USB của máy tính vào để kiểm tra mạch xem đèn led trên Arduino mega. Sau đó nạp thử chương trình để kiểm tra liệu chương trình có thể chạy. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 42 CHƯƠNG 4. THI CÔNG HỆ THỐNG 4.1.4 Thiết kế giao diện cho người điều khiển. Để thiết kế giao diện cho người điều khiển, chúng em sử dụng matlab GUI, với 2 thành phần cơ bản để tạo thành một chương trình hoàn chỉnh là matlab GUI và matlab GUIcode : Hình 4.9 Giao diện điều khiển chính Chúng em sẽ thực hiện một mô hình có 4 làn đường, 4 trụ bằng ống nhựa tượng trưng cho 4 cột đèn giao thông, trên cùng của 4 ống nhựa là mô hình module 7 đoạn và led đơn được hàn chắc chắn. Led 7 đoạn quét hiển thị số giây đèn giao thông và 3 led đơn biểu hiện tín hiệu đèn giao thông. Sẽ có 2 chế độ điều khiển là AUTO và MANUAL.  MANUAL: Đây là chế độ dung trong trường hợp có sự cố xảy ra hoặc trường hợp người dung muốn cố định một khoảng thời gian đèn xanh ở mỗi làn, số giây đèn vàng sẽ là 3 giây, từ đó cho ra số giây đèn đỏ là số giây đèn vàng và đèn xanh. Người nhập vào bằng máy tính ở dạng số nguyên.  AUTO: chúng em trích suất một đoạn video ghi hình từ camera để cho matlab xử lý, hình sẽ được chụp tự động ở từng làn có ghi chú, sau đó sẽ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 43 CHƯƠNG 4. THI CÔNG HỆ THỐNG được xử lý hình ảnh ngay lúc chạy, đếm số lượng phương tiện lưu thông để cho ra số giây đèn phù hợp vào từng mốc thời điểm trong ngày. 4.2 ĐÓNG GÓI VÀ THI CÔNG MÔ HÌNH.  Dùng một hộp bằng gỗ có kích thước 45x45x15 để làm mô hình tránh tình trạng bị va đập dẫn đến hư hỏng. mặt trên chúng em dùng phần mêm Paint để vẽ làn đường.  Mặt bên khoan 1 lỗ nhỏ có đường kính 3 cm để đưa cổng USB ra ngài. Sau đó chúng em dán lên mặt trên hình ngã tư, tránh vị trí trụ đèn và sau đó trang trí. Hình 4.10 Mô hình sau khi thi công. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 44 CHƯƠNG 4. THI CÔNG HỆ THỐNG 4.3 LẬP TRÌNH HỆ THỐNG 4.3.1 Lập trình trên phần mềm Matlab 4.3.1.1 Sơ đồ khối đếm số lượng phương tiện. Xác định các đối Đếm số Ảnh Chụp ảnh và Xử lý hình tượng là lượng đối đầu vào xác định ảnh nền ảnh phương tượng tiện có trong ảnh Hình 4.11 Sơ đồ khối tổng quát chính của hệ thống đếm đối tượng trên matlab.  Đầu tiên hệ thống sẽ lấy video đầu vào được quay từ smartphone, tiến hành chụp ảnh từ video.  Hình ảnh sau khi lấy được sẽ được hệ thống nâng cao độ tương phản, khử nhiễu, khử bóng, khử độ lệch và loại bỏ các đối tượng không quan tâm để giảm sai số cho quá trình đếm đối tương.  Sau đó là hệ thống đếm các đối tượng còn lại trên ảnh. Kết quả cuối cùng sẽ là số lượng phương tiện có trên hình sẽ được gửi đến vi điều khiển để điểu khiển mô hình. 4.3.1.2 Lưu đồ chi tiết xử lí ảnh đầu vào. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 45 CHƯƠNG 4. THI CÔNG HỆ THỐNG BEGIN 1 CHỤP ẢNH CHUYỂN SANG NHỊ PHÂN X= ẢNH NỀN TĂNG CHÍNH XÁC Y= ẢNH CÓ PHƯƠNG TIỆN LỌC NHIỄU CHUYỂN ẢNH XÁM TẠO LỖ TRỐNG TÌM KÍCH THƯỚC ẢNH (DEMENSION) XOÁ CÁC ĐIỂM NHỎ DÁN NHÃN ĐỐI TƯỢNG TẠO VỆT MÀU KHÁC CHO GIÁ TRỊ NGƯỠNG = 55 NỀN fg=abs(Y - X) ĐẾM CÁC ĐỐI TƯỢNG CÓ TRONG VÙNG XỬ LÍ ĐẶT a,b = 1 GỬI TÍN HIỆU VĐK ENDliệu sang arduino Sai a < length Đúng b < Sai wi dth Đúng 1 Hình 4.12 Lưu đồ xử lí ảnh đầu vào. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 46 CHƯƠNG 4. THI CÔNG HỆ THỐNG  Bước đầu hệ thống sẽ lấy hai ảnh đầu vào một ảnh nền chụp làn đường khi không có xe và một ảnh khi làn có xe. Hai ảnh này sẽ được chuyển thành ảnh xám để dễ xử lý.  Sau đó hệ thống sẽ so sánh hai ảnh trên để tìm ra những đối tượng khác biệt ở đây là các phương tiện đang dừng trước đèn đỏ. Kết quả sau khi so sánh sẽ được khử bóng và tăng độ chi tiết.  Sau đó ảnh sẽ được nhị phân hóa, kế tiếp là sử dụng các phương pháp hình thái học như co giãn ảnh, xói mòn, đóng mở đối tượng trong ảnh để thu được các đối tượng trong ảnh cũng loại bỏ các đối tượng không mong muốn. Tuy nhiên với phương pháp này có hạn chế nếu các đối tượng quá sát nhau thì sẽ đếm thành 1 đối tượng. 4.3.2 Lưu đồ tổng quát trên Arduino. Arduino hoạt động như sau:  Khi có kết quả từ matlab, vi điều khiển sẽ quy định thời gian đèn xanh của làn 1 và thời gian đèn đỏ của làn 2 dựa trên kết quả được gửi.  Hiển thị ra led 7 đoạn đôi và led đơn, led 7 đoạn đôi sẽ chạy thời gian ngược để hoàn thành chu kì.  Khi hoàn thành chu kì thì vi điều khiển lại gửi trả kết quả sang máy tính để tiếp tục chờ nhận dữ liệu mới. BẮT ĐẦU i = 0 Whil e Sai Kết thúc (tru e) Đúng ĐỌC DỮ LIỆU BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆPĐúng – Y SINH 47 LÀN = 1 i = i + 1 i/ 2 Sai = 0 i/ 2 Sai = Đúng0 CHƯƠNG 4. THI CÔNG HỆ THỐNG LÀN =1 LÀ Hình 4.13Đúng Lưu đồ chương trình điềuN khiển ứng dụng trênSai Arduino. = 1 ĐIỀU KHIỂN LÀN 1 ĐIỀU KHIỂN LÀN 2 GỬI DỮ LIỆU 4.4 GIỚI THIỆU VỀ PHẦN MỀM LẬP TRÌNH. 4.4.1 Giới thiệu về matlab GUI. GUI được viết tắt của từ “Graphical User Interface” . Là ta sẽ tiến hành sử dụng chuột để thao tác các thanh công cụ đã được con người lập trình sẵn và tích hợp vào phần mềm Matlab. Đây cho phép tương tác giao diện chương trình từ đó nhìn được một cách khách quan nhất và bắt đầu viết code để tương tác giao diện. 4.4.2 Cách sử dụng matlabGUI. Tại cửa sổ Command Window bạn hãy tiến hành gõ lệnh: guide. Lập tức cửa sổ GUIDE Quick Start xuất hiện nên như hình phía dưới. Hình 4.14 Cửa sổ lựa chọn giao diện GUI. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 48 CHƯƠNG 4. THI CÔNG HỆ THỐNG Khi nhấn vào Blank GUI (Default) xuất hiện tiếp cửa sổ chọn đối tượng cho matlabGUI. Hình 4.15 Cửa sổ lựa chọn tool cho giao diện GUI. Push Button: Dùng để khi nhấn chuột vào thì nút này sẽ xử lý một công việc nào đó mà mong muốn. Static Text: Dùng để hiện thì thông tin cho một đối tượng nào đó hoặc có thể xuất dữ liệu từ trương trình ra đây. Để thay đổi tên của các tool này cũng như màu sắc, thuộc tính thì chỉ cần nhấp đúp chuột vào Tool đó thì lập tức một cửa sổ mới xuất hiện được gọi là Inspector. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 49 CHƯƠNG 4. THI CÔNG HỆ THỐNG Hình 4.16 Kéo các tool ra được giao diện GUI. Hình 4.17 Giao diện matlabGUI với đuôi .fig BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 50 CHƯƠNG 4. THI CÔNG HỆ THỐNG Hình 4.18 Giao diện matlab code đuôi .m Giao diện matlab code là nơi thực thi các lệnh xử lí cho các đối tượng mình đã gọi ở matlabGUI có đuôi .fig. 4.4.3 Giới thiệu về arduino IDE. Môi trường phát triển tích hợp Arduino IDE là một ứng dụng đa nền tảng được viết bằng Java, và được dẫn xuất từ IDE cho ngôn ngữ lập trình xử lý và các dự án lắp ráp. Do có tính chất mã nguồn mở nên môi trường lập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinh nghiệm. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 51 CHƯƠNG 4. THI CÔNG HỆ THỐNG Hình 4.19 Giao diện lập trình arduino. setup(): hàm chạy một lần duy nhất vào lúc bắt đầu của một chương trình dùng để khởi tạo các thiết lập. loop(): hàm được gọi lặp lại liên tục cho đến khi bo mạch được tắt. Giao diện của phần mềm Arduino IDE có nhiều phần, tuy nhiên chú ý đến những phần quan trọng như được nêu ra trong hình trên. Chức năng của từng phần như sau:  Nút kiểm tra chương trình (1): Dùng để kiểm tra xem chương trình được viết có lỗi không. Nếu chương trình bị lỗi thì phần mềm Arduino IDE sẽ hiển thị thông tin lỗi ở vùng thông báo thông tin.  Nút nạp chương trình xuống bo Arduino: Dùng để nạp chương trình được viết xuống mạch Arduino. Trong quá trình nạp, chương trình sẽ được kiểm tra lỗi trước sau đó mới thực hiện nạp xuống mạch Arduino.  Hiển thị màn hình giao tiếp với máy tính: khi nhấp vào biểu tượng cái kính lúp thì phần giao tiếp với máy tính sẽ được mở ra. Phần này sẽ hiển thị BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 52 CHƯƠNG 4. THI CÔNG HỆ THỐNG các thông số mà người dùng muốn đưa lên màn hình. Muốn đưa lên màn hình phải có lệnh Serial.print() mới có thể đưa thông số cần hiển thị lên màn hình  Vùng lập trình: Vùng này để người lập trình thực hiện việc lập trình cho chương trình của mình.  Vùng thông báo thông tin: Có chức năng thông báo các thông tin lỗi của chương trình hoặc các vấn đề liên quan đến chương trình được lập. Hình 4.20 Giao diện arduino IDE menu. 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC. Bước 1: Đưa cáp USB của Arduino cắm vào máy tính. Bước 2: Khởi động matlab. Bước 3: Tiến hành chạy chương trình giao diện ban đầu. Bước 4: Chọn chế độ chạy tự động hoặc bằng tay. Bước 5: Quan sát kết quả trên màn hình. Hình 4.21 Bước 2: Khởi động matlab BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 53 CHƯƠNG 4. THI CÔNG HỆ THỐNG Hình 4.22 Bước 3,4 Chạy giao diện và chọn chế độ. Một số lưu ý khi sử dụng:  Khi khởi động nhưng chương trình không chạy, phải kiểm tra cáp USB đã cắm vào kĩ chưa, xem chắc có Port kết nối của Arduino đã xuất hiện.  Cắm nguồn adapter 9V để mô hình hoạt động ổn định. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 54 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ. 5.1 KẾT QUẢ. Hình 5.1 Mô hình hoàn thiện và cho chạy thử. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.2 Giao diện điều khiển chính. Sẽ có 2 chế độ điều khiển là chế độ bằng tay và chế độ tự động tương ứng với “MANUAL” và “AUTO”  Chế độ AUTO: Sau khi lựa chọn chế độ “AUTO”, chương trình sẽ dẫn đến một giao diện để người dùng quan sát hệ thống hoạt động ở 2 chế độ khi mật độ phương tiện tham gia giao thông bình thường và đông xe. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.3 Giao diện lựa chọn mật độ phương tiện để quan sát. Khi nhấn vào nút nhấn bình thường. Chương trình sẽ chạy một giao diện mới có tên là chuongtrinh1_bt. Hoặc khi nhấn vào nút “Đông” chương trình sẽ chạy một giao diện tên là chuongtrinh2_dong. Để người sừ dụng có thế quan sát quá trình đếm theo lưu lượng bình thường và đông xe.  Bắt đầu với chế độ “Bình thường” với lượng xe không nhiều, sau đó ta nhấn nút bắt đầu ở góc phải giao diện “Tự động điều khiển thông qua camera” để chạy chương trình điều khiển, hệ thống ngay lập tức chụp lại ảnh từ video của làn 1.  Hình ảnh thu về xử được hệ thống xử lý, kết quả đếm phương tiện lưu thông làn 1 được xuất ra ở ô “SỐ LƯỢNG XE”.  Số giây đèn xanh đã được tính toán cho làn đường đó sẽ được xuất ra ô “SỐ GIÂY ĐÈN XANH” BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.4 Kết quả quan sát trên giao diện làn 1 khi lượng xe bình thường. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.5 Kết quả hiển thị trên mô hình ở làn 1 với chế độ bình thường. Hình 5.6 Kết quả hiển thị trên mô hình ở làn 2 song song với kết quả trên. Sau khi chuyển làn tức là đèn xanh ở làn 1 về 0, chuyển sang đèn vàng và ngay khi hết 3 giây đèn vàng thì hệ thống tự động chụp hình ở video làn 2 rồi tiến hành xử lí theo phương thức trên, làn 2 chuyển sang đèn xanh, ta được: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.7 Kết quả quan sát trên giao diện làn 2 sau khi chuyển làn với lượng xe bình thường. Hình 5.8 Kết quả quan sát trên mô hình ở làn 2 khi lượng xe bình thường. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.9 Kết quả quan sát trên mô hình ở làn 1 song song với kết quả trên (bình thường). Tiến hành chạy chương trình lấy kết quả 8 lần trên làn 1, làn 2 khi ở chế độ bình thường. Lần Số xe đếm Số xe đếm Tỷ lệ đếm Số xe hiển thị chụp được sai đúng 1 6 6 0 2 5 5 0 3 4 4 0 4 5 4 1 5 3 2 1 92.67% 6 4 4 0 7 2 2 0 8 0 0 0 Bảng 5.1 Kết quả đếm xe làn 1 khi ít xe Lần Số xe có trên Số xe đếm Số xe đếm Tỷ lệ đếm chụp hình được sai đúng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 1 2 2 0 2 1 1 0 3 2 2 0 4 4 3 1 5 3 3 0 93.11% 6 2 2 0 7 3 2 0 8 0 0 0 Bảng 5.2 Kết quả đếm xe làn 2 khi ít xe. Nguyên do có sai số:  Do xe chạy san sát gần nhau.  Thời tiết trưa nắng làm màu nền không khớp với màu ảnh. Kết quả đếm xe trên làn đông phương tiện tham gia Hình 5.10 Kết quả quan sát trên giao diện làn 1 khi đông xe. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.11 Kết quả quan sát trên mô hình ở làn 1 khi đông xe Hình 5.12. Kết quả quan sát trên mô hình ở làn 2 song song với kết quả trên (đông). Và sau khi đèn xanh ở làn 1 về 0, hết 3 giây đèn vàng và tiến hành chuyển làn, ta được kết quả : BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.13 Kết quả quan sát trên giao diện làn 2 sau khi chuyển làn ở chế độ đông xe. Hình 5.14 Kết quả quan sát trên mô hình ở làn 2 sau khi chuyển làn đông xe. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.15 Kết quả quan sát trên mô hình khi làn 1 song song với kết quả trên (đông). Tiến hành chạy chương trình lấy kết quả 5 lần trên làn 1, làn 2 khi đông xe Lần Số xe có trên Số xe đếm Số xe đếm Tỷ lệ đếm chụp hình được sai đúng 1 13 11 2 2 15 16 2 3 22 21 1 92.53% 4 20 19 1 5 19 20 1 Bảng 5.3 Kết quả đếm xe làn 1 khi đông xe. Lần Số xe có trên Số xe đếm Số xe đếm Tỷ lệ đếm chụp hình được sai đúng 1 6 6 0 2 6 5 1 3 3 3 0 95% 4 6 6 0 5 2 2 0 Bảng 5.4 Kết quả đếm xe làn 2 khi đông xe. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ  Chế độ MANUAL. Hình 5.16 Kết quả trên giao diện ở chế độ điều khiển bằng tay. Thời gian đèn xanh ở làn 1 được nhập trực tiếp trong edit text của giao diện chế độ điều khiển bằng tay bằng 50. Từ số giây đèn xanh làn 1 suy ngược lại số giây đèn đỏ của làn 2 là 53 giây.. Thời gian đèn xanh ở làn 2 được nhập trực tiếp trong edit text của giao diện chế độ điều khiển bằng tay bằng 55. Từ số giây đèn xanh làn 2 suy ngược lại số giây đèn đỏ của làn 1 là 58 giây. Cho phép người điều khiển nhập số giây đèn xanh của mỗi làn đề phòng trường hợp chế độ AUTO bị lỗi, hoặc bảo trì. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.17 Kết quả hiển thị trên mô hình khi điều khiển bằng tay ở làn 1 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.18 Kết quả hiển thị trên mô hình ở làn 2 song song với kết quả trên ( bằng tay) Sau khi chuyển làn từ làn 1 sang làn 2, ta được kết quả tiếp theo dưới đây: BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 71 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.19 Kết quả hiển thị trên mô hình ở làn 2 khi điều khiển bằng tay. Hình 5.20 Kết quả hiển thị trên mô hình ở làn 1 song song với kết quả trên. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Tất nhiên hệ thống sẽ báo lỗi đối với trường hợp khi người không nhập vào 2 ô “LÀN 1” và “LÀN 2” dữ liệu dạng số: Hình 5.21 Nhập dữ liệu dạng kí tự không phải số. Hình 5.22 Hệ thống báo lỗi yêu cầu nhập dữ liệu có dạng số. 5.2 NHẬN XÉT – ĐÁNH GIÁ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73 CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ  Hệ thống hoạt động đạt 95% yêu cầu đặt ra.  Độ ổn định hệ thống đạt vào khoảng 95%.  Hệ thống sử dụng nguồn cấp nhỏ 9V nên khá an toàn, phù hợp cho người dùng.  Giao diện dễ nhìn, dễ quan sát, sử dụng.  Đèn báo và thời gian chạy ổn định,chuyển làn hợp lí Tuy nhiên hệ thống vẫn có những hạn chế đáng kể:  Hệ thống hình ảnh được lấy từ smart phone và chỉ từ trên một tuyến đường nền khó để cho hệ thống phân tích chính xác những yếu tố về người hay xe.  Các xe đi san sát nhau khiến cho hệ thống đếm nhiều xe gộp thành 1, gây sai số.  Video đầu vào chưa đa dạng, chưa thể hiện được hết những vấn đề nóng về giao thống.  Mô hình tương đối nhiều dây rườm rà. Về thực tế thì đây chỉ là mô hình mô phỏng một hệ thống xử lí tín hiệu đèn giao thông, để ứng dụng vào thực tế thì rất khó khăn vì yếu tố kinh tế, xã hội. Nhìn chung mô hình giúp người sử dụng hiểu khá rõ về cách hoạt động. Thực trạng giao thông ùn tắc cũng chưa hẵn được giải quyết vì nhiều yếu tố khác, mô hình này giúp người sử dụng hiểu hơn phần nào cách giải quyết chuyện điều tiết giao thông bằng xử lí ảnh. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 74 CHƯƠNG 6. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương 6. KẾT LUẬN - HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN. Sau khoảng thời gian kể từ khi chúng em được nhận và tìm hiểu sau đó thực hiện đề tài “Ứng dụng xử lí ảnh điều khiển đèn giao thông tại nút giao thông”, nhóm đã đạt được khoảng 97% mục tiêu đặt ra ban đầu.  Giao tiếp giữa matlab và Arduino từ đó điều khiển các thiết bị ngoại vi.  Đếm được số lượng phương tiện tham gia giao thông trên làn đường.  Thi công được hệ thống ứng dụng xử lý ảnh để điều tiết giao thông tại ngã tư với ngõ vào là video được quay thực tế tr ên cao.  Mô hình ứng dụng kĩ thuật xử lý ảnh để điều khiển tín hiệu đèn giao thông đạt được kết quả đáng tin cậy.  Thời gian sáng các đèn được điều khiển hợp lý theo yêu cầu đặt ra của đề tài là tuyến đường nào có lưu lượng xe lưu thông lớn thì tuyến đường đó ưu tiên sáng đèn xanh lâu hơn,. 6.2 HƯỚNG PHÁT TRIỂN. Với một hệ thống mang tính chất ứng dụng vào thực tiễn một cách cao hơn, bản thân chúng em và những người thực hiện nên cải tiến thêm những hướng:  Nâng cấp camera và phần mềm để có thể nhận diện xe ưu tiên.  Nâng cấp hệ thống có thể hiển thị tốc độ lưu thông của từng phương tiện trên màn hình giám sát.  Xây dựng các trạm xử lý trung tâm để điều khiển đồng bộ các đèn giao thông để giải quyết tốt hơn về vấn đề ùn tắc giao thông hiện nay. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP- Y SINH 72 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] TS. Nguyễn Thanh Hải, Giáo trình Xử lý ảnh, Nhà xuất bản ĐH Quốc Gia TP. HCM, 2014. [2] TS. Nguyễn Văn Thể: nghi-ve-chong-un-tac-giao-thong.aspx, 2008. [3]https://www.atgt.vn/bi-mat-ben-trong-dau-nao-dieu-khien-giao-thong-ha-noi- d280617.html, 2018. [4] Lê Mỹ: Gần 50 chốt đèn giao thông được lắp hệ thống cảm biến, Dân Trí, 17/12/2007. [5] PGS.TS Nguyễn Quang Hoan, Xử lý ảnh, Học viện Công nghệ Bưu Chính Viễn Thông, 2006. [6] https://tranvantri.wordpress.com/2014/09/14/tu-rgb-sang-da-muc-xam-grayscale/, 14/09/2014. [7] https://uk.mathworks.com/help/matlab/ref/rgb2gray.html. [8] https://blog.vietnamlab.vn/2018/02/27/xu-ly-anh-voi-opencv-tut-2-chuyen-doi-anh- mau/, 27/02/2018. [9] https://www.slideshare.net/nguyenthieu2102/k-thut-lc-nh-v-ng-dng-trong-lc-nhiu- lm-trn, 25/08/2017. [10] Ross L.Spencer, Introduction to Matlab, 2000. [11] thanhhai.tic: https://kho-internet.blogspot.com/2018/10/matlab-la-gi.html, 2018. [12]LU RUM: xu-ly-anh.180/, 24/12/2015. [13] Hans-Petter Halvorsen, Introduction to ARDUINO, 2008. [14]https://vi.wikipedia.org/wiki/Arduino? fbclid=IwAR07pmBnIikYrJEfH_gg16jJBrwn8U9uueUxcINTSvKH7pW5jhV8nFVV CK0 [15] Agus Kurniawan, Arduino Programming using Matlab, 1st Edition, 2015. [16] 2017. BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC PHỤ LỤC Chương trình vi điều khiển arduino #include "C:\Users\HP\Desktop\doantn\LED.h" LEDDisplay *led; //khai báo biến int counter; int chuc1,donvi1,chuc2,donvi2; unsigned long lastUpdate; int TX, TD; int DEM, DATA=0; int do1 = 14; int vang1 = 15; int xanh1 = 16; int do2 = 17; int vang2 =18; int xanh2 = 19; void setup() { Serial.begin(9600); int digitFlagPins[] = {10,11,12,13}; int segmentPins[] = {2, 3, 4, 5 ,6 ,7 ,8, 9}; int decimalPointPin = 9; led = new LEDDisplay(4, digitFlagPins, segmentPins, decimalPointPin); pinMode(do1, OUTPUT); pinMode(vang1, OUTPUT); pinMode(xanh1, OUTPUT); pinMode(do2, OUTPUT); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH PHỤ LỤC pinMode(vang2, OUTPUT); pinMode(xanh2, OUTPUT); pinMode(test, OUTPUT); void ht1(void) { int c; for(c=0;c<100;c++) { chuc1=num1/10; donvi1=num1%10; led->displayNumber(chuc1, 1);//den1=m[chuc1]; delay(2); led->displayNumber(donvi1, 0); delay(2); chuc2=num2/10; donvi2=num2%10; led->displayNumber(chuc2, 3);//den1=m[chuc1]; delay(2); led->displayNumber(donvi2, 2); delay(2); } } void loop() { if(Serial.available()>0) { txanh = Serial.read(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH PHỤ LỤC dem=dem+1; if (dem ==3) { dem=1; if (dem==1) { tx1= txanh; td2= tx1+3; num1=td2; num2=tx1; do { digitalWrite(xanh1, HIGH);//x1=bat; digitalWrite(do2, HIGH);//d2=bat; digitalWrite(vang2, LOW);//v2=tat; digitalWrite(do1, LOW);//d1=bat ht1(); num1--; num2--; } while(num2!=0); num1=num2=3; do { digitalWrite(xanh1, LOW);//x1=tat; digitalWrite(vang1, HIGH);//v1=bat; digitalWrite(do2, HIGH);//d2=bat; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH PHỤ LỤC ht1(); num1--; num2--; if (num1==1) { data=data+1; Serial.write(data); } } while(num1!=0); } else { tx2= txanh; td1= tx2+3; num2=td1; num1=tx2; do { digitalWrite(xanh2, HIGH);//x1=bat; digitalWrite(do1, HIGH);//d2=bat; digitalWrite(vang1, LOW);//v2=tat; digitalWrite(do2, LOW);//d1=bat ht1(); num1--; num2--; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH PHỤ LỤC } while(num1!=0); num1=num2=3; do { digitalWrite(xanh2, LOW);//x1=tat; digitalWri

Các file đính kèm theo tài liệu này:

  • pdfdo_an_ung_dung_xu_ly_anh_dieu_khien_den_giao_thong_tai_nut_g.pdf