1. Trang chủ
  2. » Luận Văn - Báo Cáo

Điều khiển robot bằng board raspberry PI và ứng dụng android

96 5 0

Đ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

MỤC LỤC Trang PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP .iii PHIẾU ĐÁNH GIÁ KHÓA LUẬN TỐT NGHIỆP iv LỜI CAM ĐOAN v LỜI CẢM ƠN vi MỤC LỤC vii LIỆT KÊ HÌNH VẼ x LIỆT KÊ BẢNG xiii TÓM TẮT xiv 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 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ ROBOT 2.1.1 Robot di động 2.1.2 Robot dùng cấu bánh xe 2.2 GIỚI THIỆU MẠNG KHÔNG DÂY – Wireless LAN 2.2.1 Công nghệ mạng không dây 2.2.2 Phân loại loại mạng không dây 10 2.2.3 Tiêu chuẩn mạng không dây 11 2.2.4 Ưu điểm mạng không dây WLAN 11 2.2.5 Nhược điểm mạng không dây WLAN 12 2.3 GIỚI THIỆU HỆ ĐIỀU HÀNH ANDROID 12 2.3.1 Kiến trúc hệ điều hành Android: 13 2.3.2 Công cụ phát triển Android: 14 2.3.3 Cấu trúc dự án Android: 15 2.3.4 Vòng đời ứng dụng Android: 16 2.3.5 Các thành phần ứng dụng Android: 16 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP vii 2.3.6 2.4 Cảm biến IMU 19 LẬP TRÌNH SOCKET TCP 21 2.4.1 Khái niệm Socket 21 2.4.2 Đặc điểm Socket 22 2.4.3 Lập trình Socket dùng ngôn ngữ Python 22 2.4.4 Lập trình Socket dùng ngôn ngữ Java Android 23 2.5 GIỚI THIỆU PHẦN CỨNG 24 2.5.1 Board Raspberry Pi 25 2.5.2 USB Wifi TP-Link 29 2.5.3 USB Webcam Logitech 30 2.5.4 Mạch điều khiển động L298 31 2.5.5 Động điện chiều 34 Chương TÍNH TỐN VÀ THIẾT KẾ 36 3.1 GIỚI THIỆU 36 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 36 3.2.1 Thiết kế sơ đồ khối hệ thống 36 3.2.2 Tính tốn thiết kế mạch 38 3.2.3 Sơ đồ nguyên lý toàn mạch 40 Chương THI CÔNG HỆ THỐNG 41 4.1 GIỚI THIỆU 41 4.2 THI CÔNG HỆ THỐNG 41 4.2.1 Thi công mạch 41 4.2.2 Thi công khung Robot 41 4.2.3 Lắp ráp kiểm tra 44 4.3 ĐÓNG GÓI VÀ THI CƠNG MƠ HÌNH 44 4.4 LẬP TRÌNH HỆ THỐNG 46 4.4.1 Lưu đồ giải thuật 46 4.4.2 Phần mềm lập trình cho board Raspberry Pi 53 4.4.3 Phần mềm lập trình cho điện thoại: 59 4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG VÀ THAO TÁC 78 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 81 5.1 KẾT QUẢ 81 5.1.1 Cảm biến Orientation 81 5.1.2 Raspberry Pi 81 5.1.3 Module Wifi 81 5.1.4 Module L298 81 5.1.5 Thiết kế Robot 81 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP viii 5.1.6 Khối nguồn 82 5.1.7 Lập trình ưng dụng Android điều khiển 82 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 84 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 85 6.1 KẾT LUẬN 85 6.2 HƯỚNG PHÁT TRIỂN 85 TÀI LIỆU THAM KHẢO 87 PHỤ LỤC 89 BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP ix LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1 Robot Dante lấy mẫu phân tích từ núi lửa Hình 2.2 Sự phát triển Robot Hình 2.3 Robot di động dùng cấu khớp bánh xe Hình 2.4 Các loại Robot di động dùng cấu bánh xích Hình 2.5 Các loại bánh xe Robot Hình 2.6 Robot di chuyển bánh xe Hình 2.7 Các loại mạng khơng dây 10 Hình 2.8 Các phiên hệ điều hành android 13 Hình 2.9 Kiến trúc hệ điều hành Android 13 Hình 2.10 Công cụ lập trình cho Android 14 Hình 2.11 Các file Android Project 15 Hình 2.12 Vịng đời Activity 17 Hình 2.13 Phướng hướng cảm biến Accelerometer 19 Hình 2.14 Cảm biến quay hồi chuyển 20 Hình 2.15 Cảm biến Magnetic 21 Hình 2.16 Mô hình giao tiếp Server Client sử dụng Socket 22 Hình 2.17 Board Raspberry Pi 25 Hình 2.18 Sơ đồ chân GPIO board Raspberry Pi 28 Hình 2.19 Sự tương thích thiết bị ngoại vi Raspberry Pi 28 Hình 2.20 USB Wifi 29 Hình 2.21 Chipset USB Wifi 29 Hình 2.22 Webcam Logitech 30 Hình 2.23 Module L298 31 Hình 2.24 Mạch cầu H cấu tạo hai cặp transistor 32 Hình 2.25 Dạng sóng điều chế PWM 34 Hình 2.26 Động điện chiều 34 Hình 3.1: Sơ đồ khối hệ thống 37 Hình 3.2 Sơ đồ kết nối thành phần Robot 40 Hình 4.1 Mặt mặt khung Robot 42 Hình 4.2 Các mảnh ghép mặt bên khung Robot 42 Hình 4.3 Gá đỡ động 43 Hình 4.4 Bánh xe dẫn động 43 Hình 4.5 Động DC 12V giảm tốc (1:48) 43 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP x Hình 4.6 Nguồn cung cấp cho Robot 43 Hình 4.7 Bố trí linh kiện mặt Robot 45 Hình 4.8 Bố trí linh kiện mặt Robot 45 Hình 4.9 Giao diện ứng dụng điều khiển Robot 46 Hình 4.10 Lưu đồ chương trình ứng dụng Android 47 Hình 4.11 Lưu đồ kiểm tra đăng nhập ứng dụng 48 Hình 4.12 Lưu đồ kiểm tra đăng nhập chương trình 49 Hình 4.13 Xử lý thơng số cảm biến Orientation, gửi tín hiệu điều khiển Robot 50 Hình 4.14 Xử lý thơng tin hình ảnh Camera gửi từ Robot 51 Hình 4.15 Lưu đồ chương trình board Raspberry Pi 52 Hình 4.16 Chương trình định dạng thẻ nhớ 53 Hình 4.17 Chương trình ghi hệ điều hành Raspbian 54 Hình 4.18 Chương trình kết nối Raspberry máy tính 54 Hình 4.19 Màn hình đăng nhập vào kit Raspberry Pi 55 Hình 4.20 Đường dẫn cài đặt Java JDK phiên 60 Hình 4.21 Lựa chọn phiên JDK phù hợp với hệ điều hành sử dụng 60 Hình 4.22 File cài đặt Java JDK phiên 61 Hình 4.23 Bắt đầu cài đặt Java JDK phiên 61 Hình 4.24 Tuỳ chọn nơi cài đặt Java JDK phiên 61 Hình 4.25 Kết thúc cài đặt Java JDK kết thúc 62 Hình 4.26 Mở cửa sổ cấu hình Java JDK 62 Hình 4.27 Cấu hình biến mơi trường JAVA_HOME 63 Hình 4.28 Cấu hình đường dẫn biến môi trường JAVA_HOME 63 Hình 4.29 Quá trình download Android Studio 64 Hình 4.30 File cài đặt Android Studio 64 Hình 4.31 Chương trình cài đặt Andorid Studio 64 Hình 4.32 Tuỳ chọn cài đặt Android Studio 65 Hình 4.33 Điều khoản phần mềm Android Studio 65 Hình 4.34 Đường dẫn thư mục cài đặt Android Studio 66 Hình 4.35 Tuỳ chọn máy ảo phần mềm Android Studio 66 Hình 4.36 Cài đặt chương trình 67 Hình 4.37 Cài đặt chương trình hồn thành 67 Hình 4.38 Kết thúc cài đặt phần mềm Android Studio 68 Hình 4.39 Tuỳ chọn thiết lập phần mềm Android Studio 68 Hình 4.40 Tuỳ chọn giao diện phần mềm Android Studio 69 Hình 4.41 Cập nhật thành phần phần mềm Android Studio 69 Hình 4.42 Kết thúc thiết lập phần mềm Android Studio 70 BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP xi Hình 4.43 Cửa sổ tạo project phần mềm Android Studio 70 Hình 4.44 Đặt tên chọn đường dẫn lưu project 71 Hình 4.45 Chọn đối tượng Phone and Tablet để lập trình 72 Hình 4.46 Chọn cấu hình Activity trống để lập trình 72 Hình 4.47 Đặt tên cho Activity tên file layout Activity 73 Hình 4.48 Quá trình khởi tạo project dùng Android Studio 73 Hình 4.49 Cửa sổ mẹo vặt phần mềm 73 Hình 4.50 Cửa sổ MainActivity 74 Hình 4.51 Cửa sổ AndroidManifest 74 Hình 4.52 Cửa sổ Layout giao diện đồ hoạ 74 Hình 4.53 Cửa số Layout giao diện dòng lệnh 74 Hình 4.54 Chọn thiết bị để biên dịch chương trình 75 Hình 4.55 Cửa sổ chọn thiết bị để phần mềm biên dịch 75 Hình 4.56 Ứng dụng sau biên dịch thiết bị thực tế 75 Hình 4.57 Lưu đồ điều khiển Robot dùng điện thoại Andoird 78 Hình 4.58 Cấp nguồn cho hệ thống 79 Hình 4.59 Khởi động ứng dụng điều khiển điện thoại Android 80 Hình 4.60 Giao diện điều khiển Robot 80 Hình 5.1 Mơ hình Robot 82 Hình 5.2 Giao diện đăng nhập ứng dụng 83 Hình 5.3 Giao diện điều khiển nhận hình ảnh ứng dụng 83 Hình 6.1 Màn hình hiển thị Robot trang bị cảm biến laser scanner 86 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xii LIỆT KÊ BẢNG Bảng Trang Bảng 2.1: Bảng phân chia mạng không dây theo tiêu chuẩn IEEE 802.11 11 Bảng 2.2: Các phương thức chung cho Socket: 23 Bảng 2.3 Phân loại board Raspberry Pi 26 Bảng 2.4 Thông số webcam 30 Bảng 2.5 Thông số Module L298 31 Bảng 2.6 Chức chân Module L298 31 Bảng 2.7 Bảng tín hiệu điều khiển Robot 33 Bảng 3.1 Điện áp dòng điện hệ thống………….…………………………………39 Bảng 4.1 Danh sách linh kiện 41 Bảng 4.2 Chương trình hệ thống board Raspberry Pi 57 Bảng 4.3 Khai báo quyền truy cập mạng 76 Bảng 4.4 Khai báo cảm biến Orientation 76 Bảng 4.5 Xử lý tín hiệu điều khiển Robot 76 Bảng 4.6 Chương trình nhận liệu hình ảnh 77 Bảng 4.7 Chương trình khởi tạo Socket 77 BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP xiii TĨM TẮT Trong năm gần đây, công nghệ kỹ thuật cao việc chế tạo linh kiện điện tử tích hợp phát triển vượt bậc Việc sử dụng điện thoại thông minh để hỗ trợ công việc công tác quan sát, điều khiển thiết bị nơi nguy hiểm phổ biến Trong đó, điện thoại thông mình dùng hệ điều hành Android đa dạng, giá thành rẻ người ưa chuộng Các máy tính nhúng Raspberry Pi dùng hệ điều hành mở Linux nhà tài trợ phát triển hỗ trợ cung cấp đến đối tượng Đề tài sử dụng điện thoại dùng hệ điều hành Android điều khiển hướng di chuyển Robot cảm biến Orientation Việc điều khiển thực cách nghiêng điện thoại theo hướng muốn Robot di chuyển Khi Robot di chuyển có hình ảnh truyền từ Robot hiển thị lên hình điện thoại Tất thông tin điều khiển hiển thị hình điện thoại Hệ thống giúp người điều khiển quan sát hình ảnh từ xa thông qua Robot, đồng thời giúp người điều khiển có cảm giác điều khiển xe thật Hệ thống sử dụng môi trường mạng không dây Wifi để truyền tải hình ảnh rõ nét việc điều khiển xác Tuy nhiên, Robot hoạt động kiểm soát board Raspberry Pi thông qua điều khiển động DC chưa nhạy, sai số điều khiển chưa thấp mong đợi BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP xiv CHƯƠNG TỔNG QUAN Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Trong năm gần đây, việc áp dụng khoa học – kỹ thuật vào việc nghiên cứu, xây dựng, thám hiểm cứu hộ ngày phát triển Các cơng trình ngầm hóa như: tuyến hầm thông xe, hệ thống cấp thoát nước, các ̣ thớ ng điê ̣n lực, viễ n thơng… Ngồi ra, thám hiển hang động, di tích có khơng gian chật hẹp cơng tác cứu hộ xảy tai nạn lao động sập hầm, mơi trường rị rỉ khí gas, khí metan mà người trực tiếp tiếp xúc Đối với công trình xây dựng, từ khâu khảo sát xây dựng phải có kế hoạch đảm bảo an tồn lao động cho người cách phân tích mơi trường, khảo sát địa chất Khi cơng trình hồn thành, việc vận hành bảo trì gặp cố gặp khó khăn khơng gian chật hẹp hầm ngầm điều kiện môi trường thiế u ánh sáng, thiế u khí ơ-xy Đối với công tác thám hiểm, việc khảo sát trước địa hình mà người đặt chân đến quan trọng, đảm bảo an tồn cho đồn khảo sát Đối với cơng tác cứu hộ, mơi trường lao động khơng cịn đảm bảo, việc cứu hộ không quy trình nguy hiểm cho lực lươṇ g cứu hộ Với lý vừa nêu, Robot di động thay người làm các nhiệm vụ nguy hiểm Robot di chuyển linh hoạt khơng gian chật hẹp có kích thước nhỏ gọn linh hoạt Ngồi ra, Robot cịn trang bị camera để người điều khiển quan sát khoảng không gian bên hay loại cảm biến để xử lý thông tin điều kiện môi trường như: nhiệt độ, độ ẩm gửi liệu cho người điều khiển để nhận biết điều kiện môi trường nơi cần khảo sát Với mu ̣c tiêu thay người làm viê ̣c ở vùng nguy hiể m, hiê ̣n ta ̣i đã có các ứng du ̣ng Robot sử du ̣ng vi điề u khiể n PIC, Atmel, Freescale… Đặc biệt board Arduino sử dụng dòng chip AVR thiết kế Italia phát hành năm 2005 Board Arduino có thư viện mã nguồn mở đầy đủ, bao gồm thư viện, sơ đồ nguyên lý giúp cho người chưa tiếp xúc với việc lập trình sử dụng BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƯƠNG TỔNG QUAN Tuy nhiên, yêu cầu cao mà loại vi điều khiển hay board Arduino chưa làm thì máy tính nhúng Raspberry Pi Intel Galileo giúp cho việc xử lý truyền tải lượng lớn liệu dễ dàng So với máy tính nhúng khác, Raspberry Pi trang bị cấu hình phần cứng chuyên dùng cho tác vụ liên quan đến xử lý hình ảnh, giúp cho việc sử dụng đơn giản Mặt khác, điện thoại sử dụng hệ điều hành Android người lựa chọn sử dụng nhiều nên chọn đề tài:” Điề u khiể n Robot bằ ng board Raspberry Pi và ứng du ̣ng Android” 1.2 MỤC TIÊU Thiế t kế mô ̣t mô hiǹ h Robot điề u khiể n từ xa bằ ng điê ̣n thoa ̣i sử du ̣ng ̣ điề u hành Android di chuyể n điạ hiǹ h bằ ng phẳ ng Ứ ng du ̣ng Android đươ ̣c xây dựng sử du ̣ng cảm biế n phương hướng (orientation) để gử i tin ́ hiê ̣u điề u khiể n Board Raspberry Pi nhâ ̣n lê ̣nh để điề u khiể n các đô ̣ng và xử lý hiǹ h ả nh thu đươ ̣c Robot Sau đó, hình ảnh đươ ̣c truyền về hiể n thị điê ̣n thoa ̣i 1.3 NỘi DUNG NGHIÊN CỨU Để có thể thiế t kế đươ ̣c Robot có thể di chuyể n linh hoa ̣t và gử i đươ ̣c hình ảnh thu điện thoại sử du ̣ng ̣ điề u hành Android cầ n tìm hiể u các nô ̣i dung:  NỘI DUNG 1: Kỹ thuâ ̣t lập triǹ h ngôn ngữ Python môi trường Linux  NỘI DUNG 2: Cách sử du ̣ng phầ n mề m Android Studio để viế t mô ̣t ứ ng du ̣ng điề u khiể n Robot và nhâ ̣n dữ liệu hiǹ h ảnh từ Robot gử i về  NỘI DUNG 3: Tìm hiểu phương thức lập trình “Socket” giữa board Raspberry Pi và ứ ng du ̣ng Android  NỘI DUNG 4: Cách truyền nhận tín hiệu hình ảnh camera board Raspberry Pi úng dụng Android  NỘI DUNG 5: Cách điề u khiể n đô ̣ng DC bằ ng phương pháp băm xung – PWM  NỘI DUNG 6: Cách sử dụng phần mề m Solidworks để thiế t kế khung xe Robot  NỘI DUNG 7: Đánh giá hiệu chỉnh sự làm viê ̣c ứ ng du ̣ng Android điề u khiể n Robot BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP CHƯƠNG THI CÔNG HỆ THỐNG Các cửa sổ lập trình phần mềm Android Studio Hình 4.50 Cửa sổ MainActivity Hình 4.51 Cửa sổ AndroidManifest Hình 4.52 Cửa sổ Layout giao diện đồ hoạ Hình 4.53 Cửa số Layout giao diện dịng lệnh BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 74 CHƯƠNG THI CÔNG HỆ THỐNG Sau lập trình, để biên dịch ta chọn Run Hình 4.54 Chọn thiết bị để biên dịch chương trình Hình 4.55 Cửa sổ chọn thiết bị để phần mềm biên dịch  Choose a running device: lựa chọn thiết bị thực tế để biên dịch  Launch emulator: lựa chọn máy ảo Android virtual device để chọn thiết bị mô thiết bị thật Hình 4.56 Ứng dụng sau biên dịch thiết bị thực tế BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 75 CHƯƠNG THI CÔNG HỆ THỐNG b Chương trình hệ thống: Bảng 4.3 Khai báo quyền truy cập mạng Để tài yêu cầu sử dụng kết nối Wifi không dây nên ứng dụng cần cấp quyền (permission) truy cập mạng không dây Bảng 4.4 Khai báo cảm biến Orientation mySensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); mySensor = mySensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION); mySensorManager.registerListener(this, mySensor,SensorManager.SENSOR_DELAY_NORMAL); Đề tài sử dụng cảm biến Orientation, ứng dụng cần khai báo sử dụng Service hệ điều hành Android sử dụng loại cảm biến Orientation Bảng 4.5 Xử lý tín hiệu điều khiển Robot public void onSensorChanged(SensorEvent event) { float x, y, z; x = event.values[0]; y = event.values[0]; z = event.values[0]; //ToNumber decimal DecimalFormat dcf = new DecimalFormat("#.00"); txtvx.setText("X: " + dcf.format(x) + " rad"); txtvy.setText("Y: " + dcf.format(y) + " rad"); txtvz.setText("Z: " + dcf.format(z) + " rad"); if ((y < 10) && (z > 50)){ wifi.send("b/"); hienthi = "Back"; } if ((y < 10) && (z < 20)) { wifi.send("f/"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 76 CHƯƠNG THI CÔNG HỆ THỐNG hienthi = "Forward"; } if ( (y < -20) && (z < 50) && (z > 20)) { wifi.send("r/"); hienthi = "Turn Right"; } if ((y > 20) && (z < 50) && (z >20)) { wifi.send("l/"); hienthi = "Turn Left"; } if (((y > -20) && (y < 20)) && ((z > 20) && (z < 50))) { wifi.send("s/"); hienthi = "Stop"; } txtvHuongChay.setText(hienthi); } Để điều khiển khiển Robot, ứng dụng xử lý thông số mà Orientation gửi xử lý, gửi tín hiệu điều khiển cho board Raspberry Pi Bảng 4.6 Chương trình nhận liệu hình ảnh webview.setWebViewClient(() { public void onPageFinished(WebView view, String url) { } public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { webview.loadUrl("https://android_asset/error.html"); } }); Để ứng dụng hiển thị hình ảnh mà Robot gửi về, ta sử dụng Webview để hiển thị hình ảnh Bảng 4.7 Chương trình khởi tạo Socket public void run(){ try{ in = InetAddress(ip); s = new Socket(in,port); send("Hello Raspberry Pi"); }catch(Exception e){} } public void send(String str){ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 77 CHƯƠNG THI CÔNG HỆ THỐNG try{ out = new PrintWriter(newBufferedWriter(=(s.getOutputStream())),true ); out.println(str); }catch(Exception e){} } Sau hoàn thành lệnh xử lý, để ứng dụng gửi tín hiệu điều khiển tới board Raspberry Pi, ứng dụng tạo Socket giúp truyền liệu 4.5 TÀI LIỆU HƯỚNG DẪN SỬ DỤNG VÀ THAO TÁC Nhằm mục đích thuận tiện cho người sử dụng nhanh chóng làm quen với hệ thống điều khiển Robot board Raspberry Pi điện thoại Android, ta dựa vào lưu đồ quy trình vận hành hình 4.57 Cấp nguồn Robot Khởi chạy ứng dụng điện thoại Android Đăng nhập ứng dụng Đăng nhập chương trình Điều khiển Robot quan sát hình ảnh Còn điều khiển Đ S Thốt ứng dụng Ngắt nguồn Robot Hình 4.57 Lưu đồ điều khiển Robot dùng điện thoại Andoird BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 78 CHƯƠNG THI CÔNG HỆ THỐNG Giải thích hoạt động hệ thống: Bước 1: Cấp nguồn cho Robot, nguồn 5V cho board Raspberry Pi nguồn 12V cung cấp cho Robot di chuyển a b Hình 4.58 Cấp nguồn cho hệ thống a Cấp nguồn cho board Raspberry Pi b Cấp nguồn cho Robot Bước 2: Khởi động ứng dụng Android hình 4.59a Sau tiến hành đăng nhập với tên tài khoản: pi mật khẩu: 9000 hình 4.59b Đăng nhập hệ thống với địa IP: 192.168.1.40 số hiệu PORT: 9000 hình 4.59c BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 79 CHƯƠNG THI CÔNG HỆ THỐNG a b c Hình 4.59 Khởi động ứng dụng điều khiển điện thoại Android a Chọn ứng dụng từ hình chờ b Đăng nhập vào ứng dụng điều khiển c Đăng nhập vào hệ thống Robot Bước 3: Sau đăng nhập vào hệ thống, để Robot di chuyển cần lắc điện thoại theo hướng: nghiêng trước để Robot di chuyển tiến, nghiêng sau để Robot di chuyển lùi, nghiêng trái để Robot chuyển sang trái, nghiêng phải để Robot di chuyển sang phải Đồng thời có hình ảnh từ Robot gửi quan sát ứng dụng Hình 4.60 Giao diện điều khiển Robot BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 80 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.1 KẾT QUẢ 5.1.1 Cảm biến Orientation Nghiên cứu, tìm hiểu cảm biến Orientation trang bị điện thoại Cách sử dụng hàm API để xử lý thơng số cảm biến để đưa tín hiệu điều khiển 5.1.2 Raspberry Pi Nghiên cứu, tìm hiểu môi trường hoạt động hệ điều hành nguồn mở Raspian Cách cài đặt, thực thi file, thư mục giao diện đồ hoạ giao diện dòng lệnh Sử dụng module Wifi để kết nối Internet, điều khiển GPIO thu nhận tín hiệu điều khiển Thiết lập giao tiếp hai môi trường hệ điều hành Raspian hệ điều hành Android 5.1.3 Module Wifi Cách thiết lập thông số cần thiết để board Raspberry Pi hoạt động thơng qua mạng Wifi mà khơng cần dây cáp RJ45 hình hiển thị Việc truy cập Internet qua module hoạt động ổn định 5.1.4 Module L298 Sử dụng module L298 để điều khiển chiều quay động cơ, điều khiển tốc độ quay động thông qua GPIO Raspberry Pi 5.1.5 Thiết kế Robot Tính tốn, lựa chọn linh kiện, vật liệu cần thiết để thi cơng mơ hình Robot hoạt động Dùng phần mềm fritzing để dây cho trường hợp sử dụng module Nhờ giao diện đồ hoạ mà người đọc dễ hình dung BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 81 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Tính tốn thiết kế khung xe Robot, nhằm đặt module bảo vệ module khỏi tác nhân mơi trường Đồng thời tăng tính thẩm mỹ cho Robot 5.1.6 Khối nguồn Sử dụng nguồn cho loại module sử dụng nguồn áp khác nhau, nhằm cung cấp đủ dòng áp cho hệ thống hoạt động Nguồn pin cung cấp cho việc dẫn động Robot có dung lượng thấp, việc hoạt động kéo dài 60 phút làm Robot dừng hoạt động 5.1.7 Lập trình ưng dụng Android điều khiển Nghiên cứu cấu trúc hệ điều hành Android Cách chương trình điều khiển hoạt động môi trường Android Sử dụng phần mềm Android Studio để thiết kế lập trình ứng dụng điều khiển cụ thể qua mạng không dây Nghiên cứu cảm biến phương hướng tích hợp điện thoại Android Hình 5.1 Mơ hình Robot BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP 82 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5.2 Giao diện đăng nhập ứng dụng Quy trình đăng nhập ứng dụng điều khiển Robot điện thoại Android Gồm có đăng nhập chương trình đăng nhập hệ thống điều khiển Robot Hình 5.3 Giao diện điều khiển nhận hình ảnh ứng dụng Giao diện dùng để điều khiển Robot hiển thị hình ảnh điện thoại Android BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 83 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Khi người điều khiển nghiêng hướng điện thoại thì ứng dụng hiển thị thông báo hướng điều khiển kí tự bên góc phải, bên hình Đồng thời hình ảnh hiển thị phần lớn diện tích hình 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ Robot hoạt động ổn định, tốc độ di chuyển vừa phải, điều khiển đơn giản, có cảm giác thật lái xe thực tế Camera gắn Robot truyền hình ảnh hiển thị rõ nét điện thoại Android Ứng dụng Android hoạt động tốt theo hướng xác định mà người điều khiển lựa chọn Mơ hình Robot di chuyển tiến, lùi, trái, phải, di chuyển địa hình dốc cao, lồi lõm Động hoạt động chưa xác theo yêu cầu điều khiển Hình ảnh hiển thị chưa mượt Raspberry Pi xử lý chậm Đánh giá thời gian hoạt động: nguồn pin có chất lượng khơng tốt hàng chất lượng nên Robot hoạt động liên tục với thời gian 45 phút BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 84 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Sau thi cơng hồn chỉnh đề tài, Robot đáp ứng u cầu đề tài đặt ban đầu So với Robot có, thiết bị trang bị thêm Camera hỗ trợ việc truyền tải hình ảnh hiển thị hình điện thoại Đồng thời ứng dụng giúp người điều khiển có cảm giác thật điều khiển xe Trong thời gian thực đề tài, người thực tiến hành nghiên cứu, đặt trường hợp, vấn đề liên quan đến đề tài Tuy nhiên, hạn chế thời gian thực đề tài, thiết bị đạt số kết định sau:  Thiết kế thi cơng hồn chỉnh Robot sử dụng board Raspberry Pi, điện thoại sử dụng hệ điều hành Android dùng cảm biến Orientation để điều khiển Robot  Ứng dụng điều khiển lập trình phần mềm Android Studio  Ứng dụng mạch cầu H điều chỉnh độ rộng xung–PWM để Robot di chuyển  Thiết lập kết nối điện thoại Android hệ điều hành Raspian cách lập trình Socket  Khung Robot thiết kế phần mềm SolidWork Bên cạnh mặt làm được, đề tài hoạt động số hạn chế sau:  Việc điều khiển Robot chưa theo ý muốn người điều khiển  Khoảng cách điều khiển bị hạn chế Robot di chuyển nơi có nhiều vật cản  Thời gian hoạt động Robot thấp, 30 phút nguồn pin dung lượng thấp  Hình ảnh nhận không mượt, giật Robot di chuyển nhanh 6.2 HƯỚNG PHÁT TRIỂN Để đề tài có tính ứng dụng vào mục đích cụ thể, ta tuỳ biến số thành phần như: Tích hợp thêm cảm biến phân tích chất lượng khơng khí mơi trường DS18B20, DHT11, MQ2… để gửi nhiều thơng tin từ Robot điện thoại BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 85 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Tích hợp hệ thống GPS để định vị xác thiết bị nơi người không quan sát Robot di chuyển cống ngầm Tích hợp thuật tốn xử lý ảnh để nhanh chóng nhận diện khn mặt người hay đồ vật đưa định di chuyển chế độ tự động Trang bị cảm biến laser scanner để thông tin cho người điều khiển vật cản Robot Hình 6.1 Màn hình hiển thị Robot trang bị cảm biến laser scanner Khi người điều khiển Robot, yếu tố hình ảnh trả điện thoại, laser scanner đưa hình ảnh vật cản mà Robot va chạm Khoảng cách xử lý hiển thị góc trên, bên trái hình giúp cho người điều khiển tránh vật cản điều khiển xác BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 86 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO Sách tham khảo [1] Nguyễn Văn Hiệp, Đinh Quang Hiệp, “Lập trình Android bản”, NXB ĐH Quốc Gia Tp.HCM, 2015 Các trang web [2] Ứng dụng Gyro vào Robot chạy đa hướng Robocon, http://codientu.org [3] Overview | Simple Raspberry Pi Robot, https://learn.adafruit.com [4] Remote Controlling a Car over the Web Ingredients: Smartphone, WebSocket and Raspberry Pi, The Zinger, https://blog.kaazing.com [5] Raspberry Pi - Serial Console – All, http://www.instructables.com [6] Linux commands - Raspberry Pi Documentation, https://www.raspberrypi.org [7] Raspberry Pi Android App Communication, http://www.instructables.com [8] Make an Android App to control GPIO pins, https://www.raspberrypi.org [9]Adafruit’s Raspberry Pi Lesson Controlling a DC Motor,https://learn.adafruit.com [10] Pi resize my / (root) partition, http://raspberrypi.stackexchange.com/ [11] Raspberry Pi Webcam over the Internet Using MJPG-Streamer, Jacob Salmela, http://jacobsalmela.com [12] Android Password Field Example, https://examples.javacodegeeks.com [13] Position Sensors | Android Developers, https://developer.android.com [14] Socket | Android Developers, https://developer.android.com [15] Android World: Socket in Android, http://xcoderhunter.blogspot.com [16] Android Socket Example, https://examples.javacodegeeks.com [17] HTTP Camera live preview example, https://examples.javacodegeeks.com [18] Python Programming Tutorials, https://pythonprogramming.net BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 87 TÀI LIỆU THAM KHẢO [19] Introduction to TCP Sockets, http://woozle.org [20] TcpCommunication - Python Wiki, https://wiki.python.org [21] Socket - Low-level networking interface, https://docs.python.org BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 88 ... sản xuất hỗ trợ cho Raspberry Pi GPIO: Raspberry Pi cung cấp nhiều cổng GPIO Các GPIO Raspberry Pi giao tiếp SPI, I2C, 1-wire, UART Đặc biệt phù hợp cho ứng dụng cần điều khiển thiết bị ngoại... gửi tín hiệu điều khiển cho module L298 điều khiển hai động Các chân điều khiển Raspberry 35 37 39 để điều khiển động trái, chân 36 38 40 để điều khiển động phải Cảm biến DHT11 sử dụng chuẩn giao... phẳng Robot di chuyển với tốc độ hướng khác tuỳ theo tín hiệu điều khiển nhận từ ứng dụng Android Robot điều khiển qua mạng không dây  Phần mềm: Chương trình điều khiển viết điện thoại sử dụng

Ngày đăng: 31/10/2022, 16:40

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w