Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
2,8 MB
Nội dung
TRƢỜNG ĐẠI HỌC VINH KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: ỨNG DỤNG APP ANDROID TRONG ĐIỀU KHIỂN ROBOT TRÊN CƠ SỞ BOARD ARDUINO Giảng viên hƣớng dẫn : ThS Tạ Hùng Cƣờng Sinh viên thực : Trần Chí Trung MSSV : 0951085404 Lớp : 50K2 - ĐTVT NGHỆ AN - 2016 i MỤC LỤC Trang MỤC LỤC i MỞ ĐẦU v LỜI CẢM ƠN vi TÓM TẮT ĐỒ ÁN vii DANH MỤC CÁC HÌNH VẼ viii DANH MỤC CÁC TỪ VIẾT TẮT x Chƣơng TỔNG QUAN HỆ THỐNG NHÚNG VÀ HỆ ĐIỀU HÀNH ANDROID 1.1 Giới thiệu hệ thống nhúng 1.1.1 Khái niệm chung 1.1.2 Lịch sử phát triển hệ thống nhúng 1.1.3 Những đặc trưng hệ thống nhúng 1.1.4 Thiết kế hệ thống nhúng 1.1.5 Xu hướng phát triển hệ thống nhúng 1.1.6 Những thách thức vấn đề tồn với hệ thống nhúng 1.2 Hệ điều hành Android 1.2.1 Khái niệm chung 1.2.2 Lịch sử phát triển hệ điều hành Android 1.2.3 Ngơn ngữ lập trình hệ điều hành Android 1.2.4 Các đặc điểm hệ điều hành Android .8 1.2.5 Tính Android 1.2.6 Kiến trúc hệ điều hành Android 1.2.7 Chu kỳ ứng dụng Android 12 1.2.8 Các thành phần vòng đời ứng dụng Android 13 Kết luận chƣơng 15 Chƣơng TỔNG QUAN VỀ ADRUINO VÀ BLUETOOTH 16 ii 2.1 Giới thiệu Adruino 16 2.2 Phân loại Adruino 17 2.2.1 Dòng Arduino USB .17 2.2.2 Arduino Mega 19 2.2.3 Cấu trúc module Adruino .21 2.3 Motor shield adruino 21 2.3.1 Định nghĩa 21 2.3.2 Cấu trúc 22 2.3.3 Giới thiệu loại motor 22 2.4 Lập trình cho Adruino 25 2.4.1 Chương trình Arduino IDE 26 2.5 Công nghệ không dây Bluetooth 27 2.5.1 Khái niệm .27 2.5.2 Đặc điểm công nghệ Bluetooth 27 2.5.3 Hoạt động .28 2.6 Modul Bluetooth HC – 06 28 2.6.1 Đặc điểm kỹ thuật 28 2.6.2 Đặc điểm phần cứng 29 Kết luận chƣơng 29 Chƣơng THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ROBOT 30 3.1 Thiết kế phần cứng 30 3.2 Chức khối 31 3.2.1 Khối nguồn 31 3.2.2 Khối xử lý 31 3.2.3 Khối động .33 3.2.4 Khối modul Bluetooth 34 3.3 Xây dựng hệ thống ứng dụng Android 35 3.3.1 Giới thiệu App Invertor 36 3.3.2 Thiết kế ứng dụng điều khiển Robot qua Bluetooth 36 3.4 Kết thực 38 iii 3.5 Chế tạo thành cơng mơ hình Robot điều khiển sở Adruino 39 Kết luận chƣơng 39 KẾT LUẬN 40 TÀI LIỆU THAM KHẢO 41 PHỤ LỤC 42 iv MỞ ĐẦU Khoa học công nghệ ngày phát triển đặc biêt thống nhúng ứng dụng rộng rãi; từ ứng dụng đơn giản điều khiển chốt đèn giao thông định thời, đếm sản phẩm dây chuyền sản xuất, điều khiển động điện chiều, xoay chiều,… đến ứng dụng phức tạp điều khiển robot, hệ thống kiểm soát, hệ thống tự động, thiết bị máy móc tự động, hệ thống điều khiển thông minh,… Với mong muốn giới thiệu ứng dụng hệ thống nhúng đời sống đại để người biết đến ứng dụng quan trọng hệ thống nhúng dựa ứng dụng board Adruino, chọn đề tài cho đồ án tốt nghiệp là: “Ứng dụng App Android điều khiển Robot sở Board Adruino” Đề tài trình bày chương: - Chương 1: Tổng quan hệ thống nhúng hệ điều hành Android - Chương 2: Tổng quan Adruino Bluetooth - Chương 3: Thiết kế thi cơng mơ hình Robot Và phần kết luận v LỜI CẢM ƠN Từ kiến thức, kỹ trang bị em thực xong đồ án tốt nghiệp Tuy nhiên hướng mới, trình thực đề tài em gặp nhiều khó khăn; em nhận nhiều giúp đỡ người xung quanh Chính mà em hồn thành tốt đề tài Đầu tiên em xin gửi lời cảm ơn đến thầy ThS Tạ Hùng Cường, người trực tiếp hướng dẫn em trình làm đồ án Trong thời gian vừa qua, thầy ln tận tình hướng dẫn, động viên em để hồn thành đồ án Một lần nữa, em chân thành cảm ơn giúp đỡ thầy Bên cạnh đó, em ln ghi nhớ tận tình tận tâm truyền thụ kiến thức quý thầy cô khoa Điện Tử Viễn Thông, động viên giúp đỡ bạn bè Trong trình thực đề tài tốt nghiệp, em cố gắng song kiến thức cịn hạn chế nên đồ án cịn nhiều sai sót, em mong nhận đóng góp từ quý thầy bạn để em hồn thiện đồ án Nghệ An, ngày 19 tháng 05 năm 2016 Sinh viên thực Trần Chí Trung vi TĨM TẮT ĐỒ ÁN Đồ án giới thiệu khái quát hệ thống nhúng, trình bày vấn đề hệ điều hành Android, công nghệ không dây Bluetooth Đồ án trình bày vi điều khiển Adruino; ứng dụng Adruino Mega 2560 điều khiển Robot ABSTRACT The scheme has introduced an overview of embedded systems, presents the problem of the Android operating system, Bluetooth wireless technology Blueprints also presented the microcontroller Adruino; and application of control Adruino 2560 Mega Robot vii DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1 Kiến trúc tổng thể hệ thống nhúng Hình 1.2 Biểu trưng hệ thống nhúng Hình 1.3 Biểu đồ so sánh tôc độ độ máy ảo Java phiên Android Hình 1.4 Mơ hình kiến trúc tảng hệ điều hành Adroid 10 Hình 1.5 Mơ hình hợp tác máy ảo Dalvik Navite code 12 Hình 1.6 Chu kỳ sống Activity 14 Hình 2.1 Mạch lập trình 17 Hình 2.2 Adruino Diecimial 17 Hình 2.3 Adruino UNO 18 Hình 2.4 Arduino Mega ADK 19 Hình 2.5 Cấu trúc Adruino MEGA 2560 20 Hình 2.6 Motor shield Adruino 21 Hình 2.7 Động chiều DC 23 Hình 2.8 Động Servo Motor 24 Hình 2.9 Bên động bước 24 Hình 2.10 Cấu tạo động bước 25 Hình 2.11 Một xung tương ứng với bước Rotor 25 Hình 2.12 Giao diện chương trình Adruino IDE 26 Hình 2.13 Các hỗ trợ Adruino IDE 26 Hình 2.14 Vùng thông báo Adruino IDE 27 Hình 2.15 Modul Bluetooth HC – 06 28 Hình 2.16 Sơ đồ chân Bluetooth HC – 06 29 Hình 3.1 Sơ đồ khối tổng quát 30 Hình 3.2 Sơ đồ chân Adruino Mega 2560 31 Hình 3.3 Sơ đồ chân Shield L293D 33 viii Hình 3.4 Sơ đồ nguyên lý Shield L293D 34 Hình 3.5 Sơ đồ chân Bluetooth HC 06 34 Hình 3.6 Sơ đồ nguyên lý Module Bluetooth HC 06 35 Hình 3.7 Sơ đồ thuật tốn Android 35 Hình 3.8 Chương trình App Inventor 36 Hình 3.9 Giao diện App Inventor 36 Hình 3.10 Tạo Project 37 Hình 3.11 Giao diện thiết kế 37 Hình 3.12 Các khối lệnh 38 Hình 3.13 Kết sau hoàn thiện 38 Hình 3.14 Mơ hình robot sau hoàn thiện 39 ix DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt ROM Read Only Memory Bộ nhớ đọc HDTV High Definition Television Truyền hình độ nét cao SDK Software Divelopment Bộ cơng cụ phát triển ứng dụng GSM Hệ thống di động toàn cầu Global System for Mobile Communications EDGE IDEN Enhanced Data Rates for GSM Tốc độ truyền liệu Evolution nhanh cho GSM Integrated Digital Enhanced Networf Nâng cao kỹ thuật số tích hợp mạng CDMA Code Division Multiple Access Đa truy nhập (đa người dùng) phân chia theo mã EV-DO Evolution - Data Optimized Phát triển – Tối ưu hóa liệu UMTS SMS Universal Mobile Telecommunication Hệ thống viễn thơng di System động tồn cầu Short Messaging Service Dịch vụ tin nhắn ngắn x Chƣơng THIẾT KẾ VÀ THI CƠNG MƠ HÌNH ROBOT 3.1 Thiết kế phần cứng Yêu cầu đặt ra: - Nhận giá tín hiệu từ modul Bluetooth, xử lý truyền đến driver động để điều khiển Robot - Driver động có nhiệm vụ điều khiển động DC thực di chuyển - Robot hoạt động ổn định Sơ đồ khối Khối Khối xử lý Modul Nguồn Bluetooth Động Động phải (trên) trái (trên) Driver động Động Động trái (dưới) phải (dưới) Hình 3.1 Sơ đồ khối tổng quát 30 3.2 Chức khối 3.2.1 Khối nguồn Chia thành phần gồm: Một phần cung cấp nguồn cho Adruino modul Bluetooth HC – 06 (5v), phần lại cung cấp nguồn cho modul motor control shield L239D Adruino 3.2.2 Khối xử lý Làm nhiệm vụ xử lý điều khiển khối lại Khối xử lý sử dụng bo mạch Adruino Mega 2560 Có nhiệm vụ nhận tín hiệu từ modul Bluetooth, xử lý xuất liệu cho động Khái quát Adruino Mega 2560 - Điện áp hoạt động: 5V - Điện áp ngõ đầu vào DC: – 12V - Số chân digital: 54 ( 15 chân PWM ) - Số chân analog: 16 - Bộ nhớ flash: 256Kb, 8Kb sử dụng cho Bootloader - SRAM: 8Kb - EEPROM: 4Kb - Xung Clock: 16Hz Hình 3.2 Sơ đồ chân Adruino Mega 2560 31 Thuật toán khối xử lý trung tâm Adruino Khối xử lý Khối tạo USART, PWM, IO Có liệu từ UART Ký tự Ký tự Ký tự Ký tự Ký tự Tiến Lùi Rẽ trái Rẽ phải Dừng Điều khiển DIR, PWM DC 3.2.3 DC DC 32 DC 3.2.3 Khối động Motor Shield L293D gồm động hoạt động: Motor Shiled L239D sử dụng IC cầu H L293D IC logic 74HC595 điều khiển Với điện áp tăng công suất đầu lên đến 36V, dòng tối đa 600mA kênh điều khiển, phù hợp ứng dụng công suất nhỏ động DC Các chân Shield nối với board Adruino sau: dây điều khiển servo kết nối với chân số số 10 Nguồn nuôi lấy trực tiếp từ board Adruino: - Motor nối với chân 11; - Motor nối với chân 3; - Motor nối với chân 5; - Motor nối với chân 6; Chân 4, 7, 8, 12 dùng điều khiển motor thông qua IC 74HC595 Các chân chưa sử dụng : 2, 13, A0, A1, A2, A3, A4, A5 Hình 3.3 Sơ đồ chân Shield L293D 33 Hình 3.4 Sơ đồ nguyên lý Shield L293D 3.2.4 Khối modul Bluetooth Module Bluetooth HC-06 nhằm kết nối xe với thiết bị điều khiển Module gồm chân theo thứ tự là: Key, Vcc, GND, TX, RX, State Chân Vcc chân Gnd nhằm cung cấp nguồn cho Module lấy từ Adruino Chân TX, RX nối với chân RX, TX board Adruino nhằm điều khiển nhận tín hiệu từAdruino Hình 3.5 Sơ đồ chân Bluetooth HC 06 34 Sơ đồ nguyên lý Module: Hình 3.6 Sơ đồ nguyên lý Module Bluetooth HC 06 3.3 Xây dựng hệ thống ứng dụng Android Yêu cầu thiết kế: - Thực ghửi liệu thơng qua sóng Android - Ứng dụng có giao diện than thiện, dễ sử dụng - Ứng dụng hoạt động ổn định Sơ đồ thuật toán Hình 3.7 Sơ đồ thuật tốn Android 35 3.3.1 Giới thiệu App Invertor Là chương trình mắt vào tháng 7/ 2010, với chương trình này, lập trình tạo ứng dụng cho Adroid từ đến nâng cao Hình 3.8 Chương trình App Inventor Dựa theo ý tưởng “Những bạn thấy bạn có “ (WYSIWYG – What you see is you get), App Inventor giúp bạn dễ dàng tiếp cận tạo ứng dụng Andorid Với giao diện trực quan, dễ hiểu, cho phép truy cập chức điện thoại kể GPS, chương trình giúp cho ứng dụng Android thêm đa dạng, dồi phong phú 3.3.2 Thiết kế ứng dụng điều khiển robot qua Bluetooth a, Tạo project giới thiệu tổng quan giao diện Để sử dụng App Inventor, truy cập vào địa ai2.appinventor.mit.edu đăng nhập tài khoản Google mở trang quản lí project Hình 3.9 Giao diện App Inventor 36 Đầu tiên em tạo cho project cách chọn vào Start New Project đặt tên cho project “ Dieukhienxe” Hình 3.10 Tạo Project Sau tạo project mới, giao diện thiết kế project bao gồm: - Bên trái: Là control: User Interface, Media, Sensor, để sử dụng ta click chuột kéo thả vào Screen - Ở là: Screen mơ hình ứng dụng - Bên phải là: Cửa sổ quản lí Component, Media, Property cho control Hình 3.11 Giao diện thiết kế 37 Hồn thành bước trên, để lập trình chức Chọn vào tab “ Block” góc phải hình Cửa sổ lên bao gồm: Bên trái khối lệnh : Control, Logic, Math, khối lệnh ứng với button Sau click chuột vào khối lệnh kéo hình Lần lượt kéo khối lệnh để có dịng code sau: Hình 3.12 Các khối lệnh 3.4 Kết thực * Thiết kế giao diện điều khiển Robot Hình 3.13 Kết sau hồn thiện 38 Sau hồn thành bước đóng gói ứng dụng file apk cài đặt vào điện thoại Chọn vào Build chọn App 3.5 Chế tạo thành cơng mơ hình Robot điều khiển sở Adruino Hình 3.14 Mơ hình robot sau hồn thiện Kết luận chƣơng Chương sâu vào nghiên cứu thiết kế thi công thành công sản phẩm Ứng dụng App Android điều khiển Robot sở vi điều khiển Adruino, mơ hình hoạt động tốt, ổn định theo yêu cầu thiết kế 39 KẾT LUẬN Hoàn thành đồ án em hiểu thêm hệ điều hành Android ứng dụng nó; nghiên cứu cơng nghệ khơng dây Bluetooth ứng dụng để điều khiển từ xa; thực kết nối trao đổi liệu Smart Phone Module Bluetooth; nghiên cứu Adruino viết chương trình điều khiển cho Adruino; thiết kế mạch động cho DC Trong trình hồn thành đồ án em thấy cịn số nhược điểm như: mơ hình Robot thiết kế đơn giản, chưa có nhiều tính năng; giao diện cho App Android ứng dụng đơn giản, sơ sài; chưa phản hồi cố ứng dụng Android Trong trình nghiên cứu thực đề tài, em thấy nhiều ứng dụng cụ thể có ứng dụng vào: - Tích hợp thêm nhiều chức cho xe như: truyền hình ảnh, đo nhiệt độ, độ ẩm, khoảng cách vật cản, tự dò đường… - Ứng dụng Adruino Bluetooth vào đề tài khác như: điều khiển cảm ứng giọng nói, máy bay thơng minh… 40 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Phương Xuân Nhàn – Hồ Anh Túy, Lý thuyết mạch, Tập 1và Tập 2, Nhà xuất Khoa Học Kỹ Thuật, 2006 [2] Trần Thế San, Cơ sở Nghiên cứu Sáng tạo Robot, Nhà xuất Thống Kê, 2005 Tài liệu Website [1] http://arduino.vn/reference truy cập lần cuối 10/05/2016 [2] http://www.atmel.com/devices/ATMEGA2560.aspx?tab=documents truy cập lần cuối 10/05/2016 [3] http://www.engineersgarage.com/electronic-components/l293d-motor-driveric truy cập lần cuối 15/05/2016 [4] https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIALHC-06/resources/hc06.pdf truy cập lần cuối 15/05/2016 [5] http://arduino.vn/tags/arduino-mega2560 truy cập lần cuối 15/05/2016 [6] https://www.google.com/?gws_rd=ssl truy cập lần cuối 18/05/2016 [7] https://vi.wikipedia.org/wiki/Wikipedia truy cập lần cuối 18/05/2016 [8] http://www.alldatasheet.com/view.jsp?Searchword=ATMEGA2560&sField=4 truy cập lần cuối vào 19/05/2016 [9] http://www.alldatasheet.com/view.jsp?Searchword=L293d%20datasheet&gclid =CMf2gp2c6MwCFZCXvQodiY4BHw truy cập lần cuối 19/05/2016 [10] https://www.olimex.com/Products/Components/RF/BLUETOOTH-SERIALHC-06/resources/hc06.pdf truy cập lần cuối 19/05/2016 41 PHỤ LỤC Chương trình để chạy Kit Adruino 2560, sử dụng phần mềm Adruino IDE để soạn thảo biên tập: #include; byte blue = 0;//Biến nhận liệu qua bluetooth AF_DCMotor motor1(1); //Khai báo động AF_DCMotor motor2(2); //Khai báo động AF_DCMotor motor3(3); //Khai báo động AF_DCMotor motor4(4); //Khai báo động void setup(){ Serial.begin(9600);//Mở cổng Serial Serial3.begin(9600);//Mở cổng Serial motor1.setSpeed(255);//Đặt tốc độ động motor2.setSpeedd(255); motor3.setSpeed(255); motor4.setSpeed(255); pinMode(30, OUTPUT);//pinMode chân đèn pinMode(31, OUTPUT); pinMode(32, OUTPUT); pinMode(33, OUTPUT); } void loop() { digitalWrite(30,HIGH);//Mở đèn digitalWrite(31,HIGH); digitalWrite(32,HIGH); 42 digitalWite(33,HIGH); if( Serial3.available()>0) { blue = Serial3.read(); Serial3.println(blue); } if ( blue == 1)//tien { Serial.println("MOVEFORWARD!"); motor1.run(FORWARD); //động tiến motor2.run(BACKWARD); motor3.run(FORWARD); motor4.run(BACKWARD); blue=0; delay(5); } if (blue==2)//lui { serial.println("MOVER BACKWARD!"); motor1.run(BACKWARD); //động lùi motor2.run(FORWARD); motor3.run(BACKWARD); motor4.run(FORWARD); blue=0; delay(5); } if (blue==3)//xoaytrai { Serial.println("ROTATE LEFT!"); 43 motor1.run(BACKWARD);//Để xoay trái:2 bánh trái lùi, bánh phải tiến motor2.run(BACKWARD); motor3.run(BACKWARD); motor4.run(BACKWARD); blue=0; delay(5); } if (blue==4)//xoay phải { Serial.println("ROTATE RIGHT!"); motor1.run(FORWARD);//Ngược lại với xoay trái motor2.run(FORWARD); motor3.run(FORWARD); motor4.run(FORWARD); blue=0; delay(5); } if (blue==6)//Dung dong co { Serial.println("STOP!"); motor1.run(RELEASE); motor2.run(RELEASE); motor3.run(RELEASE); motor4.run(RELEASE); blue=0; delay(5); } delay(5); } 44 ... phẩm Ứng dụng App Android điều khiển Robot sở vi điều khiển Adruino, mô hình hoạt động tốt, ổn định theo yêu cầu thiết kế 39 KẾT LUẬN Hoàn thành đồ án em hiểu thêm hệ điều hành Android ứng dụng. .. sử dụng đầy đủ AIP dùng ứng dụng tích hợp sẵn Android Kiến trúc ứng dụng Android thiết kế nhằm mục đích đơn giản hóa việc tái sử dụng component Qua ứng dụng cơng bố tính muốn chia sẻ cho ứng dụng. .. ứng dụng rộng rãi; từ ứng dụng đơn giản điều khiển chốt đèn giao thông định thời, đếm sản phẩm dây chuyền sản xuất, điều khiển động điện chiều, xoay chiều,… đến ứng dụng phức tạp điều khiển robot,