Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
5,44 MB
Nội dung
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 - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ TRUYỀN THƠNG ĐỀ TÀI: ĐẾM SỐ LƯỢNG VIÊN THUỐC CĨ TRONG VỈ THUỐC GVHD: ThS Nguyễn Duy Thảo SVTH: Võ Danh Quân 15141259 Nguyễn Minh Hảo 15141149 Tp Hồ Chí Minh - 12/2019 LỜI CAM ĐOAN Đề tài tự thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình có trước Nhóm thực Võ Danh Quân Nguyễn Minh Hảo iii LỜI CẢM ƠN Nhóm thực đồ án xin gửi lời cảm ơn đến thầy GVHD Th.S Nguyễn Duy Thảo trực tiếp hướng dẫn, tham gia đóng góp, gợi ý ý kiến, chia nhiều kinh nghiệm tận tình giúp đỡ tạo điều kiện tốt thoải mái để chúng em hồn thành tốt đề tài Em xin gửi lời cảm ơn đến quý thầy cô khoa Điện – Điện tử giúp đỡ tạo điều kiện tốt cho chúng em thực đề tài Ngoài ra, chúng em cảm ơn bạn học lớp 15141DT2C 15141DT1B chia giúp đỡ chúng em nhiều đề tài Xin chân thành cảm ơn tất ! Nhóm thực Võ Danh Quân Nguyễn Minh Hảo iv MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP……………………………………………… i LỊCH TRÌNH LÀM ĐỒ ÁN TỐT NGHIỆP……………………………………… ii LỜI CAM ĐOAN………………………………………………………………… iii LỜI CẢM ƠN………………………………………………………………………iv MỤC LỤC………………………………………………………………….…… v LIỆT KÊ HÌNH……………………………………………………… …….……vii LIỆT KÊ BẢNG…………………………………………………… … …………x Chương TỔNG QUAN ……………………………………………… ……… 1.1 ĐẶT VẤN ĐỀ……………………………………………………… …… 1.2 MỤC TIÊU…………………………………………………………… .… 1.3 NỘI DUNG NGHIÊN CỨU…………………………………………………2 1.4 GIỚI HẠN………………………………………… .………………………2 1.5 BỐ CỤC…………………………………………………………………… Chương CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ XỬ LÍ ẢNH…………………………… .…………… 2.1.1 Giới thiệu xử lý ảnh……………………………………………………….4 2.1.2 Các bước xử lý ảnh ………………………… ……………….5 2.1.3 Không gian màu …………………………………………… …………… 2.1.3.1 Mơ hình màu RGB………………………………… ………… 2.1.3.2 Không gian màu HSV ……………………………… ………….8 2.1.3.3 Cách chuyển từ không gian màu RGB sang không gian màu HSV……………………………………………………………….8 2.1.4.Xử lý hình thái học (Morphology) ……………………………………………9 2.1.4.1 Phép toán giản nở ……………………………………………….10 2.1.4.2 Phép toán co(Erosion)………………………………………… 10 2.1.4.3 Phép toán mở (Opening)………………………… ………… 10 2.1.4.4 Phép toán đóng (Closing)………………………… ………… 11 2.1.5 Cách vẽ đường viền…………………………………………… ……… 12 2.2 NGÔN NGỮ PYTHON VÀ THƯ VIỆN OPENCV …………… ………12 2.2.1 Hệ điều hành Raspbian ……………………………………… ………….12 2.2.2 Ngôn ngữ Python 13 v 2.2.3 Thư viện OpenCV ……………………………………………… ……….15 2.2.3.1.Giới thiệu OpenCV ……………………………………………… …… 15 2.3 GIỚI THIỆU PHẦN CỨNG ………………………………………………16 2.3.1 Giới thiệu chuẩn giao tiếp UART……………………………………… 16 2.3.2.1 Raspberry Pi Model B…………………………………………16 2.3.3 Camera USB Logitech C270 ………………………………………… ….20 2.3.4 Lcd 16x2……………………………………………………………… …21 2.3.5 Arduino Uno R3……………………………………………………… ….23 2.3.6 Module điều khiển động L298…………………………………… … 25 2.3.7 Servo SG90……………………………………………………………… 27 2.3.8 Băng chuyền Step motor …………………………………….…… … 28 2.3.9 Cảm biến siêu âm SRF 04…………………………………………… … 29 Chương 3: TÍNH TOÁN VÀ THIẾT KẾ……………………………….…… … 30 3.1 GIỚI THIỆU……………………………………………………………… 30 3.2 TÍNH TỐN VÀ THIẾT KẾ ……………………………………… ……31 3.2.1 Thiết kế sơ đồ khối hệ thống …………………………………… ……31 3.2.2 Tính tốn thiết kế mạch…………………………………………… … 32 3.2.2.1 Thiết kế khối thu tín hiệu hình ảnh……………………… …….32 3.2.2.2 Thiết kế khối cảm biến………………………………………… 33 3.2.2.3 Thiết kế khối hiển thị………………………………… ……….34 3.2.2.4 Khối công suất………………………………………… ………35 3.2.2.5 Khối xử lý trung tâm………………………………….… …….36 3.2.2.6 Sơ đồ nguyên lí mạch điện hệ thống……………… ………38 Chương THI CÔNG HỆ THỐNG………………………………….… ……….41 4.1 GIỚI THIỆU……………………………………………………… ………41 4.2 ĐÓNG GÓI VÀ THI CƠNG MƠ HÌNH…………………………… ……41 4.2.1 Đóng gói điều khiển ……………………………………………… … 41 4.2.2 Thi cơng mơ hình……………………………………………………… …42 4.3 LẬP TRÌNH HỆ THỐNG …………………………………………………42 4.3.1 Lưu đồ giải thuật ………………………………………………………… 42 4.3.1.1 Lưu đồ chương trình Raspberry ………………………… 42 4.3.1.2 Lưu đồ chương trình Arduino …………………………… 44 vi 4.3.1.3 Lưu đồ chương trình đo khoảng cách cảm biến siêu âm……46 4.3.1.4 Lưu đồ chương trình timer2………………………….…… 47 4.3.2 Phần mềm lập trình cho vi điểu khiển …………………………………….48 4.4 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG – THAO TÁC … ………….49 4.4.1 Viết tài liệu hướng dẫn sử dụng …………………………… …………….49 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ…………………… ……… 51 5.1 KẾT QUẢ ĐẠT ĐƯỢC ………………………………………… ……….51 5.2 KẾT QUẢ THỰC NGHIỆM ………………………………………… …….51 5.2.1 Mô hình sản phẩm …………………………………………………… ….51 5.2.2 Kết thực nghiệm từ việc nhận diện số thuốc …………………….….…53 5.3 NHẬN XÉT – ĐÁNH GIÁ ……………………………………………… 55 5.3.1 Nhận xét ……………………………………………………………… 55 5.3.2 Đánh giá ……………………………………………………………… 55 Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN……………………… 60 6.1 KẾT LUẬN ………………………………………………….…………… 60 6.2 HƯỚNG PHÁT TRIỂN …………………………………….…………… 61 PHỤC LỤC……………………………………………………………………… 62 I Chương trình Raspberry……………………………………………62 II Chương trình Arduino…………………………………………… 64 TÀI LIỆU THAM KHẢO…………………………………………………………xv vii LIỆT KÊ HÌNH Hình Trang Hình 2.1 Các bước cở xử lí ảnh ……………… …………………… Hình 2.2 Mơ hình màu RGB…………………………….………………… ….… Hình 2.3 Ba kênh màu RGB riêng biệt………………….…………………… … Hình 2.4 Hình trịn màu sắc HSV………………………… ………………… … Hình 2.5 Ảnh gốc ảnh sau dùng phép giản nở …… …………………… 10 Hình 2.6 Ảnh gốc ảnh sau dùng phép co ………… …………………… 10 Hình 2.7 Ảnh gốc ảnh sau dùng phép mở ………… …………………….11 Hình 2.8 Ảnh gốc ảnh sau dùng phép đóng ……….………………………11 Hình 2.9 Giao diện Raspberry chạy hệ điều hành Raspbian …………………13 Hình 2.10 Cửa sổ cho phép hoạt động chuẩn giao tiếp.………………………13 Hình 2.11 Phần mềm Python…………….…………………………………… 14 Hình 2.12 Raspberry Pi Model B………….…………………………………….17 Hình 2.13 Raspberry Pi 2………………………………………………………….17 Hình 2.14 Raspberry Pi Model B ……………………………………………….18 Hình 2.15 Sơ đồ chân Raspberry Pi 3…………………………………………… 19 Hình 2.16 Cấu trúc phần cứng Raspberry Pi 3……………………………… 19 Hình 2.17 Camera Logitech C270……… ……………………………………….20 Hình 2.18 Lcd 16x2…………………….…………………………………………21 Hình 2.19 Sơ đồ chân Lcd 16x2………….……………………………………….22 Hình 2.20 Arduino Uno R3………………………………………………… ……23 Hình 2.21 Module điều khiển động L298…………………………… ….……25 Hình 2.22 Sơ đồ chân module L298…………………………………….…….26 Hình 2.23 Mạch nguyên lý module L298……………………………….…….26 Hình 2.24 Hình ảnh servo SG90……………………… ………………… 27 Hình 2.25 Băng chuyền ………………….……………… ………… ……… 28 Hình 2.26 Step motor………………….……………… ……………………… 28 Hình 2.27 biến siêu âm SRF04…………….………… ………………………… 29 Hình 3.1 Sơ đồ khối hệ thống…………………………………………………31 Hình 3.2 Sơ đồ nguyên lý kết nối khối thu tín hiệu hình ảnh với Raspberry Pi 3+ …………………………………………………………………………………… 33 viii Hình 3.3 Sơ đồ nguyên lý kết nối cảm biến siêu âm SRF05 với arduino UNO R3………………………………………………………………………………… 33 Hình 3.4 Sơ đồ nguyên lý kết nối LCD 16x2 với Arduino R3………………… 34 Hình 3.5 Sơ đồ nguyên lý kết nối servo SG90 với Arduino R3………………… 35 Hình 3.6 Sơ đồ nguyên lý kết nối Step motor với Arduino R3……………… .35 Hình 3.7 Sơ đồ nguyên lý ngoại vi sử dụng…………………………………… 36 Hình 3.8 Sơ đồ kết nối thẻ nhớ với Raspberry………………………………… 37 Hình 3.9 Sơ đồ chân Raspberry Pi 3+………………………………………… 38 Hình 3.10 Sơ đồ ngun lí tồn hệ thống…………………………………………39 Hình 4.1 Sơ đồ bố trí thiết bị đóng gói mơ hình ………………… 41 Hình 4.2 Hình ảnh vị trí thiết bị bố trí mơ hình hệ thống………….42 Hình 4.3 Lưu đồ chương trình Raspberry………………………………… 42 Hình 4.4 Lưu đồ chương trình Arduino………………………………… .44 Hình 4.5 Lưu đồ chương trình đo khoảng cách cảm biến siêu âm………… 46 Hình 4.6 Lưu đồ chương trình timer2……………………………………… 47 Hình 4.7 Phần mềm lập trình Arduino IDE…………………………………… 48 Hình 4.8 Giao diện phần mềm Arduino IDE……………………… .49 Hình 4.9 Một đoạn code chương trình Arduino………………………………49 Hình 4.10 Giao diện Terminal thực dịng lệnh………………………50 Hình 4.11 Giao diện output chưa có vỉ thuốc…………………………………50 Hình 5.1 Mơ hình hệ thống mặt trên………………………………………………51 Hình 5.2: Mơ hình hệ thống mặt bên phải………………………………… 52 Hình 5.3: Mơ hình hệ thống mặt bên trái………………………………… .52 Hình 5.4 Đếm số thuốc nhộng chuẩn ( viên)…………………… … 53 Hình 5.5 Đếm số thuốc màu gạch chuẩn ( viên) …………………….……53 Hình 5.6 Đếm số thuốc nhộng chuẩn ( viên)…………………… … 53 Hình 5.7 Đếm số thuốc màu gạch chuẩn ( viên)…………………… … 54 Hình 5.8 Đếm số thuốc màu gạch chuẩn ( viên) 54 Hình 5.9 Đếm trường hợp khơng có viên thuốc vỉ…………… 54 Hình 5.10 Đếm sai trường hợp thuốc nhộng có viên thuốc…………… … 55 Hình 5.11 Đếm sai trường hợp thuốc gạch có viên thuốc……………………55 ix LIỆT KÊ BẢNG Bảng Trang Bảng 3.1 Bảng thống kê dòng tiêu thụ thiết bị……………………………38 Bảng 5.1 Bảng giám sát đánh giá đếm số lượng viên thuốc ( thuốc tròn màu cam)……………………………………………………………………………… 57 Bảng 5.2 Bảng giám sát đánh giá đếm số lượng viên thuốc ( thuốc nhộng)………………………………………………………………………… ….58 x CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.10 Đếm sai trường hợp thuốc nhộng có viên thuốc Hình 5.11 Đếm sai trường hợp thuốc gạch có viên thuốc Khi vị trí vỉ thuốc nằm tầm nhận biết camera hệ thống đếm số lượng viên thuốc có vỉ Đếm sai mơi trường buống sáng bị nhiễu camera đếm đốm băng chuyền BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 55 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 1.6 NHẬN XÉT – ĐÁNH GIÁ 1.6.1 Nhận xét Sau 15 tuần nghiên cứu thực đề tài, hệ thống đáp ứng mục tiêu yêu cầu thiết kế Ưu điểm Hệ thống nhỏ gọn, dễ sử dụng, dễ thao tác Lắp đặt thuận tiện cho việc sử dụng Hệ thống phát đếm xác số viên thuốc Nhược điểm Cảm biến siêu âm bị nhiễu Hệ thống hoạt động chưa ổn định Cịn phụ thuộc vào điều kiện mơi trường: độ sáng, không gian… So sánh với đề tài trước Trong công nghiệp hệ thống sử dụng rộng rãi nên nhóm thực so sánh với ưu nhược điểm sau Ưu điểm Giá thành hơn, giá trị đầu tư đáp ứng đủ tiêu chí cho người tiêu dùng Dễ sử dụng Nhược điểm Hoạt động chưa ổn định Khó thể hoạt động cơng ty lớn 1.6.2 Đánh giá Sau vận hành hệ thống để tiến hành kiểm tra giám sát Quá trình đánh giá thực lúc đếm số lượng viên thuốc, khoảng thời gian thực lần đánh giá phút Nhóm thực việc đánh giá đủ loại thuốc vị trí viên thuốc vỉ ngẫu nhiên Dưới bảng giám sát trình đánh giá đếm số lượng viên thuốc BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 56 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Bảng 5.1 Bảng giám sát đánh giá đếm số lượng viên thuốc ( thuốc tròn màu cam) Sốviên Số lần 10 X X X X X X X X X X X X X X O X X X X X O X O X X X O X X O X O X X X O X X O X X X X X O X X X X X X X X X X X X X X X X X O O X X X O X X X X X X X X X X X X O X X X X X X X X X X O X O X X X X X 10 X X X X X X O O X X X 11 X X X X X X X X X X X 12 X X X X X O O X X X X 13 X X X X X X X X X X X 14 X X X X X O O X X X X 15 X X X X X X O X X X X Ghi chú: Dấu X: Đếm thành công Dấu O: Đếm sai Lí vỉ thuốc bị so với khơng gian chụp hình Camera Giao tiếp Uart bị lỗi BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 57 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Bảng 5.2 Bảng giám sát đánh giá đếm số lượng viên thuốc ( thuốc nhộng) Sốviên Số lần 10 X X X X X X X X X X X X X X O X X X X X O X O X X X O X X O X O X X X O X X O X X X X X O X X X O X O O X X X X X O X X X X O O X X X O X X X X X X O X X X X X O X X X X X X X X X X O X O X X X X X 10 X X X X X X O O X X X 11 X X O X X X X X O X X 12 X X X X X X O X X X X 13 X X X X X X X X X X X 14 X X X X X O O X X X X 15 X X X X X X O X X X X Ghi chú: Dấu X: Đếm thành cơng Dấu O: Đếm sai Lí vỉ thuốc bị so với không gian chụp hình Camera Giao tiếp Uart bị lỗi Qua bảng giám sát, hệ thống hoạt động tốt Tỉ lệ nhận dạng thành công lên đến 90%, lý nhận dạng thất bại chấp nhận Thời gian trung bình để hệ thống thực nhận dạng 2s BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 58 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Đối với hoạt động servo hai cảm biến: Sau 20 lần thực số lần thất bại Lí thất bại cảm biến không phát có vỉ thuốc qua Tổng kết lại, nhóm thực đánh giá hệ thống đạt yêu cầu so với tiêu đề Mơ hình đơn giản, an tồn, có độ bảo mật đạt u cầu, dễ dàng sử dụng có độ ổn định cao Tuy nhiên, để mơ hình áp dụng vào thực tế, cần có cải tiến cần thiết kích thước xử lý chắn điều khiển trước hành động đột nhập, cố tình gây hư hỏng ngồi ý muốn BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 59 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương 6: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau tháng thực đề tài, tìm hiểu đọc tài liệu chuyên ngành có liên quan trang mạng, diễn đàn, cộng đồng nước quốc tế thông qua mạng Internet, tổng hợp kiến thức học xuyên suốt năm hướng dẫn tận hình thầy GVHD Th.S Nguyễn Duy Thảo, nhóm thực đồ án chúng em cuối hoàn thành đề tài “ĐẾM SỐ LƯỢNG VIÊN THUỐC CĨ BÊN TRONG VỈ THUỐC” Qua q trình thực hiện, nhóm cảm thấy đúc kết, nâng cao học thêm số kỹ như: Tìm hiểu, nghiên cứu sâu biết cách viết chương trình Python, kết hợp Python mơi trường OpenCV để đồng hóa cấu trúc chương trình Tìm hiểu nghiên cứu cách giao tiếp Raspberry với Camera Arduino, Arduino với L298N step motor, giao tiếp với cảm biến siêu âm, LCD, servo, Hiểu rộng Raspberry môi trường làm việc đa dụng Nâng cao kỹ bố trí, xếp, gắn hồn thiện mơ hình hồn thiện Cải thiện vấn đề làm việc nhóm, kỹ có liên quan (Visio, Altium, Word, Power Point,…) Kết cuối nhóm thực đề tài “ĐẾM SỐ LƯỢNG VIÊN THUỐC CÓ BÊN TRONG VỈ THUỐC” sau: Phát đếm số thuốc So sánh với ảnh mẫu sở liệu để đưa định với độ tương thích đặt trước Các cảm biến hoạt động chức LCD hiển thị số thuốc Uart truyền Servo hoạt động với hành động mong muốn người dùng Nhìn chung, hệ thống hoạt động thật ổn định, làm việc liên tục BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 60 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN đạt 100% yêu cầu đặt ban đầu Bên cạnh hệ thống cịn nâng cao thêm số tính giúp cải thiện trải nghiệm người dùng Hệ thông sử dụng nguồn 12V-5V trở xuống nên an toàn cho người sử dụng có xảy tình trạng chạm vỏ, rò điện,… tai nạn điện hệ thống Tuy nhiên, giới hạn thời gian hạn chế mặt kiến thức, môi trường, nguồn tài liệu tham khảo môi trường nước không thực nhiều, vá lỗi chủ yếu từ tài liệu quốc tế, nên hệ thống không tránh khỏi số hạn chế định: Hạn chế chưa có nguồn dự trữ cho để trì hoạt động cho hệ thống trường hợp điện Chưa xử lý vấn đề ổn định cân sáng nên hệ thống phụ thuộc vào buồng sáng để trì mức sáng ổn định việc khiến cho tổn hao điện toàn hệ thống cao Các điều kiện kinh phí thời gian thực mà tính thẩm mỹ hệ thống khơng cao (mơ hình to cồng kềnh, đường dán keo thô khơng đều) 6.2 HƯỚNG PHÁT TRIỂN Hệ thống phát triển thêm theo hướng đếm nhiều số thuốc hơn, phát triên them công đoạn ép vỉ, đưa thành phẩm,… Ngồi nâng cao khả nhận dạng viên thuốc phương pháp nhận dạng camera kép, camera nhận dạng camera đo chiều sâu để nâng cao khả nhận dạng nhiều góc độ tăng độ tin cậy hệ thống lên cao BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 61 PHỤ LỤC I Chương trình Raspberry import numpy as np import argparse import imutils import cv2 import serial # Lay vieo tu webcam cap = cv2.VideoCapture(0) # Thiet lap nguong mau tren va duoi mat la lower = {'type1':(0, 140, 0),'type2':(78, 31, 162)} upper = {'type1':(62,255,255),'type2':(179,255,255)} # define cac mau sac chuan colors = {'red':(0,0,255), 'green':(0,255,0)} count = maxx =0 # Thiet lap cau hinh cho serial port ser = serial.Serial('/dev/ttyACM0',115200) while True: # Kiem tra co du lieu nhan duoc tren serial port khong? if (ser.in_waiting >0): data=ser.readline() print(data) if (data == b'1\r\n'): maxx=0 # Doc tung frame anh mot tu webcam ret, frame = cap.read() frame = imutils.resize(frame, width=600) # Chuyen anh tu khong gian mau BGR sang HSV hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) for key, value in upper.items(): kernel = np.ones((5,5),np.uint8) mask = cv2.inRange(hsv, lower[key], upper[key]) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 62 PHỤ LỤC mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, kernel) mask = cv2.morphologyEx(mask, cv2.MORPH_CLOSE, kernel) result = cv2.bitwise_and(frame, frame, mask = mask) # Tim bien tu mat la cnts=cv2.findContours(mask.copy(),cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)[-2] cnts = sorted(cnts, key = cv2.contourArea, reverse = True) center = None if (key == "type1" or key =="type2"): for t,c in enumerate(cnts): ((x, y), radius) = cv2.minEnclosingCircle(c) M = cv2.moments(c) center = (int(M["m10"] / M["m00"]), int(M["m01"] / M["m00"])) if (radius >=35 and radius 50 and int (center[0]) < 500) if (count > maxx): maxx=count elif(int (center[0]) >=500): string = str(maxx) print("uart",string) string = string +"\r" ser.write(string.encode()) ser.flush() cv2.putText(frame,"Detect:", (30,30), cv2.FONT_HERSHEY_SIMPLEX, 0.6,colors["green"],2) cv2.putText(frame,str(maxx), (140,30), cv2.FONT_HERSHEY_SIMPLEX, 0.6,colors["green"],2) cv2.line(frame, (50, 0), (50, frame.shape[0]), (0,255,0), 2) cv2.line(frame, (500, 0), (500, frame.shape[0]), (0,255,0), 2) cv2.imshow("Output", frame) BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 63 PHỤ LỤC #cv2.imshow("mask", mask) count =0 key = cv2.waitKey(1) & 0xFF if key == ord("q"): break cap.release() cv2.destroyAllWindows() ser.close() II Chương trình Arduino #include #include #include #include LiquidCrystal_I2C lcd(0x27,16,2); String buff=""; //Biến dùng để lưu liệu từ Raspberry Pi String data=""; String flag=""; Servo myservo; const int stepsPerRevolution = 150; Stepper myStepper(stepsPerRevolution, 9,10,11,12); int bdn = 0; int trigPin1 = 5; int echoPin1 = 6; int trigPin2 = 7; int echoPin2 = 8; int dem=1; int dem_phathien=1; int stepdc=0; void setup() { lcd.init(); lcd.backlight(); Serial.begin (115200); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 PHỤ LỤC pinMode(trigPin1, OUTPUT); pinMode(echoPin1, INPUT); pinMode(trigPin2, OUTPUT); pinMode(echoPin2, INPUT); myStepper.setSpeed(150); myservo.attach(3); myservo.write(0); TIMSK2 = (TIMSK2 & B11111110) | 0x00; TCCR2B = (TCCR2B & B11111000) | 0x07; } int firstsensor() { int duration1, distance1; digitalWrite (trigPin1, HIGH); delayMicroseconds (10); digitalWrite (trigPin1, LOW); duration1 = pulseIn (echoPin1, HIGH); distance1 = int(duration1/ / 29.412); return distance1; } int secondsensor() { int duration2, distance2; digitalWrite (trigPin2, HIGH); delayMicroseconds (10); digitalWrite (trigPin2, LOW); duration2 = pulseIn (echoPin2, HIGH); distance2 = int(duration2/ / 29.412); return distance2; } void loop() { BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 PHỤ LỤC int kc1,kc2; myStepper.step(stepsPerRevolution); if (Serial.available()) //Nếu có tín hiệu từ Pi { buff = Serial.readStringUntil('\r'); //Đọc vào đến gặp \r (xuống dòng) Serial.flush(); data=buff; } kc1=firstsensor(); kc2=secondsensor(); if (kc1 =9 && dem_phathien==1) { flag="0"; dem_phathien+=1; if (dem_phathien ==2) dem_phathien=1; } lcd.setCursor(0,0); lcd.print("NUMBER:"); lcd.setCursor(10,0); if (flag =="0") lcd.print("None"); else if(data =="10" ) { lcd.print(data); lcd.print(" "); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66 PHỤ LỤC else { lcd.print(data); lcd.print(" "); } if ((data =="0" || data=="1" || data == "2" || data == "3" || data == "4" || data == "5" | data == "6" || data == "7" || data == "8" || data == "9" ) && flag == "1" && kc2 =10) { TIMSK2 = (TIMSK2 & B11111110); } else if (flag == "1" && data=="10" && kc2 >=10) { TIMSK2 = (TIMSK2 & B11111110); } if (data=="10" && dem ==1 && kc2 =90 && bdn