(Đồ án tốt nghiệp) nghiên cứu phân tích chuyển động của mắt để xuất ra tín hiệu điều khiển xe lăn

86 3 0
(Đồ án tốt nghiệp) nghiên cứu phân tích chuyển động của mắt để xuất ra tín hiệu điều khiển xe lăn

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CƠ KHÍ CHẾ TẠO MÁY ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ NGHIÊN CỨU PHÂN TÍCH CHUYỂN ĐỘNG CỦA MẮT ĐỂ XUẤT RA TÍN HIỆU ĐIỀU KHIỂN XE LĂN GVHD: TS.VŨ QUANG HUY SVTH: NGÔ TUẤN ANH MSSV: 10911014 SVTH: NGUYỄN ĐĂNG TIẾN MSSV: 10911058 SKL003864 Tp Hồ Chí Minh, tháng 7/2015 TRƢỜNG ĐH SƢ PHẠM KỸ THUẬT TP.HCM CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA CƠ KHÍ CHẾ TẠO MÁY Độc lập - Tự – Hạnh phúc Bộ môn CƠ ĐIỆN TỬ NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Giảng viên hƣớng dẫn: TS.VŨ QUANG HUY Sinh viên thực hiện: NGÔ TUẤN ANH NGUYỄN ĐĂNG TIẾN Tên đề tài: “Nghiên cứu phân tích chuyển động mắt để xuất tín hiệu điều khiển xe lăn “ 2.Các số liệu,tài liệu ban đầu: 3.Nội dung đồ án: a Nguyên cứu phân tích chuyển động mắt xuất tín hiệu điều khiển  Nguyên cứu ,lập trình phần mềm phân tích chuyển động mắt C++  Xuất tín hiệu điều khiển b Thiết kế chế tạo mơ hình xe lăn  Vẽ vẽ chi tiết mơ hình hình xe lăn  Tính tốn chọn động cho mơ hình  Kết nói mạch điều khiển động cơ(sử dụng modul arduino)  Sử dụng phần mềm xử lý ảnh điều khiển mô hình xe lăn Các sản phẩm dự kiến  Mơ hình xe lăn hồn thiện  Phần mềm sử lý ảnh phân tích chuyển động mắt Ngày giao đồ án: 23/3/2015 Ngày nộp đồ án: 28/7/2015 TRƢỞNG BỘ MÔN (Ký,ghi rõ họ tên)  GIẢNG VIÊN HƢỚNG DẪN (Ký,ghi rõ họ tên) Đƣợc phép bảo vệ ………………………………………… (GVHD ký,ghi rõ họ tên) i Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy LỜI CAM KẾT - Tên đề tài: Nghiên cứu phân tích chuyển động mắt để xuất tín hiệu điều khiển xe lăn - GVHD: TS.Vũ Quang Huy - Họ tên sinh viên: Ngô Tuấn Anh - Địa sinh viên: Kp VII-TT Chơn Thành-Huyện Chơn Thành-Tỉnh Bình Phƣớc - Số điện thoại liên lạc: 0979508082 - Email: tuananhcdt10@gmail.com - Ngày nộp khoá luận tốt nghiệp (ĐATN): 28/7/2015 - Lời cam kết: “Tôi xin cam đoan khố luận tốt nghiệp (ĐATN) cơng trình tơi nghiên cứu thực hiện.Tơi khơng chép từ viết cơng bố mà khơng trích dẫn nguồn gốc.Nếu có vi phạm nào,tơi xin chịu hồn tồn trách nhiệm” Tp.Hồ Chí Minh,ngày ….tháng ….năm 20… Ký tên Ngơ Tuấn Anh ii Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy LỜI CẢM ƠN Lời đầu tiên,chúng em xin gửi đến Thầy TS Vũ Quang Huy lời cảm ơn chân thành sâu sắc nhất.Nhờ có hƣớng dẫn giúp đỡ tận tình Thầy suốt thời gian qua,chúng em thực hồn thành Đồ Án Cơ Điện Tử Đồ Án Tốt Nghiệp.Những lời nhận xét,góp ý dẫn tận tình Thầy giúp chúng em có định hƣớng đắn suốt trình thực Đề tài,giúp chúng em nhìn đƣợc ƣu khuyết điểm Đề tài bƣớc hoàn thiện Đồng thời,chúng em xin trân trọng cảm ơn Thầy Cô Trƣờng Đại Sƣ Phạm Kỹ Thuật Tp.HCM,các Thầy Cô khoa Cơ Khí Chế Tạo Máy nói chung Bộ Mơn Cơ Điện Tử nói riêng dạy dỗ chúng em suốt quãng thời gian ngồi ghế giảng đƣờng Đại học.Những lời giảng Thầy Cô bục giảng trang bị cho chúng em kiến thức giúp chúng em tích lũy thêm kinh nghiệm Bên cạnh đó,chúng tơi xin cảm ơn hỗ trợ giúp đỡ bạn bè thời gian học tập Trƣờng Đại Học Sƣ Phạm Kỹ Thuật Tp.HCM q trình hành trình hồn thành Đồ Án Tốt Nghiệp Cuối cùng,chúng chân thành cảm ơn động viên hỗ trợ cha mẹ gia đình suốt thời gian học tập.Đặc biệt,chúng xin gửi lời cảm ơn trân trọng đến cha mẹ,ngƣời sinh nuôi dƣỡng chúng nên ngƣời.Sự quan tâm,lo lắng hy sinh lớn lao cha mẹ động lực cho chúng cố gắng phấn đấu đƣờng học tập mình.Một lần nữa,chúng xin gửi đến cha mẹ biết ơn sâu sắc Tp.Hồ Chí Minh,ngày 15 tháng 07 năm 2015 Ngô Tuấn Anh Nguyễn Đăng Tiến iii Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy TÓM TẮT ĐỒ ÁN TÊN ĐỀ TÀI Nghiên cứu phân tích chuyển động mắt để xuất tín hiệu điều khiển xe lăn Nhằm cải thiện khả di chuyển ngƣời khuyết tật,đề tài: ” Nghiên cứu phân tích chuyển động mắt để xuất ratín hiệu điều khiển xe lăn” đời.Đề tài tập trung vào nghiên cứu phƣơng pháp điều khiển xe lăn ánh mắt bao gồm yếu tố:  Nghiên cứu phân tích chuyển động mắt xửlý ảnh  Chuyển tín hiệu ảnh xử lý sang tín hiệu điều khiển động xe lăn  Thiết kế chế tạo mơ hình xe lăn điều khiển mơ hình tín hiệu mắt Yếu tố phân tích chuyển động mắt đƣợc nhóm nghiên cứu giải việc thiết kế lập trình giao diện điều khiển ngôn ngữ C++ Micorosoft kết hợp với thƣ viện ảnh nguồn mở OpenCV Webcam thu tín hiệu chuyển động mắt Một điểm đặc biệt cơng trình việc tích hợp module thu phát tín hiệu khơng dây(HC-11 Bluetooth Module).Để kết nối Pc với mơ hình xe lăn giúp tăng khả hoạt động mơ hình giảm trở xe di chuyển Để điều khiển tối ƣu cho mô hình xe lăn,nhóm nghiên cứu ứng dụng lập trình mạch điều khiển với Adruino cách thiết bị điện tử khác để tạo điều khiển động tối ƣu Sản phẩm giao diện phần mềm xử lý ảnh mơ hình xe đƣợc nhóm lập trình chế tạo thành cơng,kết thực nghiệm vận hành,đáp ứng đƣợc mục tiêu đề ra.Bên cạnh sản phẩm số hạn chế thời gian vận hành tính phục vụ cho ngƣời dùng cịn hạn chế Sinh viên Ngơ Tuấn Anh Nguyễn Đăng Tiến iv Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy ABSTRACT Analysis of Eye Movement to Control Wheelchair In daily life,the disabled people need the help of autonomous wheelchair.Requirements of autonomous wheelchair is capable of support the move for disabled people.There are many methods for autonomous wheelchair.One of the many advantages the technology used is Image Processing This project presented a research of eye movements using image processing methods.This system has ability to identify,locate the coordinate position of eye in an image based on color feature in an image based on color features,then calculate the distance,the replacement of the eye position.After processing,the computer will transmit control signal to wheelchairs via Bluetooth Transceiver.Wheelchairs will process those signal to move to the destination v Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP .i LỜI CAM KẾT ii LỜI CẢM ƠN iii TÓM TẮT ĐỒ ÁN iv ABSTRACT v MỤC LỤC vi DANH MỤC BẢNG BIỂU viii DANH MỤC SƠ ĐỒ,HÌNH VẼ ix DANH MỤC TỪ VIẾT TẮT xi CHƢƠNG 1: TỔNG QUAN .1 1.1.Giới thiệu chung 1.2.Ý nghĩa đề tài 1.3 Mục tiêu nghiên cứu đề tài 1.4 Đối tƣợng phạm vi nguyên cứu 1.4.1 Đối tƣợng nghiên cứu 1.4.2 Phạm vi nghiên cứu 1.5 Phƣơng pháp thực 1.6 Kết cấu đề tài CHƢƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Lý thuyết xử lý ảnh 2.1.1 Cấu trúc file ảnh 10 2.1.2Ảnh màu 10 2.1.3 Không gian màu (Color Space) 10 2.1.4 Không gian màu RGB (RGB Color Space) [6] 11 2.1.5 Không gian màu xám (Gray-scale Color Space) 12 2.1.6 Không gian màu HSV 13 2.1.7 Không gian màu nhị phân 13 vi Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy 2.1.8 Chuyển đổi ảnh màu sang ảnh xám 2.1.9 Chuyển đổi ảnh xám sang ảnh nhị phân 2.1.10 Giải thuật CAMSHIFT (Continuously Adaptive Mean Shift) 2.1.11Kỹ thuật lọc số - làm trơn nhiễu 2.2 2.2.1 2.3 Lý thuyêt Open CV: Cách tổ chức Thiết bị điều khiển Arduino 2.3.1 Khả mạch Arduino 2.3.2 Đọc tín hiệu cảm biến ngõ vào 2.3.3 Xuất tín hiệu điều khiển ngõ 2.3.4 Chuẩn giao tiếp 2.3.5 Mơi trƣờng lập trình mạch Arduino 2.3.6 Các loại bo mạch Arduino CHƢƠNG 3: THIẾT KẾ CƠ KHÍ VÀ MẠCH ĐIỀU KHIỂN 3.1 3.1.1 Thiết kế mô hình xe lăn Thi cơng mơ hình 3.2 Lựa chọn động 3.3 Lựa chọn thiết bị tâm xử lý ảnh 3.3.1 Máy tính PC,Laptop 3.3.2 Main cơng nghiệp,máy tính nhúng PC 104 3.3.3 Single Board Computer (SBC) sử dụng Single on Chip (SoC 3.3.4 Kết luận: 3.4 Thiết bị trung tâm điều khiển động 3.5 Thiết bị kết nối giao tiếp 3.6 Mạch công suất 3.7 Kết luận: vii Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy CHƢƠNG 4: THIẾT KẾ CHƢƠNG TRÌNH XỬ LÝ ẢNH 39 4.1 Phát triển chƣơng trình xử lý tín hiệu mắt điều khiển xe lăn 39 4.1.1 Xử lý ngầm 40 4.1.2 Xử lý 41 4.2 Ứng dụng thƣ viện Open CV thiết kế chƣơng trình xử lý ảnh 44 4.2.1 Thiết kế quy trình phân tích chuyển động ,vị trí mắt 45 CHƢƠNG 5: KẾT QUẢ VÀ THỰC NGHIỆM 53 5.1 Chế tạo mơ hình xe lăn 53 5.2 Giao diện điều khiển 53 5.3 Xử lý hiển thị tọa độ mắt hƣớng di chuyển 54 CHƢƠNG 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 57 6.1 Kết luận 57 6.2 Đề nghị 57 6.3 Hƣớng phát triển đề tài 57 TÀI LIỆU THAM KHẢO 58 PHỤ LỤC 59 A:Một số hàm Opencv đƣợc sử dụng để xử lý chƣơng trinh sử lý ảnh .59 B: Code chƣơng trình sử lí ảnh 61 C: Code chƣơng trình điều khiển động 63 DANH MỤC BẢNG BIỂU,BIỂU ĐỒ Biểu đồ 2.1: Kết tìm kiếm với giải thuật CAMSHIFT 18 Biểu đồ 2.2: Tìm pixel trung vị cửa sổ lọc 19 viii Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy Bảng 4.1: Ma trận pixel trƣớc sau qua lọc trung bình,kích thƣớc 3x3 48 Bảng 4.2: Ma trận pixel trƣớc sau qua lọc trung vị,kích thƣớc 3x3 49 Bảng 4.3: Mảng giá trị pixel ma trận lọc trung vị qua xếp 49 DANH MỤC SƠ ĐỒ,HÌNH ẢNH Hình 1.1: Ngƣời khuyết tật gặp khó khăn việc di chuyển Hình 1.2: Điều khiển tay Hình 1.3: Điều khiển Joystick Hình 1.4: Xe lăn điều khiển thở ngƣời liệt phần toàn thân Hình 1.5: Điều khiển xe lăn điện mắt ix Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn Bảng 5.1: Liệt kê thay đổi tọa độ sai số so với tọa độ thực theocác hƣớng nhìn Tọa độ Lần test set poin 227 129 Từ Bảng 6.3 ta đƣa tiêu chuẩn so sánh để biết đƣợc hƣớng nhìn từ đƣa hƣớng di chuyển chuỗi tín hiệu cần truyền nhƣ sau:  Nếu X_current point> X_set point + 30 => nhìn sang phải  Nếu X_current point nhìn sang trái  Nếu Y_current point> Y_set point + 20 => nhìn xuống  Nếu Y_current point> Y_set point -20 => nhìn sang phải 56 Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy CHƢƠNG 6: KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 6.1 Kết luận Đồ án“ NGHIÊN CỨU PHÂN TÍCH CHUYỂN ĐỘNG CỦA MẮT ĐIỀU KHIỂN MƠ HÌNH XE LĂN“ đạt đƣợc mục tiêu là: - Thiết kế hoàn thiện phần khí là: mơ hình xe lăn,phần mạch điện để điều khiển xe lăn,giao tiếp xe lăn - Máy tính - Xây dựng chƣơng trình nhận dạng chuyển độn mắt chƣơng trình điều khiển xe lăn Tuy nhiên,vì thời gian thực đồ án nên nhóm cịn gặp số khó khăn nhƣ sau: - Do lần tiếp xúc với công nghệ xử lý ảnh nên thuật tốn xử lý ảnh cịn nhiều hạn chế,chƣa tối ƣu hóa hình ảnh - Q trình xử lý ảnh xuất tọa độ ,vị trí chuyển động mắt xuất sai số so với tọa độ thực rung lắc camera điều kiện ánh sáng - Kết nhận dạng phụ thuộc nhiều vào điều kiện ánh sáng bên ngoài.Là nguyên nhân làm việc nhận dạng bị nhiễu dẫn đến việc tính tốn thơng số cho việc điều khiển xe lăn xác khó khăn 6.2 Đề nghị  Thay Webcam Camera chất lƣợng cao để đảm bảo ảnh chụp đƣợc tốt hơn,hạn chế nhiễu  Nghiên cứu thuật toán tối ƣu cho chƣơng trình xử lí ảnh điều khiển động 6.3Hƣớng phát triển đề tài  Hoàn thiện chống nhiễu cho camera Sử dụng thiết bị thông minh: Smart phone,Tablet để thay laptop tối ƣuhóa hệ thống điều khiển  Nghiên cứu,ứng dụng công nghệ vào chế tạo sản phẩm xe lăn hồn chỉnh Kết hợp với cơng nghệ tránh vật cảm biến siêu âm,cảm biến hồng ngoại,định vị GPS 57 Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy TÀI LIỆU THAM KHẢO Tiếng Việt [1] TS.Đỗ Năng Toàn,TS.Phạm Việt Bình,Giáo trình xử lý ảnh,Khoa CNTT – Đại  học Thái Nguyên,2007.( TLTK GTGD) [2] PGS.TS Nguyễn Quang Hoan,Xử lý ảnh,Học viện Cơng nghệ bƣu viễn  thông,2006.( TLTK GTGD) Tiếng Anh [3] Michael Margolis,“Arduino cookbook”,O’reilly,oreilly.com [4] Linda Shapiro and George Stockman,Computer vision,The University of Washington,Departure of Computer Science Michigan State University,2000 [5] Daniel Lelis Baggio and various authors,Mastering OpenCV with Practical Computer Vision Projects,2012 Nguồn khác [6] (http: //dientuquangtruong.com/arduino-uno-r3-atmega328.html) (http: //thegioiic.com/product/rf-transceiver-wifi-bluetooth-wirelessmodules) [7] 58 Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy PHỤ LỤC A:Một số hàm Opencv đƣợc sử dụng để xử lý chƣơng trinh sử lý ảnh 1) cvSetImageROI(img,cvRect(a,b,c,d)): Hàm dùng việc cài đặt kích thƣớc khung hình.Khung hình khung hình load từ camera ( kênh màu) khung hình xử lý (1 kênh màu) img: Biến ảnh đầu vào cvRect(a,b,c,d): Giá trị điều chỉnh khung hình 2) có img2=cvCreateImage(cvGetSize(img),8,3): Tạo ảnh kênh màu từ ảnh sẵn.Ảnh có kích thƣớc giống ảnh cũ,tuy nhiên nội dung ảnh tạo rỗng,không giống ảnh cũ img: Ảnh có trƣớc img2: Ảnh tạo 3) img2=cvCreateImage(cvGetSize(img),8,1): Tạo ảnh kênh màu (ảnh xám) từ ảnh có sẵn 4) cvCopy(img,img2): Copy liệu ảnh có sang ảnh img: Ảnh đƣợc copy img2: Ảnh copy 5) cvLUT( img,img1,lut_mat ): Hỗ trợ việc điều chỉnh độ sáng độ tƣơng phản ảnh theo ma trận nhị phân img: Ảnh đầu vào img2: Ảnh sau qua xử lý lut_mat: Ma trận nhị phân 6) cvCvtPixToPlane(img,0,img2,0,0): Hàm tách kênh màu ảnh kênh màu RGB img: Ảnh đầu vào img2: Ảnh qua xử lý.Vị trí đặt ảnh qua xử lý định kênh màu tách(B-G-R) 7) cvInRangeS(img,cvScalar(x),cvScalar(y),img2): Tách ngƣỡng giá trị pixel ảnh kênh màu img: Ảnh đầu vào img2: Ảnh qua tách ngƣỡng 59 Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn x: Ngƣỡng pixel dƣới y: Ngƣỡng pixel GVHD: TS Vũ Quang Huy 8) cvInRangeS(img,cvScalar(x,y,z),cvScalar(x1,y1,z1),img2): Tách ngƣỡng kênh màu img: Ảnh đầu vào img2: Ảnh qua xử lý (x,y,z): Ngƣỡng Pixel dƣới (x1,y1,z1): Ngƣỡng Pixel 9) cvSmooth(img,img2,CV_MEDIAN,7,0,0,0): Hàm làm mƣợt ảnh img: Ảnh đầu vào img2: Ảnh qua xử lý CV_ MEDIAN: Bộ lọc trung vị.Tùy thuộc vào mục đích mà sử dụng lọc khác 10) cvCircle(img,center,40,cvScalar(50,0,250),2,8,0): hỗ trợ việc đánh dấu đối tƣợng 60 Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy B: Code chƣơng trình sử lí ảnh IplImage*Frame; while (exit==false) { Frame=cvQueryFrame(capture); // thu nhan anh tu camera cvSetImageROI(Frame,cvRect(0,0,420,286)); //set cua so xu ly co kich thuoc giong voi kt cua window VideoFrame=cvCreateImage(cvGetSize(Frame),8,3); // bua anh thu nhan tu camera la anh mau kenh cvCopy(Frame,VideoFrame); IplImage* img2=cvCreateImage(cvGetSize(VideoFrame),8,1); // tao anh xu ly chi co kenh cvLUT( VideoFrame, VideoFrame, lut_mat ); // ham thay doi sang va tuong phan if(VideoFrame!=nullptr) { cvInRangeS(VideoFrame, cvScalar(0,0,0), cvScalar(10,10,10), img2); // tach mau, tach nguong anh thu duoc tu camera de anh kenh cvSmooth(img2,img2,CV_MEDIAN,7,0,0,0); //lam muot anh, giam nhieu hat nho CBlobResult blobs = CBlobResult(img2, NULL, ); //ham tach khoi CBlob *currentBlob; int sum = blobs.GetNumBlobs(); for (int i = 0; i < blobs.GetNumBlobs(); i++ ) tat ca cac khoi co anh xu ly { 61 // quet het Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy currentBlob = blobs.GetBlob(i); int ae = (int)currentBlob->Area(); CvBox2D box = currentBlob->GetEllipse(); CvPoint center = cvPointFrom32f(box.center); if( ae >= 1500) // neu thoa man dien tich thi la khoi ban tim { cvCircle(VideoFrame,center,40,cvScalar(50,0,250),2,8,0); x = center.x; y = center.y; cvCircle(img2,center,5,cvScalar(0,0,0),2,8,0); //danh dau khoi } } } if(Frame!=nullptr) bmp = gcnew Bitmap(Frame->width, Frame->height, Frame>widthStep,System::Drawing::Imaging::PixelFormat::Format24bppRgb, IntPtr(Frame->imageData));//hien thi tren picturebox cvReleaseImage(&VideoFrame); // lam mat anh cu di, thu nhan anh moi de xu ly tiep (100ms/1 lan load anh) cvShowImage("THRESHOLD",img2); cvReleaseImage(&img2); } //while exit } 62 Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy C: Code chƣơng trình điều khiển động //defining connections to L298N #define input1 #define input2 #define input3 #define input4 #define input21 13 #define input22 12 #define input23 11 #define input24 10 long old_time,new_time; byte right_counter=0,left_counter=0; char du_lieu[4]; byte dem,left_motor,right_motor; void setup() { pinMode(input1,OUTPUT); pinMode(input2,OUTPUT); pinMode(input3,OUTPUT); pinMode(input4,OUTPUT); pinMode(input21,OUTPUT); pinMode(input22,OUTPUT); pinMode(input23,OUTPUT); pinMode(input24,OUTPUT); Serial.begin(9600); } void loop() { new_time=millis(); if (Serial.available() != 0) { du_lieu[dem++]=Serial.read(); } if(dem>3) { if(du_lieu[0]=='e'&&du_lieu[3]=='s') { left_motor=du_lieu[1]-48; right_motor=du_lieu[2]-48; } dem=0; } start_motor_one_step(left_motor,right_motor); } void start_motor_one_step(int left_motor,int right_motor) 63 Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn { if(new_time-old_time>=3) { right_counter++; if(right_counter>4)right_counter=0; left_counter++; if(left_counter>4)left_counter=0; old_time=new_time; } if(left_motor==2) { switch(left_counter) { case 1: { delay(5); digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,LOW); digitalWrite(input4,HIGH); break; } case 2: { delay(5); digitalWrite(input1,LOW); digitalWrite(input2,HIGH); digitalWrite(input3,LOW); digitalWrite(input4,HIGH); break; } case 3: { delay(5); digitalWrite(input1,LOW); digitalWrite(input2,HIGH); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); 64 GVHD: TS Vũ Quang Huy Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn break; } case 4: { delay(5); digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); break; } } } if(left_motor!=1 && left_motor!=2) { delay(5); digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); } if(right_motor==2) { switch(right_counter) { case 1: { delay(5); digitalWrite(input21,HIGH); digitalWrite(input22,LOW); digitalWrite(input23,LOW); digitalWrite(input24,HIGH); break; } case 2: { delay(5); digitalWrite(input21,LOW); digitalWrite(input22,HIGH); 65 GVHD: TS Vũ Quang Huy Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn digitalWrite(input23,LOW); digitalWrite(input24,HIGH); break; } case 3: { delay(5); digitalWrite(input21,LOW); digitalWrite(input22,HIGH); digitalWrite(input23,HIGH); digitalWrite(input24,LOW); break; } case 4: { delay(5); digitalWrite(input21,HIGH); digitalWrite(input22,LOW); digitalWrite(input23,HIGH); digitalWrite(input24,LOW); break; } } } if(right_motor!=1 && right_motor!=2) { delay(5); digitalWrite(input21,HIGH); digitalWrite(input22,LOW); digitalWrite(input23,HIGH); digitalWrite(input24,LOW); } if(left_motor==1) { switch(left_counter) { case 1: { delay(5); digitalWrite(input1,LOW); digitalWrite(input2,HIGH); digitalWrite(input3,LOW); 66 GVHD: TS Vũ Quang Huy Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn digitalWrite(input4,HIGH); break; } case 2: { delay(5); digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,LOW); digitalWrite(input4,HIGH); break; } case 3: { delay(5); digitalWrite(input1,HIGH); digitalWrite(input2,LOW); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); break; } case 4: { delay(5); digitalWrite(input1,LOW); digitalWrite(input2,HIGH); digitalWrite(input3,HIGH); digitalWrite(input4,LOW); break; } } } if(right_motor==1) { switch(right_counter) 67 GVHD: TS Vũ Quang Huy Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn { case 1: { delay(5); digitalWrite(input21,LOW); digitalWrite(input22,HIGH); digitalWrite(input23,LOW); digitalWrite(input24,HIGH); break; } case 2: { delay(5); digitalWrite(input21,HIGH); digitalWrite(input22,LOW); digitalWrite(input23,LOW); digitalWrite(input24,HIGH); break; } case 3: { delay(5); digitalWrite(input21,HIGH); digitalWrite(input22,LOW); digitalWrite(input23,HIGH); digitalWrite(input24,LOW); break; } case 4: { delay(5); digitalWrite(input21,LOW); digitalWrite(input22,HIGH); digitalWrite(input23,HIGH); digitalWrite(input24,LOW); break; } } } } 68 GVHD: TS Vũ Quang Huy ... ” Nghiên cứu phân tích chuyển động mắt để xuất ratín hiệu điều khiển xe lăn? ?? đời.Đề tài tập trung vào nghiên cứu phƣơng pháp điều khiển xe lăn ánh mắt bao gồm yếu tố:  Nghiên cứu phân tích chuyển. .. cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy TÓM TẮT ĐỒ ÁN TÊN ĐỀ TÀI Nghiên cứu phân tích chuyển động mắt để xuất tín hiệu điều khiển xe lăn Nhằm cải thiện khả di chuyển. .. họ tên) i Nghiên cứu phân tích chuyển động mắt điều khiển xe lăn GVHD: TS Vũ Quang Huy LỜI CAM KẾT - Tên đề tài: Nghiên cứu phân tích chuyển động mắt để xuất tín hiệu điều khiển xe lăn - GVHD:

Ngày đăng: 22/12/2021, 06:05

Tài liệu cùng người dùng

Tài liệu liên quan