1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn công nghệ phần mềm nhúng đề tài xe điều khiển thông qua bluetooth

52 2 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

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 8,33 MB

Nội dung

HỌC VIỆN KỸ THUẬT MẬT Mà KHOA CÔNG NGHỆ THÔNG TIN ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ BÁO CÁO BÀI TẬP LỚN CÔNG NGHỆ PHẦN MỀM NHÚNG ĐỀ TÀI: XE ĐIỀU KHIỂN THÔNG QUA BLUETOOTH Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm nhúng di động Sinh viên thực hiện: Hoàng Hữu Thơm – CT040347 Bạch Đình Bảo Phúc – CT040339 Nguyễn Đức Phú – CT040338 Lớp: Công nghệ phần mềm nhúng – L03 Giảng viên hướng dẫn: Ths Lê Đức Thuận Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã Hà Nội, 2022 MỤC LỤC LỜI NÓI ĐẦU TÓM TẮT ĐỀ TÀI CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ARDUINO VÀ CÔNG NGHỆ BLUETOOTH 1.1 Giới thiệu ARDUINO 1.1.1 Giới thiệu ARDUINO UNO R3 1.1.2 Thông số kỹ thuật ARDUINO UNO R3 1.1.3 Vi điều khiển 1.1.4 Các cổng kết nối ARDUINO UNO R3 1.1.5 Năng lượng nhớ 1.2 Thiết kế 10 1.2.1 Thiết kế nguồn 10 1.2.2 Thiết kế mạch dao động 11 1.2.3 Thiết kế mạch reset 12 1.2.4 Thiết kế mạch nạp giao tiếp máy tính 13 1.3 Lập trình cho ARDUINO UNO R3 14 1.4 Sơ lược công nghệ Bluetooth 18 1.4.1 Sơ lược kết nối bluetooth 18 1.4.2 Các chuẩn kết nối Bluetooth 19 1.4.3 Các tính Bluetooth 19 1.4.4 Ưu nhược điểm công nghệ Bluetooth 20 1.5 Giới thiệu module Bluetooth HC05 21 1.5.1 Giới thiệu Module Bluetooth HC05 21 1.5.2 Thông số Module Bluetooth HC05 21 1.6 Tổng kết chương 22 Chương 2: PHÂN TÍCH, THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG 23 2.1 Thiết kế phần cứng 23 2.1.1 Thiết kế sơ đồ khối 23 2.1 Tổng quan phần cứng 23 2.2 Thiết kế phần mềm 28 2.2.1 Sơ đồ Use Case tổng quát 28 2.2.2 Đặc tả Use Case 29 2.2.3 Phân tích ca sử dụng 30 2.2.4 Sơ đồ thuật toán điều khiển 32 2.2.5 Mô tả quy trình 32 2.2.6 Phần mềm điều khiển 33 2.3 Lắp ráp hoàn thiện hệ thống 34 2.3.1 Code Arduino 34 2.3.2 Mơ hình thử nghiệm 36 2.4 Tổng kết chương 38 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG 39 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 40 TÀI LIỆU THAM KHẢO 42 PHỤ LỤC 43 DANH MỤC HÌNH VẼ Hình 1.1 Arduino Uno R3 Hình 1.2 Vi điều khiển ARDUINO UNO R3 Hình 1.3 Các cổng kết nối Arduino Uno R3 Hình 1.4 Thiết kế nguồn 10 Hình 1.5 Thiết kế mạch dao động 12 Hình 1.6 Thiết kế mạch reset 13 Hình 1.7 Thiết kế mạch nạp giao tiếp máy tính 14 Hình 1.8 Lập trình Arduino Uno phần mềm Arduino IDE 15 Hình 1.9 Lập trình Arduino ngơn ngữ C/C++ 16 Hình 1.10 Tương thích với bo mạch Arduino 17 Hình 1.11 Thư viện phong phú 17 Hình 1.12 Sơ lược kết nối Bluetooh 18 Hình 1.13 Module HC05 21 Hình 2.1 Arduino Uno R3 24 Hình 2.2 Module Bluetooth HC05 24 Hình 2.3 Cấu hình sơ đồ chân L298n 25 Hình 2.4 Động vàng giảm tốc 26 Hình 2.5 Pin 18650 27 Hình 2.6 Công tắc chân 27 Hình 2.7 Biểu đồ Use Case tổng quát 28 Hình 2.8 Biểu đồ trình tự thẳng 30 Hình 2.9 Biểu đồ trình tự lùi 31 Hình 2.10 Biểu đồ trình tự rẽ trái 31 Hình 2.11 Biểu đồ trình tự rẽ phải 31 Hình 2.12 Sơ đồ thuật tốn xe điều khiển bluetooth 32 Hình 2.13 Ứng dụng điều khiển xe thơng qua kết nối bluetooth 33 Hình 2.14 Giao diện ứng dụng 33 Hình 2.15 Giao diện ứng dụng 34 Hình 2.16 Định nghĩa chân gán vào động 34 Hình 2.17 Định nghĩa chân tín hiệu 35 Hình 2.18 Điều chỉnh tốc độ xe 35 Hình 2.19 Thiết lập chức di chuyển xe 36 Hình 2.20 Sơ đồ kết nối hệ thống xe 37 Hình 2.21 Xe lắp ráp hồn thiện 37 DANH MỤC BẢNG BIỂU Bảng thành phần linh kiện cấu tạo xe Bảng Thông số kỹ thuật Arduino Uno R3 Bảng Mô tả chân Module L298n 26 Bảng Đặc tả Use Case “Driver” 29 Bảng Đặc tả Use Case “Adjust” 30 LỜI NÓI ĐẦU Cùng với phát triển nhanh chóng lĩnh vực Khoa học – Kỹ thuật, từ hệ thống máy tính lớn đến hệ thống máy tính cá nhân, từ việc điều khiển máy công nghiệp đến thiết bị phục vụ đời sống ngày người Trong hệ thống đó, việc trao đổi thông tin vô quan trọng Cùng với việc điều khiển từ xa ngày cảng trở nên phổ biến đời sống ngày Nhờ có phát triển công nghệ điều khiển từ xa, ngày số cơng việc thay sử dụng nhân cơng trực tiếp người ta thay việc điều khiển từ xa Và máy móc “Xe điều khiển thơng qua bluetooth” Công nghệ truyền tin không dây ngày phát triển, đặc biệt công nghệ Bluetooth phổ biến hầu hết thiết bị điện tử di động Trong khu cơng nghiệp hay số nhà máy hóa chất, việc vận chuyển đồ vật tư trang bị từ nơi đến nơi khác xảy thường xuyên với tần suất cao Đặc biệt khối lượng vận chuyển không nhỏ số trường hợp Trong nhà máy, số phịng an tồn số khác q trình hoạt động tạo nhiều hóa chất độc hại.Việc sử dụng nhân công người môi trường thực gây hại lâu dài ảnh hưởng đến chất lượng công việc trình hoạt động Vì nên để giảm thiểu rủi ro gây giảm thiểu chi phí thiệt hại kinh tế trình vận động, việc điều khiển phương tiện vận chuyển từ xa vấn đề cấp thiết cần thực Những lợi ích mang lại xe điều khiển từ xa bluetooth: - An toàn: Sử dụng xe điều khiển từ xa giúp cho công nhân hoạt động mơi trường độc hại, q trình vận hành có rủi ro tai nạn - Giảm thiểu nhân lực: Có thể cắt giảm số lượng nhân cơng, thay sử dụng người phương tiện q trình vận chuyển giời cắt giảm để số người vận chuyển lúc nhiều máy tùy vào lực - Tiết kiệm chi phí: Với việc cắt giảm nhân lực sử dụng máy móc tiết kiệm chi phí việc trả lương cho nhân viên Mục tiêu để tài nghiên cứu chế tạo “Xe điều khiển từ xa thông qua bluetooth”, sở tiếp tục phát triển để giúp sản phẩm tiến sát với thực tiễn công việc đời sống như: vận chuyển hàng hóa, hoạt động mơi trường khu vực mà người khó tiếp cận, Bản báo cáo trình bày kết trình nghiên cứu phát triển đề tài “Xe điều khiển thơng qua bluetooth” Vì q trình nghiên cứu cịn tồn nhiều hạn chế, kiến thức thực tế chưa sâu rộng nên khơng thể tránh khỏi sai sót Rất mong nhận góp ý từ thầy bạn Nội dung nghiên cứu tập trung vào nội dung sau: NỘI DUNG 1: Tiến hành khảo sát xây dựng toán NỘI DUNG 2: Phân tích, thiết kế xây dựng hệ thống NỘI DUNG 3: Thử nghiệm đánh giá hệ thống NỘI DUNG 4: Kết luận tổng quan hệ thống đưa hướng phát triển tính ứng dụng hệ thống tương lai TÓM TẮT ĐỀ TÀI Yêu cầu chung chức hệ thống: - u cầu chung: • Tính thực thi cao, có khả phát triển • Đảm bảo chất lượng, độ xác cao, làm việc lâu dài, bền bỉ • Tiết kiệm chi phí, linh kiện dễ kiếm dễ sử dụng dễ dàng thay xảy cố • Giảm thiểu chi phí, thời gian vận hành, bảo dưỡng sửa chữa - Chức năng: Xe có khả di chuyển tiến, lùi, rẽ trái , rẽ phải, dừng lại, điều chỉnh tốc độ nhận tín hiệu điều khiển thơng qua bluetooth từ điện thoại Phương án thiết kế: Các loại xe bluetooth nói chung có kết cấu đa dạng phong phú Mỗi kết cấu thực với nhiều phương án nhau, phương án trình bày dạng một sơ đồ biểu đặc điểm kết cấu Cần phải lựa chọn thành phần cấu tạo cho cấu trúc xe ln ln đảm bảo q trình hoạt động, hạn chế tối đa thiệt hại ảnh hưởng đến linh kiện bên (đặc biệt phần mạch điện tử) Mơ hình xây dựng dựa khuôn mẫu xe ô tô bánh để đảm bảo độ ổn định, giúp xe giữ thăng tốt số môi trường khác Phần khung xe cần gia cố chắn phải rộng đủ để bảo vệ linh kiện trường hợp xảy cố va chạm Đối với xe điều khiển bluetooth, việc cấp nguồn trì dịng điện q trình vận hành quan trọng Vì cần phải sử dụng lượng điện áp ổn định, sử dụng pin 18650 dòng xả 5C đảm bảo đủ điện cho xe trình vận hành, tránh hao hụt điện đáp ứng đủ lượng hoạt động cho thành phần xe vòng tiếng liên tục Linh kiện sử dụng: Xe thiết kế với linh kiện cấu tạo sau đây: Số lượng Thành phần Khung xe mica bánh tầng Pin 18650 dòng xả 5C 2600mAh Dây điện đơn màu Arduino Uno R3 Module bluetooth HC05 Động vàng giảm tốc DC 3-6V -E11 Đế pin 18650 viên nối tiếp 7.4v (có dây) 4 Bánh xe vàng Module điều khiển động L298n (6C2.1) 1 Cơng tắc chân vị trí nhỏ Bảng thành phần linh kiện cấu tạo xe 2.2.4 Sơ đồ thuật tốn điều khiển Hình 2.13 Sơ đồ thuật tốn xe điều khiển bluetooth 2.2.5 Mơ tả quy trình Khi bắt đầu, xe nhận tín hiệu điều khiển bluetooth từ điện thoại thông qua module HC05 - Nếu xe nhận tín hiệu điểu khiển theo tín hiệu giao diện phần mềm điều khiển tiến hành thực chạy tương ứng theo 32 - Nếu tốc độ set xe không chạy Nếu kéo tốc độ lên mức cao xe vận hành với tốc độ tối đa đạt động 2.2.6 Phần mềm điều khiển Cài đặt ứng dụng Bluetooth RC Car Google Play: Hình 2.14 Ứng dụng điều khiển xe thơng qua kết nối bluetooth Với dao diện đơn giản nhiều nút chức tích hợp đầy đủ giao diện ứng dụng, ta hồn tồn bổ sung tính khác tương ứng như: cịi, đèn, Hình 2.15 Giao diện ứng dụng Các nút chức ứng dụng: – Tiến – Lùi xe – Sang trái – Sang phải – Cài đặt 33 Trước thực điều khiển xe ta cần kết nối thiết bị Android với Module bluetooth HC05 cách vào cài đặt (biểu tượng bánh cưa hình ứng dụng)(số 5) Hình 2.16 Giao diện ứng dụng Chọn Connect to car tìm vào module tương ứng HC05 tiến hành kết nối 2.3 Lắp ráp hoàn thiện hệ thống 2.3.1 Code Arduino Định nghĩa chân động cơ, khái báo biến state_rec để ghi lại trạng thái chuyển đổi cấp độ vận tốc động Hình 2.17 Định nghĩa chân gán vào động Định nghĩa chân tín hiệu: 34 Hình 2.18 Định nghĩa chân tín hiệu Thiết lập hàm điều chỉnh tốc độ xe theo cấp độ: Hình 2.19 Điều chỉnh tốc độ xe Thiết lập chức tiến, lùi, rẽ trái, rẽ phải: Forward -> F Fordward Right: -> I Forward Left: -> G 35 Back -> B Back Left -> H Back Right -> J Left -> L Right -> R Stop -> S Hình 2.20 Thiết lập chức di chuyển xe 2.3.2 Mơ hình thử nghiệm 2.3.2.1 Sơ đồ mơ hệ thống giả lập Fritzing 36 Hình 2.21 Sơ đồ kết nối hệ thống xe 2.3.2.2 Mô hình thực tế Hình 2.22 Xe lắp ráp hoàn thiện 37 Mạch Arduino Uno R3 Module điều khiển động L298n Module bluetooth HC05 Pin 18650 x Công tắc nguồn Động vàng Bánh xe Tấm mica khung xe 2.4 Tổng kết chương Trong chương này, ta nêu rõ giai đoạn thiết kế lắp ráp hoàn thiện hệ thống xe Bluetooth từ việc thiết kế thuật toán, thiết kế mạch phần mềm giả lập, cuối lắp ráp Từng bước chi tiết giúp người đọc dễ hiểu 38 CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG Thử nghiệm tính năng: Khả di chuyển - Xe di chuyển theo hướng tiến, lùi, rẽ trái, rẽ phải Thời gian vận hành - Có thể vận hành liên tục vòng tiếng với tốc độ mặc định (200) gán cho động xe Khả leo dốc - Xe di chuyển với cung đường dốc tối đa lên đến 42 độ Đánh giá hệ thống: - Hoạt động ổn định mơi trường bình thường - Có thể chịu mơi trường làm việc từ -55 ℃ ~ 83 ℃ (nhiệt độ môi trường cao ảnh hưởng hiệu làm mát) - Xe chưa thể vận hành ổn định đáp ứng nhu cầu môi trường không phẳng - Chưa có khả chống nước - Điều khiển hiệu khoảng cách từ 40 – 60m mơi trường vận cản Link video kết thử nghiệm: https://drive.google.com/file/d/17e6VbL9xepVF9TzQB1D_0ZKqaNhcYeIA/view ?usp=sharing 39 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt được: Qua thời gian nghiên cứu phát triển, đề tài hoàn thành mục tiêu đề Một số kết thu sau trình thực đề tài: - Về mặt lý thuyết: o Đã nghiên cứu tìm hiểu trình hình thành nên hệ thống điều khiển thiết bị từ xa hồn chỉnh o Trình bày khái niệm liên quan nhận định hiểu quy trình vận hành thiết bị điều khiển từ xa thông qua Bluetooh - Về mặt thực nghiệm: o Mơ hình thiết kế hồn chỉnh, linh kiện lắp ghép kết nối với ổn định o Q trình thử nghiệm khơng xảy vấn đề trục trặc thành phần kết nối với o Thiết kế đáp ứng mục tiêu đề ra, vận hành mơi trường thực tế Trong đồ án này, trình bày chi tiết hướng dẫn từ phần nên người đọc dễ dàng nắm bắt hiểu chức thành phần Tính ứng dụng đề tài: - Xe hoạt động theo ý muốn người điều khiển - Do kết nối bluetooth nên quản lý điều khiển từ xa với khoảng cách tương đối Hạn chế đề tài: - Đề tài phải triển mức mẫu, chưa có khả ứng dụng trực tiếp vào thực tế nhà máy, nhà xưởng - Xe hoạt động chưa tốt địa hình xấu, gồ ghề, trơn trượt - Giải thuật chưa tối ưu hoàn toàn nên lúc vận hành chưa ổn định hoàn toàn 100% Hướng phát triển đề tài tương lai: Do thời gian thực đề tài có hạn lượng kiến thức cá nhân em định nên đề tài thực xong đáp ứng phần nhỏ hệ thống hoàn chỉnh Vì vậy, để đề tài thêm phong phú hơn, mang nhiều tính thực tế nữa, có khả ứng dụng cao đề tài cần đưa thêm vào yêu cầu sau: 40 − Tích hợp thêm tính tự tránh vật cản trình điều khiển để hạn chế tối đa va chạm thiệt hại cho xe − Ứng dụng thêm khả điều chỉnh độ cao xe để giúp xe di chuyển tốt nhiều địa hình khác − Sử dụng camera gắn Robot để gửi hình ảnh máy tính, ứng dụng nơi mà người không tới được, sử dụng quân sự, giải trí… − Sử dụng thêm nhiều loại cảm biến khác, chẳng hạn cảm biến nhiệt độ để đo nhiệt độ nơi người không đến được, cảm biến định vị để xác định xác vị trí robot, cảm biến sensor… để ứng dụng vào đề tài − Ứng dụng nhiều thuật toán khác giúp robot thơng minh (ví dụ thuật tốn A*) − Đề tài áp dụng cho việc vận chuyển hàng hóa mà nên mở rộng áp dụng ứng dụng khác như: robot tự động tránh vật cản, điều khiển giám sát robot camera, ứng dụng quân sự, sống Hy vọng với hướng phát triển nêu với ý tưởng khác bạn, người đọc- người sau - phát triển đề tài này, khắc phục hạn chế, tồn đề tài, làm cho đề tài trở nên phong phú hơn, mang tính ứng dụng cao vào thực tế sống, phục vụ cho lợi ích người tương lai 41 TÀI LIỆU THAM KHẢO Những tài liệu tham khảo để thực đề tài: [1] https://www.arduino.cc/ [2] https://create.arduino.cc/projecthub/officialkchandna/bluetooth-car-489ee8 [3] http://arduino.vn/bai-viet/42-arduino-uno-r3-la-gi [4] https://nshopvn.com/product/module-thu-phat-bluetooth-hc-05/ [5] https://www.thegioididong.com/hoi-dap/cong-nghe-bluetooth-743602 42 PHỤ LỤC Mã nguồn đầy đủ chương trình Arduino: Link github: https://github.com/lil-dua/arduino_bluetooth_car Hoặc tham khảo đây: const int motorA1 = 6; // Gán chân L298 cho động A1 const int motorA2 = 7; // Gán chân L298 cho động A2 const int motorB1 = 9; // Gán chân L298 cho động B1 const int motorB2 = 10; // Gán chân 10 L298 cho động B1 const int BTState = 2; // Gán chân chân nhận Bluetooth int state_rec; int vSpeed = 200; // Gán tốc độ < vSpeed < 255 char state; void setup() { //Định nghĩa chân tín hiệu động pinMode(motorA1, OUTPUT); pinMode(motorA2, OUTPUT); pinMode(motorB1, OUTPUT); pinMode(motorB2, OUTPUT); pinMode(BTState, INPUT); Serial.begin(9600); } void loop() { if (digitalRead(BTState) == LOW) { state_rec = 'S'; } if (Serial.available() > 0) { state_rec = Serial.read(); 43 state = state_rec; } // Điều chỉnh tốc độ động if (state == '0') { vSpeed = 0; // gán tốc độ xe = state nhận } else if (state == '4') { vSpeed = 100; // gán tốc độ xe = state nhận } else if (state == '6') { vSpeed = 155; // gán tốc độ xe = state nhận } else if (state == '7') { vSpeed = 180; // gán tốc độ xe = state nhận } else if (state == '8') { vSpeed = 200; // gán tốc độ xe = state nhận } else if (state == '9') { vSpeed = 230; // gán tốc độ xe = state nhận } else if (state == 'q') { vSpeed = 255; // gán tốc độ xe = state nhận q } if (state != 'S') { Serial.print(state); } if (state == 'F') { //Forward : Tiến lên phía trước analogWrite(motorB1, vSpeed); analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); analogWrite(motorB2, 0); } else if (state == 'I') { //Fordward Right: Tiến lên bên phải 44 analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); analogWrite(motorB1, 100); analogWrite(motorB2, 0); } else if (state == 'G') { //Forward Left: Tiến lên bên trái analogWrite(motorA1, 100); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); } else if (state == 'B') { //Back: Lùi analogWrite(motorA1, 0); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); analogWrite(motorA2, vSpeed); } else if (state == 'H') { //Back Left: Lùi trái analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, 0); analogWrite(motorB2, 100); } else if (state == 'J') { //Back Right: Lùi phải analogWrite(motorA1, 0); analogWrite(motorA2, 100); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); } else if (state == 'L') { //Left: Rẽ trái analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, vSpeed); 45 analogWrite(motorB2, 0); } else if (state == 'R') { //Right: Rẽ phải analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); } else if (state == 'S') { //Stop: Dừng analogWrite(motorA1, 0); analogWrite(motorA2, 0); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } } 46

Ngày đăng: 25/05/2023, 19:58

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

TÀI LIỆU LIÊN QUAN

w