1. Trang chủ
  2. » Thể loại khác

ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI ĐIỀU KHIỂN XE ARDUINO BẰNG ỨNG DỤNG ANDROID

17 17 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 17
Dung lượng 2,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

1 ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI ĐIỀU KHIỂN XE ARDUINO BẰNG ỨNG DỤNG ANDROID Sinh viên thực hiện LÊ THỊ THANH HÀ NGUYỄN THANH TÂM Giảng viên hướng dẫn HÀ[.]

Trang 1

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 3

ĐỀ TÀI: ĐIỀU KHIỂN XE ARDUINO

BẰNG ỨNG DỤNG ANDROID

Sinh viên thực hiện : LÊ THỊ THANH HÀ

NGUYỄN THANH TÂM

Giảng viên hướng dẫn : HÀ THỊ MINH PHƯƠNG

Lớp : 18IT1

Đà nẵng, tháng 07 năm 2020

Trang 2

ĐẠI HỌC ĐÀ NẴNG KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

ĐỒ ÁN CƠ SỞ 3

ĐỀ TÀI: ĐIỀU KHIỂN XE ARDUINO

BẰNG ỨNG DỤNG ANDROID

Đà nẵng , tháng 07 năm 2020

Trang 3

MỞ ĐẦU

Ngày nay, xã hội phát triển mạnh mẽ, kỹ thuật ngày càng hiện đại nên nhu cầu về trao đổi thông tin giải trí, nhu cầu về điều khiển các thiết bị từ

xa, ngày càng cao Và những hệ thống dây cáp phức tạp lại không thể đáp ứng nhu cầu này, nhất là ở những khu vực chật hẹp, những nơi xa xôi, trên các phương tiện vận chuyển Vì vậy công nghệ không dây đã ra đời và phát triển mạnh mẽ, tạo rất nhiều thuận lợi cho con người trong đời sống hằng ngày Trong những năm gần đây công nghệ truyền nhận dữ liệu không dây đang có những bước phát triển mạnh mẽ, góp công lớn trong việc phát triển các hệ thống điều khiển, giám sát từ xa, đặc biệt là các hệ thống thông minh Hiện nay, có khá nhiều công nghệ không truyền nhận dữ liệu không dây như

RF, Wifi, Bluetooth, NFC

Trong đó, Bluetooth là một trong những công nghệ được phát triển từ lâu và luôn được cải tiến để nâng cao tốc độ cũng như khả năng bảo mật Trên thị trường Việt Nam hiện nay chưa có nhiều sản phẩm điều khiển thiết bị không dây, đa số những sản phẩm hiện có đều là nhập khẩu từ nước ngoài với giá thành cao Việc nghiên cứu và thiết kế một bộ sản phẩm điều khiển thiết bị không dây có một ý nghĩa lớn, giúp tăng thêm sự lựa chọn cho người sử dụng, sản phẩm được sản xuất trong nước nên giá thành rẻ và góp phần phát triển các hệ thống điều khiển thông minh Do đó, nhóm quyết định thực hiện

đề tài: “Điều khiển xe Arduino Robot bằng ứng dụng android” Đề tài ứng dụng công nghệ Bluetooth phổ biến trên nhiều thiết bị, đặc biệt điểm mới của đề tài so với các sản phẩm hiện có là điều khiển thông qua hệ điều hành Android giúp tận dụng những thiết bị sử dụng hệ điều hành Android có sẵn của người dùng giúp giảm giá thành sản phẩm, ngoài ra với màn hình hiển thị lớn của điện thoại cho phép hiển thị nhiều thông tin hơn

Trang 4

LỜI CẢM ƠN

……

Xin chân thành cảm ơn quý thầy trong Khoa Công Nghệ thông tin và Truyền Thông đã tận tình giảng dạy, trang bị, cung cấp cho chúng tôi những kiến thức nền tảng, chuyên môn cần thiết giúp chúng tôi hiểu sâu về bộ môn

Xin bày tỏ lòng biết ơn sâu sắc đối với cô Hà Thị Minh Phương đã tận tình hướng dẫn, chỉ bảo và dành nhiều thời gian quý báu để giúp chúng tôi hoàn thành tốt đề tài được giao

Cuối cùng xin gửi lời cảm ơn đến các bạn bè và gia đình đã động viên cổ vũ, đóng góp kiến cho chúng tôi trong suốt quá trình học cũng như thời gian làm báo cáo, giúp chúng tôi hoàn thành báo cáo đúng thời hạn

Mặc dù đã cố gắng hoàn thành công việc được phân công trong phạm vi và khả năng cho phép nhưng chắc không tránh khỏi những thiếu sót Rất mong được sự góp ý của các thầy cô để báo cáo được hoàn chỉnh hơn, đồng thời bổ sung vốn kinh nghiệm cho chúng tôi trên con đường sắp tới

Xin chân thành cảm ơn!

Trang 5

NHẬN XÉT

(Của giảng viên hướng dẫn)

….

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

………

Chữ ký giáo viên hướng dẫn

HÀ THỊ MINH PHƯƠNG

Trang 6

6

Trang 7

MỤC LỤC MỞ ĐẦU 3

LỜI CẢM ƠN 4

NHẬN XÉT 5

MỤC LỤC 6

PHẦN 1: GIỚI THIỆU TỔNG QUAN 7

1.1 Tổng quan 7

1.2 Phương pháp nghiên cứu 7

1.3 Kết cấu đề tài 7

PHẦN 2: NGHIÊN CỨU TỔNG QUAN 8

2.1 Linh kiện cần thiết 8

2.2 Lắp ráp linh kiện 12

PHẦN 3: NGUYÊN LÝ HOẠT ĐỘNG –LẬP TRÌNH 13

3.1 Nguyên lý hoạt động 13

3.2 Lập trình chương trình 13

PHẦN 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 16

4.1 Kết luận 16

4.2 Hướng phát triển 16

PHẦN 5: NHỮNG TÀI LIỆU THAM KHẢO 17

Trang 8

PHẦN 1: GIỚI THIỆU TỔNG QUAN

1.1 Tổng quan

Sự xuất hiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế, nhất là đối với những người bắt đầu tìm tòi về vi điều khiển mà không có quá nhiều kiến thức, hiểu biết sâu sắc về vật

lý và điện tử Phần cứng của thiết bị đã được tích hợp nhiều chức năng cơ bản và là mã nguồn mở Ngôn ngữ lập trình trên nền Java lại

vô cùng dễ sử dụng tương thích với ngôn ngữ C và hệ thư viện rất phong phú và được chia sẻ miễn phí Chính vì những lý do như vậy nên Arduino hiện đang dần phổ biến và được phát triển ngày càng mạnh mẽ trên toàn thế giới Mạng trong đề tài được thiết kế theo mô hình Master/Slaver, trong đó điện thoại đóng vai trò là Master, Kit Arduino đóng vai trò Slaver Khoảng cách truyền trong mạng này là mười 10m, đó cũng là mặt hạng chế của sóng Wifi

1.2 Phương pháp nghiên cứu

- Ý tưởng về điều khiển xe Arduino Robot bằng ứng dụng android

- Tìm hiểu một số cách làm trên mạng

- Áp dụng kiến thức môn vi điều khiển

1.3 Kết cấu đề tài

- Ngoài phần mở đầu, lời cảm ợn, danh mục tài liệu tham khảo và phụ lục, nội dung chính của đề tài gồm …chương:

Trang 9

- Phần 1 Giới thiệu : Giới thiệu tổng quan về phương pháp và cấu trúc của đề tài

- Phần 2 Nghiên cứu tổng quan : Tìm hiểu về các linh kiện cần thiết, cách lắp ráp phù hợp Cung cấp thêm cơ sở lý thuyết và các kiến thức được áp dụng trong đề tài

- Phần 3 Nguyên lý hoạt động – code chương trình

- Phần 4 Hướng phát triển : Đưa ra những điểm kết luận và xác định phương hướng để có thể phát triển trong tương lai

PHẦN 2: NGHIÊN CỨU TỔNG QUAN

2.1 Linh kiện cần thiết

a) Motor driver: L298N

* Thông số kỹ thuật:

Điện áp hoạt động 5 - 35 V

Điện áp logic 4,5 - 7 V

Tối đa hiện tại 2 A mỗi kênh hoặc tối đa 4 A

Trang 10

Bộ điều khiển động cơ L298N, điều khiển 2 động cơ DC hoặc 1 động

cơ bước

Bộ điều chỉnh điện áp 78M05

Kích thước mô-đun 43 x 43 x 28 mm

Kích thước lỗ Khoảng cách 3,2 mm, 37 mm

*Cấu tạo

 Module điều khiển động cơ L298 là một module gồm 2 mạch cầu

H tích hợp trong IC L298, nhờ đó module này có thể điều khiển

được 2 động cơ riêng biệt

 Chân A Enable, B Enable là 2 chân điều khiển tốc độ 2 động cơ

riêng biệt

 Input: Là 4 chân điều khiển chiều quay của 2 động cơ

 Bộ nguồn 12V-GND-5V: Tùy thuộc loại động cơ mà ta chọn 12V hay 5V

 Output A, Output B: Là 2 đầu ra kết nối với 2 động cơ

b) NODEMCU ESP8266

Thông số kỹ thuật:

WiFi 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n

Điện áp hoạt động 3.3V

Điện áp vào 5V thông qua cổng USB

Số chân I/O 11 ( tất cả các chân I/O đều có Interrupt/PWM/I2C/One-wire, trừ chân D0)

Bộ nhớ Flash 4MB

Giao tiếp Cable Micro USB

Hỗ trợ bảo mật WPA/WPA2

Tích hợp giao thức TCP/IP

Lập trình trên các ngôn ngữ C/C++, Micropython, NodeMCU - Lua

* Sơ đồ chân:

Trang 11

NodeMCU có tổng cộng 13 chân GPIO

- Tất cả các GPIO đều có trở kéo lên nguồn bên trong (ngoại trừ GPIO16 có trở kéo xuống GND) Người dùng có thể cấu hình kích hoạt hoặc không kích hoạt trở kéo này

- GPIO1 và GPIO3: hai GPIO này được nối với TX và RX của bộ UART0, NodeMCU nạp code thông qua bộ UART này nên tránh sử dụng 2 chân GPIO này

- GPIO0, GPIO2, GPIO15: đây là các chân có nhiệm vụ cấu hình mode cho ESP8266 điều khiển quá trình nạp code nên bên trong NodeMCU (có tên gọi

là strapping pins) có các trở kéo để định sẵn mức logic cho chúng như sau: GPIO0: HIGH, GPIO2: HIGH, GPIO15: LOW Vì vậy khi muốn sử dụng các chân này ở vai trò GPIO cần phải thiết kế một nguyên lý riêng để tránh xung đột đến quá trình nạp code

- GPIO9, GPIO10: hai chân này được dùng để giao tiếp với External Flash của ESP8266 vì vậy cũng không thể dùng được

- Các GPIO còn lại: GPIO 4, 5, 12, 13, 14, 16 có thể sử dụng bình thường

c) PIN sạc 3.7V 18650 5000mAh

Trang 12

* Thông số kỹ thuật:

- Điện Áp: 3.7V ( Khi đầy pin lên đến 4.2v DC )

- Khuyến cáo không sử dụng pin < 2.5 V khi đó pin sẽ bị chết và không

sử dụng lại được

- Pin được sử dụng nhiều lần

- Kích Thước: 18x65mm

- Kiểu 18650

- Dung lượng: 5000mAH

- Nhiệt độ làm việc: -20 ~ 45 ℃ ~ 45 ℃ ℃ ~ 45 ℃

d) Động cơ RC Servo 9G

 Động cơ servo với góc quay nằm trong khoảng từ 0 – 180o, ứng dụng để lái robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng

 Động cơ RC servo là loại động cơ nhỏ, có thể khiển chính xác góc quay bằng phương pháp điều rộng xung PWM (chân có dấu ~) Thông số kỹ thuật:

Kích thước 22.2x11.8.32 mm

Momen xoắn 1.8kg/cm

Tốc độ hoạt động 60 độ trong 0.1 giây

Điện áp hoạt động 4.8V(~5V)

Nhiệt độ hoạt động 0 ºC – 55 ºC

e) Động Cơ Vàng Giảm Tốc DC 3-6V

Trang 13

Thông số kỹ thuật:

Nguồn điện 3-6V

Tỉ lệ truyền 1:48

2.2 Lắp ráp linh kiện

Trang 14

PHẦN 3: LẬP TRÌNH

3.1 Sơ đồ

3.2 Lập trình chương trình

3.2.1 Arduino

#include <Servo.h>

#include <ESP8266WiFi.h>

#include <WiFiClient.h>

#include <ESP8266WebServer.h>

//define pin of RC servo

#define servoPin D0

//name of Rc Servo

Servo MyServo;

//define pin of L298

#define in3Pin D7

#define in4Pin D8

String command; // string to store app acommand

int speedCar = 1023;

int speedCar_half = 2;

char ssid[] = "PHONG TRO"; //YourNetworkName

char pass[] = "phongtro6789"; //YourPassword

ESP8266WebServer server(80);

void setup()

{

Trang 15

pinMode(in3Pin,OUTPUT);

pinMode(in4Pin,OUTPUT);

delay(2000);

Serial.begin(115200);

//setup pin of RC servo

MyServo.attach(servoPin);

//setup anfle of RC servo

MyServo.write(115);

// Connecting WiFi

WiFi.mode(WIFI_AP);

WiFi.softAP(ssid);

IPAddress myIP = WiFi.softAPIP();

Serial.print("AP IP address: ");

Serial.println(myIP);

// Starting WEB-server

server.on ( "/", HTTP_handleRoot );

server.onNotFound ( HTTP_handleRoot );

server.begin();

}

void goAhead(){

digitalWrite(in3Pin, LOW);

digitalWrite(in4Pin, HIGH);

}

void goBack(){

digitalWrite(in3Pin, HIGH);

digitalWrite(in4Pin, LOW);

}

void goRight(){

digitalWrite(in3Pin, LOW);

digitalWrite(in4Pin, HIGH);

MyServo.write(50);

}

void goLeft(){

digitalWrite(in3Pin, HIGH);

digitalWrite(in4Pin, LOW);

MyServo.write(70);

}

Trang 16

void stopRobot(){

digitalWrite(in3Pin, LOW);

digitalWrite(in4Pin, LOW);

}

void loop()

{

server.handleClient();

command = server.arg("State");

if (command == "F") goAhead();

else if (command == "B") goBack();

else if (command == "L") goLeft();

else if (command == "R") goRight();

else if (command == "S") stopRobot();

// speed

else if (command == "0") speedCar = 400;

else if (command == "1") speedCar = 470;

else if (command == "2") speedCar = 540;

else if (command == "3") speedCar = 610;

else if (command == "4") speedCar = 680;

else if (command == "5") speedCar = 750;

else if (command == "6") speedCar = 820;

else if (command == "7") speedCar = 890;

else if (command == "8") speedCar = 960;

else if (command == "9") speedCar = 1023;

}

void HTTP_handleRoot(void) {

if( server.hasArg("State") ){

Serial.println(server.arg("State"));

}

server.send ( 200, "text/html", "" );

delay(1);

}

Trang 17

PHẦN 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

4.1 Kết luận

- Nghiên cứu về NodeMCU ESP8266, module L298, động cơ RC servo

- Thực hiện đề tài

4.2 Hướng phát triển

- Sử dụng thêm một số loại cảm biến khác, như cảm biến siêu âm, cảm biến dò̀ line (xe dò line), cảm biến phát hiện lửa (xe cứu hỏa)…

- Phần cứng module thiết kế theo hướng dễ tiện lợI, dễ sửa chữa

- Ứng dụng điều khiển: phát triển thêm điều khiển bằng giọng noí…

PHẦN 5: NHỮNG TÀI LIỆU THAM KHẢO

Ngày đăng: 19/04/2022, 22:38

HÌNH ẢNH LIÊN QUAN

c) PIN sạc 3.7V 18650 5000mAh - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI ĐIỀU KHIỂN XE ARDUINO BẰNG ỨNG DỤNG ANDROID
c PIN sạc 3.7V 18650 5000mAh (Trang 11)
- GPIO0, GPIO2, GPIO15: đây là các chân có nhiệm vụ cấu hình mode cho ESP8266 điều khiển quá trình nạp code nên bên trong NodeMCU (có tên gọi là strapping pins) có các trở kéo để định sẵn mức logic cho chúng như sau: GPIO0: HIGH, GPIO2: HIGH, GPIO15: LOW - ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI ĐIỀU KHIỂN XE ARDUINO BẰNG ỨNG DỤNG ANDROID
GPIO2, GPIO15: đây là các chân có nhiệm vụ cấu hình mode cho ESP8266 điều khiển quá trình nạp code nên bên trong NodeMCU (có tên gọi là strapping pins) có các trở kéo để định sẵn mức logic cho chúng như sau: GPIO0: HIGH, GPIO2: HIGH, GPIO15: LOW (Trang 11)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w