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

Đề tài thiết kế mô hình xe điều khiển bằng bluetooth trên điện thoại smartphone

34 1 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

Tiêu đề Thiết kế mô hình xe điều khiển bằng Bluetooth trên điện thoại Smartphone
Tác giả Trần Khả Hào, Trần Chu Hiếu, Chu Văn Hoàng, Phạm Minh Hoàng, Phùng Huy Hoàng, Nguyễn Huy Hưởng, Nguyễn Trường Huy, Phạm Quang Huy, Nguyễn Việt Dũng
Trường học Trường Đại học Công nghiệp Hà Nội
Chuyên ngành Nhập Môn Kỹ Thuật
Thể loại Bài tập lớn
Thành phố Hà Nội
Định dạng
Số trang 34
Dung lượng 1,42 MB

Nội dung

Cùng với sự phát triển nhanh chóng về khoa học - kỹ thuật, ngành điện tự động có những bước phát triển nhảy vọt với linh kiện bán dẫn, các hệ thống nhúng ra đời… và kèm theo đó là nhiều

Trang 1

TR ƯỜ NG Đ I H C CÔNG NGHI P HÀ N I Ạ Ọ Ệ Ộ

ﻣKHOA ĐI N Ệ ﻣ

BÀI T P L N Ậ Ớ

Đề tài: THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN BẰNG BLUETOOTH TRÊN ĐIỆN THOẠI SMARTPHONE

Nhóm 03-TĐH 01

Trang 2

BÀI T P L N Ậ Ớ

Đề tài: THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN BẰNG BLUETOOTH TRÊN ĐIỆN THOẠI SMARTPHONE

Thành viên nhóm

Trầần Kh Hào-MSV 2022601769 ả Trầần Chu Hiếếu-MSV 2022601276 Chu Văn Hoàng-MSV 2022601956

Ph m Minh Hoàng-MSV 2022602162 ạ Phùng Huy Hoàng-MSV 2022600437 Nguyếễn Huy H ưở ng-MSV 2022600403 Nguyếễn Tr ườ ng Huy-MSV 2022606833

Ph m Quang Huy-MSV 2022601163 ạ Nguyếễn Vi t Dũng-MSV 2022600399 ệ

Trang 3

M C L C Ụ Ụ

1 Lý Do Chọn Đề Tài, Mục Đích, Đối Tượng Nghiên Cứu Trang 6

CHƯƠNG 3: VI ĐIỀU KHIỂN ARDUINO UNO R3 VÀ TỔNG QUÁT VỀ

Trang 4

4.1 Chương Trình Android Trang 17

4.1.1 Giao diện điều khiển Android trên Smartphone Trang 17

4.1.2.1 Phần mềm viết chương trình và biên dịch chương trình Trang 18

CHƯƠNG 5 : KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Trang 30

Trang 5

LỜI NÓI ĐẦU

Đất nước ta đang trong giai đoạn công nghiệp hoá hiện đại hoá, nền khoa học –

kỹ thuật luôn là mối quan tâm hàng đầu Cùng với sự phát triển nhanh chóng về khoa học - kỹ thuật, ngành điện tự động có những bước phát triển nhảy vọt với linh kiện bán dẫn, các hệ thống nhúng ra đời… và kèm theo đó là nhiều ứng dụng mới xuất hiệnphục vụ cho sinh hoạt và sản xuất con người

Hiện nay việc các ứng dụng ngày càng trở nên phổ biến, từ những cái đơn giản như điều khiển cộ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 cơ điện một chiều… Đến những ứng dụng phức tạp như điều khiển Robot,

hệ thống kiểm soát… Một trong những ứng dụng không kém phần quan trọng trong công nghiệp điều khiển từ xa Nó đã góp phần rất lớn trong việc điều khiển các thiết bị

từ xa hay những thiết bị mà con người không thể trực tiếp chạm vào để điều khiển

Xuất phát từ ứng dụng quan trọng trên, em đã thiết kế và thi công mạch “Mô hình xe điều khiển bằng Bluetooth trên điện thoại smartphone”

Trong quá trình thực hiện đề tài chắc chắn sẽ còn nhiều thiếu sót nhất định Vậychúng em mong sự giúp đỡ của Thầy và sự góp ý của bạn bè

Chúng em xin chân thành cảm ơn!

Trang 6

Danh sách hình nh ả

Hình 2.1.1: Giao di n điềều khi n trền smartphone ệ ể Trang 7

Hình 2.1.2: Arduino uno R3 Trang 8

Hình 2.1.3: Mô hình h thôống ệ Trang 8

Hình 3.1: Cấốu T o Arduino uno R3 ạ Trang 10

Hình 3.2: Bluetooth phiền b n 4.0 ả Trang 13

Hình 3.3: Module Bluetooth HC-05 Trang 14

Hình 3.4: S đôề m ch chấn Bluetooth ơ ạ Trang 16

Hình 4.1.1: Giao di n điềều khi n Android trền Smartphone ệ ể Trang 17

Hình 4.1.2: Cho Phép b t Bluetooth tr ậ ướ c khi kềốt nôối v i Arduino ớ Trang 17

Hình 4.1.3: Chềố đ điềều khi n 1 ộ ể Trang 18

Hình 4.1.4: Chềố đ điềều khi n 2 ộ ể Trang 18

Hình 4.1.5: Giao di n phấền mềềm ệ Trang 18

Hình 4.2.1: Đ t đôề trền shopee vềề ặ Trang 22

Hình 4.2.2: Ki m tra đôề ể Trang 23

Hình 4.2.3: Module L298 m ch cấều H ạ Trang 23

Trang 7

Hình 4.2.9: Lắốp đ ng c gi m tôốc vào bánh xe ộ ơ ả Trang 26

Hình 4.2.10: Gắốn bánh xe đã đ ượ c lắốp đ ng c gi m tôốc vào khung xe ộ ơ ả Trang 26

Hình 4.2.11: Lắốp encoder vào đ ng c gi m tôốc ộ ơ ả Trang 27

Hình 4.2.12: Hàn dấy cho đ ng c gi m tôốc, hàn 2 đấều dấy và 2 là đôềng trền ộ ơ ả

Trang 8

kỹ thuật điện tử trở nên phong phú và đa dạng hơn Nó góp phần rất lớn trong việc đưa kỹ thuật hiện đại thâm nhập rộng rãi vào mọi lĩnh vực của hoạt động sản xuất, kinh tế và đời sống xã hội Từ những hệ thống máy tính đến các thiết bị cá nhân cầm tay điện thoại Smartphone, để điều khiển các máy công nghiệp đến các thiết bị phục

vụ cho đời sống hằng ngày của con người

Khoa học phát triển hầu như các thiết bị đầu có sự góp mặt của công nghệ đượctiếp cận sớm là một lợi thế Điện thoại trở nên phổ biến mọi người ai cũng có cho mình một chiếc điện thoại

Với mong muốn tìm hiểu nguyên lý, kỹ thuật trong các hệ thống điều khiển

Nhóm em đã thiết kế ra “THIẾT KẾ MÔ HÌNH XE ĐIỀU KHIỂN BẰNG

BLUETOOTH TRÊN ĐIỆN THOẠI SMARTPHONE”

1.2 Mục đích của đề tài

Mục đích nghiên cứu của đề tài này là nghiên cứu về Arduino cụ thể hơn là Arduino uno, cải thiện kỹ năng thực hành, phương pháp lập trình cho Arduino bằng ngôn ngữ Arduino (được xây dựng trên ngôn ngữ C), để biên dịch chương trình và chuyển chương trình lên board là phần mềm Arduino IDE Lập trình ứng dụng

Android dùng SDK, giao tiếp thông qua Bluetooth…

1.3 Đối tượng phạm vi nghiên cứu

Module Bluetooth HC-05, arduino uno R3, module I298 mạch cầu H, động cơ

DC, phần mềm Arduino Integrated Development Environment (IDE)

Trang 9

1.4 H ướ ng nghiên c u và th c hi n ứ ự ệ

Nghiên cứu nắm bắt phần cứng của Arduino uno R3, sơ đồ khối, bố trí chân, tập lệnh điều khiển cho Arduino uno R3

Tìm hiểu cách điều khiển động cơ DC

Tìm hiểu về lập trình phần mềm Android giao tiếp Bluetooth Hướng đến kết quả cuối cùng là xe hoạt động ổn định, điều khiển được bằng bluetooth thông qua điệnthoại

Trang 10

TỔNG QUAN VỀ Ý TƯỞNG2.1 Ý Tưởng Thiết Kế

2.1.1 Thiết bị điều khiển

Việc xây dựng ứng dụng trên hệ điều hành Android tương đối thuận lợi, dễ dàng bởi đây là hệ điều hành mã nguồn mở với cộng đồng sử dụng đông đảo Việc phát triển ứng dụng được thực hiện dễ dàng bất cứ khi nào mà không bị gò bó bởi bộ điều khiển riêng biệt Qua đó nhóm đã thực hiện tạo một ứng dụng trên chiếc

Smartphone chạy hệ điều hành Android, ứng dụng này có nhiệm vụ điều khiển thiết bịngoại vi thông qua sóng Bluetooth

Hình 2.1.1: Giao diện điều khiển trên smartphone

2.1.2 Thiết bị ngoại vi

Nhóm sử dụng một module Bluetooth (HC–05) để truyền tải dữ liệu với Mobile

và được điều khiển bởi 1 vi điều khiển Vi điều khiển có nhiệm vụ chính là xử lý tín hiệu nhận được từ module Bluetooth và điều khiển 4 động cơ của xe

Để đơn giản hơn trong việc lập trình, nhóm đã quyết định sử dụng Arduino, cụ thể hơn là Arduino uno R3 Việc lập trình cho Arduino cũng khá dễ dàng như các loại

vi điều khiển khác, phần mềm viết chương trình cho Arduino là Arduino Integrated Development Environment (IDE)

Trang 11

Tổng quan về Arduino, hệ điều hành Android và Bluetooth

Thiết kế và thi công

Nhận xét và hướng phát triển đề tài

Trang 12

VI ĐIỀU KHIỂN ARDUINO UNO R3 VÀ TỔNG QUAN VỀ

- Arduino Uno R3 là một board mạch vi điều khiển được phát triểnbởi Arduino.cc, một nền tảng điện tử mã nguồn mở chủ yếu dựa

trên vi điều khiển AVR Atmega328P

3.1.2 Cấấu T o Arduino uno R3 ạ

Hình 3.1.1: Cấấu T o Arduino uno R3 ạ

Trang 13

3.1.3 Tính năng arduino trên board

-Arduino Uno đi kèm với giao diện USB tức là cổng USB đượcthêm vào bo mạch Arduino để phát triển giao tiếp nối tiếp vớimáy tính

-Bộ vi điều khiển Atmega328 sử dụng trên bo mạch đi kèm vớimột số tính năng như hẹn giờ, bộ đếm, ngắt, chân PWM, CPU,chân I / O và dựa trên xung nhịp 16 MHz giúp tạo ra nhiều tần

số và số lệnh hơn trong mỗi chu kỳ

-Đây là một nền tảng mã nguồn mở, nơi mọi người có thể sửađổi và tối ưu hóa bảng dựa trên số lượng hướng dẫn và nhiệm

-Có 14 chân I / O digital và 6 chân analog được tích hợp trênArduino cho phép kết nối bên ngoài với bất kỳ mạch nào vớiArduino Các chân này cung cấp sự linh hoạt và dễ sử dụng chocác thiết bị bên ngoài có thể được kết nối thông qua các chânnày

-6 chân analog được đánh dấu là A0 đến A5 và có độ phân giải

10 bit Các chân này đo từ 0 đến 5V, tuy nhiên, chúng có thểđược cấu hình ở phạm vi cao bằng cách sử dụng chức nănganalogReference () và chân ISF

-Chỉ cần nguồn 5V để sử dụng với Arduino, hoặc lấy nguồntrực tiếp từ cổng USB Arduino có thể hỗ trợ nguồn điện bênngoài lên đến 12 V và có thể được điều chỉnh giới hạn ở mức 5

V hoặc 3,3 V dựa trên yêu cầu của dự án

Trang 14

-Làm mã nguồn mở này được c dùng để làm bộ xử lý trung tâm của rất

nhiều loại robot

-Dùng để chế tạo ra máy bay không người lái

-Điều khiển đèn giao thông, làm hiệu ứng đèn Led nhấp nháy trên các

biển quảng cáo…

- Điều khiển motor, đèn led

3.2 Tổng Quan Về Công Nghệ Không Dây Bluetooth

3.2.1 Khái niệm

Bluetooth là một công nghệ cho phép truyền thông giữa các thiết bị với nhau

mà không cần dây dẫn Nó là một chuẩn điện tử, điều đó có nghĩa là các hãng sản xuấtmuốn có đặc tính này trong sản phẩm thì họ phải tuân theo các yêu cầu của chuẩn nàycho sản phẩm của mình Những tiêu chuẩn kỹ thuật này đảm bảo cho các thiết bị cóthể nhận ra và tương tác với nhau khi sử dụng công nghệ Bluetooth.Ngày nay phần lớn các nhà máy đều sản xuất các thiết bị có sử dụng công nghệBluetooth Các thiết bị này gồm có điện thoại di động, máy tính và thiết bị hỗ trợ cánhân PDA ( Personal Digital Assistant ) Công nghệ Bluetooth là một công nghệ dựatrên tần số vô tuyến và bất cứ một thiết bị nào có tích hợp bên trong công nghệ nàyđều có thể truyền thông với các thiết bị khác với một khoảng cách nhất định về cự ly

để đảm bảo công suất cho việc phát và nhận sóng Công nghệ này thường được sửdụng để truyền thông giữa hai loại thiết bị khác nhau Ví dụ: Bạn có thể hoạt động trênmáy tính với một bàn phím không dây, sử dụng bộ tai nghe không dây để nói chuyệntrên điện thoại di động của bạn hoặc bổ sung thêm một cuộc hẹn vào lịch biểu PDAcủa một người bạn từ PDA của bạn

Trang 15

- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phầnmềm hỗ trợ.

3.2.2.2 Khuyết điểm

- Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác

- Số thiết bị active, pack cùng lúc trong một piconet còn hạn chế

- Tốc độ truyền không cao

Trang 16

Bluetooth được thiết kế hoạt động trên 79 tần số đơn lẻ Khi kết nối , nó sẽ tự độngtìm ra tần số tương thích để di chuyển đến thiết bị cần kết nối trong khu vực nhằmđảm bảo sự liên tục Về tầm phủ sóng, bluetooth có 3 class: class 1 có công suất100mW với tầm phủ sóng gần 100m; class 2 có công suất 2,5mW tầm phủ sóngkhoảng 10m; và class 3 là 1mW với tầm phủ sóng khoảng 5m Bản thân bên trongBluetooth hiện nay là một tập hợp nhiều giao thức hoạt động khác nhau.

Ví dụ: A2DP ( Advvanced Audio Distribution Profile) là cơ chế truyền dẫn âmthanh stereo qua sóng bluetooth tới các tai nghe, loa; FTP( File Transfer Protocol) là

cơ chế chuyển đổi dữ liệu qua kết nối Bluetooth giữa các thiết bị ( hay còn gọi là FileTransfer Services ); hay OBEX, được phát triển bởi chính nhà mạng Verizon , chophép xóa dữ liệu thông qua Bluetooth

3.3.4 Module Bluetooth HC - 05

3.3.4.1 Giới thiệu về Module Bluetooth HC – 05

Hình 3.3.3: Module Bluetooth HC-05

Đặc điểm kỹ thuật:

Trang 17

+ Ở chế độ SLAVE: Cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để dò tìm module sau đó pair với mã PIN là 1234 Sau khi pair thành công, bạn đã có 1 cổngserial từ xa hoạt động ở baud rate 9600.

+ Ở chế độ MASTER: module sẽ tự động dò tìm thiết bị bluetooth khác (1 module bluetooth HC-06, usb bluetooth, bluetooth của laptop…) và tiến hành ghép nối chủ động mà không cần thiết lập gì từ máy tính hoặc smartphone

- Hoạt động điện áp: 3.2 ~ 6VDC

- Mức điện áp giao tiếp: 3.3 - 5VDC

- Dòng khi hoạt động: khi Ghép nối 30 mA, sau khi ghép nối hoạt động truyền nhận - bình thường 8 mA

- Tốc độ truyền UART có thể chọn được: 1200, 2400, 4800, 9600, 19200, 38400,

- Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT

để giao tiếp với module Giao tiếp với module bằng giao tiếp nối tiếp không đồng bộqua hai đường RX và TX Bằng cách thay đổ trạng thái chân KEY chúng ta có thể cấuhình chế độ hoạt động cho Module

- Để module làm việc ở chế độ tự động kết nối: KEY phải ở trạng thái Floating( trạng thái không kết nối )

- Để module làm việc ở chế độ đáp ứng theo lệnh : KEY=’0’, cấp nguồn chomodule, chuyển KEY = ‘1’, lúc này có thể giao tiếp với module bằng tập lệnh AT Ởchế độ SLAVE: chúng ta cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để

dò tìm module và ghép nối với pin code mặc định ”1234”

Module tương thích với các vi diều khiển 5V mà không cần chuyển đổ mứcgiao tiếp 5V về 3.3V như nhiều loại module khác

3.3.4.2 Đặc tả phần cứng

Module Bluetooth HC-05 được thiết kế để chuyển đổi giao tiếp nối tiếp không

Trang 18

Hình 3.3.4: S đồồ chấn m ch Bluetooth ơ ạ

Mô tả sơ đồ chân

Chân VCC: Giống như mọi thiết bị khác, HC05 Modules cũng phụ thuộc vào nguồn điện để hoạt động và chân VCC cấp nguồn điện từ bên ngoài

Chân GND: Chân nối đất module

Chân TX: Chân truyền dữ liệu giao thức UART

Chân RX: Chân nhận dữ liệu trong giao tiếp UART

Chân State: Báo trạng thái kết nối của Bluetooth

Chân Enable/key: Chân Enable / Key là chân thay đổi chế độ giữa chế độ dữ liệu và chế độ dòng lệnh bằng cách cấp tín hiệu bên ngoài Cấp logic cao sẽ chuyển sang chế

độ dòng lệnh và trạng thái logic thấp sẽ chuyển sang chế độ dữ liệu Chế độ thiết bị mặc định là chế độ dữ liệu

Chân button: Các chế độ dữ liệu và lệnh có thể thay đổi thông qua một nút nhấn có trên module

Chân LED: Đèn LED hiển thị trạng thái của Module HC-05

Trang 19

CHƯƠNG 4 THIẾT KẾ VÀ THI CÔNG4.1 Chương Trình Android

4.1.1 Giao diện điều khiển Android trên Smartphone

Hình 4.1.1: Giao diện điều khiển Android trên Smartphone

Hình 4.1.2: Cho Phép bật Bluetooth trước khi kết nối với Arduino

Trang 20

Hình 4.1.3: Chế độ điều khiển 1

Hình 4.1.4: Chế độ điều khiển 2

Trang 21

4.1.2 Phấền Mêềm Arduino

4.1.2.1 Phấền mêềm viêất ch ươ ng trình và biên d ch ch ị ươ ng trình

Hình 4.1.5: Giao di n phấồn mềồm ệ

Arduino Uno R3 sử dụng phần mềm Arduino IDE để lập chương trình, ngôn

ngữ lập trình cho Arduino cũng có tên là Arduino (được xây dựng trên ngôn ngữ C) Ngoài viết chương trình phần mềm Arduino IDE còn biên dịch và tải chương trình lên board

4.1.2.2 Cấấu trúc ch ươ ng trình

Phần I: Khai báo biến

1)Char: khai báo kiểu biến

● VD: char data = 0;

2) #define: là một đối tượng của ngôn ngữ C/C++ cho phép bạn đặt tên cho một hằng

số nguyên hay hằng số thực Trước khi biên dịch, trình biên dịch sẽ thay thế nhữngtên hằng bạn đang sử dụng bằng chính giá trị của chúng

Cú pháp : #define [tên hằng] [giá trị của hằng]

Trang 22

Cú pháp : digitalWrite(pin,value);

Trong đó: pin là chân digital mà bạn muốn thiết lập

value là giá trị HIGH hoặc LOW

● VD: digitalWrite (13, HIGH);

Chương trình khai báo biến, hàm con:

char data = 0;

#define in110 // thay thế in1 bằng chân số 10

#define in211 // thay thế in2 bằng chân số 11

#define in312 // thay thế in3 bằng chân số 12

#define in413 // thay thế in4 bằng chân số 13

void forward(){ // khai báo hàm cho xe đi thẳng

digitalWrite(in1 , HIGH);

digitalWrite(in2 , LOW);

digitalWrite(in3 , HIGH);

digitalWrite(in4 , LOW);

}

void backward(){ // khai báo hàm cho xe đi lùi

digitalWrite(in2 , HIGH);

digitalWrite(in1 , LOW);

digitalWrite(in4 , HIGH);

digitalWrite(in3 , LOW);

}

void right(){ // khai báo hàm cho xe rẽ phải

digitalWrite(in3 , HIGH);

digitalWrite(in4 , LOW);

digitalWrite(in1 , LOW);

digitalWrite(in2 , LOW);

}

void left(){ // khai báo hàm cho xe rẽ trái

digitalWrite(in1 , HIGH);

digitalWrite(in2 , LOW);

digitalWrite(in3 , LOW);

digitalWrite(in4 , LOW);

}

void stop(){ // khai báo hàm cho xe dừng

digitalWrite(in2 , LOW);

Trang 23

digitalWrite(in3 , LOW);

digitalWrite(in4 , LOW);

}

void backleft(){// khai báo hàm cho xe rẽ phải

digitalWrite(in1 , LOW);

digitalWrite(in2 , HIGH);

digitalWrite(in3 , LOW);

digitalWrite(in4 , LOW);

}

void backright(){ // khai báo hàm cho xe rẽ trái

digitalWrite(in3 , LOW);

digitalWrite(in4 , HIGH);

digitalWrite(in1 , LOW);

digitalWrite(in2 , LOW);

}

Phần II: Hàm thiết lập - void setup (){}

1)Hàm setup() sẽ được gọi ngay khi bắt đầu chương trình, sử dụng nó để khởi tạo các

biến, pin mode, bắt đầu sử dụng thư viện,…

2)Hàm setup() sẽ chỉ chạy một lần, sau mỗi lần khởi động hoặc reset Arduino.

Câu lệnh của chương trình trong setup

void setup()

{

pinMode(in1 , OUTPUT);

pinMode(in2 , OUTPUT);

pinMode(in3 , OUTPUT);

pinMode(in4 , OUTPUT);

Serial.begin(9600);

}

Trong đó:

1) pinMode(); dùng để định cấu hình chân được chỉ định để hoạt động như đầu vào

hoặc đầu ra

● Cú pháp : pinMode(pin, Mode);

2) Thư viện Serial được dùng trong việc giao tiếp giữa các board mạch với nhau

(hoặc board mạch với máy tính hoặc với các thiết bị khác) Tất cả các mạch

Ngày đăng: 27/03/2024, 15:57

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

TÀI LIỆU LIÊN QUAN

w