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

Điều khiển xe mô hình từ xa sử dụng Arduino và Module Bluetooth trên điện thoại Android

69 615 8

Đ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 69
Dung lượng 4,34 MB
File đính kèm DOANTNdt.rar (4 MB)

Nội dung

Đồ án này trình bày kết quả nghiên cứu công nghệ không dây Bluetooth của các thiếtbị điện tử chạy trên nền hệ điều hành Android và ứng dụng vào thiết kế mô hình xeđiều khiển từ các thiết

Trang 1

LỜI CẢM ƠN

Tôi xin chân thành cảm ơn gia đình của tôi, đặc biệc là cha mẹ tôi đã tạomọi điều kiện cho tôi ăn học cho đến ngày hôm nay Chính họ là nguồnđộng viên lớn nhất ủng hộ tôi, giúp đỡ tôi trong suốt quá trình học tập cũngnhư việc thực hiện đồ án này

Tôi xin chân thành cám ơn cô hướng dẫn PGS TS TRẦN THU HÀ

trường Đại học Kỹ Thuật Tp Hồ Chí Minh đã tận tình chỉ dạy, hướng dẫn,đóng góp nhiều ý kiến quý báu trong suốt quá trình thực hiện đồ án

Tôi cũng xin chân thành cám ơn thầy cô trong khoa Điện - Điện Tử nóiriêng và thầy cô trường Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh đã tạo

ra cho tôi một môi trường học tập thật tuyệt vời và đã tạo mọi điều kiện chotôi hoàn thành đồ án này

Xin cám ơn tất cả các bạn học viên và các anh chị đã đóng góp những ýkiến và giúp đỡ tôi hoàn thành đồ án này

Người thực hiện đồ án NGUYỄN NGỌC TUẤNNGUYỄN PHẠM LÊ DUY

1 GVHD: PGS.TS TRẦN THU HÀ

Trang 2

Đồ án này trình bày kết quả nghiên cứu công nghệ không dây Bluetooth của các thiết

bị điện tử chạy trên nền hệ điều hành Android và ứng dụng vào thiết kế mô hình xeđiều khiển từ các thiết bị Android qua kết nối không dây Bluetooth

Từ khóa: robot car, mobile robot, Bluetooth, Board Arduino Mega 2560.

Trang 3

MỤC LỤC

LỜI CẢM ƠN i

TÓM TẮT i

MỤC LỤC iii

DANH SÁCH CÁC HÌNH v

DANH SÁCH CÁC BẢNG v

DANH SÁCH CÁC CHỮ VIẾT TẮT vi

Chương 1 TỔNG QUAN VỀ BLUETOOTH VÀ ARDUINO 1

1.1.Tổng quan về tình hình nghiên cứu trong và ngoài nước 1

1.1.1.Giới thiệu chung 1

1.1.2.Tổng quan tình hình nghiên cứu ngoài nước 2

1.1.2.1.Công nghệ không dây Bluetooth 2

1.1.2.2.Công nghệ Arduino 4

1.1.3.Tổng quan tình hình nghiên cứu trong nước 5

1.2.Mục tiêu và đối tượng nghiên cứu của đề tài 6

1.2.1.Mục tiêu 6

1.2.2.Đối tượng nghiên cứu 6

1.3.Nhiệm vụ và giới hạn của đề tài 6

1.3.1.Nhiệm vụ 6

1.3.2.Giới hạn 7

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

1.5.Nội dung luận văn 7

Chương 2 CƠ SỞ LÝ THUYẾT 9

2.1.Giới thiệu về hệ điều hành Androi 9

2.1.1.Lịch sử phát triển 9

3 GVHD: PGS.TS TRẦN THU HÀ

Trang 4

2.1.2.Kiến trúc của Anroid 10

2.2 Board Arduino Mega 2560 18

2.3.Giao tiếp Bluetooth 23

2.3.1.Giới thiệu về module HC - 05 23

2.3.2.Đặc điểm kỹ thuật 24

2.3.3 Đặc điểm phần cứng 24

2.3.4 Tập lệnh HC -05 25

Chương 3 LẬP TRÌNH GIAO DIỆN TRÊN HỆ ĐIỀU HÀNH ANDROID 42

3.1 Giới thiệu phàn mềm lập trình App Inventor2 42

3.1.1 Tạo project 42

3.1.2 Xây dựng layout 43

3.2 Chương trình điều khiển : 44

3.3 Kết quả lập trình màn hình giao diện trên hệ điều hành android: 46

Chương 4: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH XE ĐIỀU KHIỂN 47

4.1 Thiết kế phần cứng: 47

4.1.1 Khối xử lý: 47

4.1.2 Khối nguồn: 48

4.1.3 Khối Driver động cơ: 48

4.2 Giới thiệu linh kiện sử dụng trong thiết kế mô hình xe : 48

4.2.1 Mạch điều khiển động cơ L298: 48

4.2.2 Cảm biến nhiệt độ và độ ẩm DHT 11: 51

4.2.3 Động cơ DC giảm tốc V1: 52

4.3 Mô hình xe sau thiết kế: 53

4.4 Lưu đồ giải thuật của chương trình: 54

Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 55

5.1 Những mục tiêu đã đạt được 55

5.2 Những hạn chế của đề tài 55

5.3 Hướng phát triển của đề tài 55

Trang 5

TÀI LIỆU THAM KHẢO 56

DANH SÁCH CÁC HÌ Hình 2 1 Cấu trúc stack hệ thống Android 10

Hình 2 2 Công cụ Android Virtual Device Manager 12

Hình 2 3 Máy ảo do Android Virtual Device Manager tạo ra 13

Hình 2 4 Thiết kế giao diện cho Android Project dùng phương pháp kéo thả 13

Hình 2 5 Thiết kế giao diên cho Android Project dùng phương pháp viết code 14

Hình 2 6 Một số hình ảnh Mobile Android 17

Hình 2 7 Giao diện IDE của Arduino 20

Hình 2 8 Board Arduino Mega 2560 (mặt trước và sau) 21

Hình 2 9 Board Arduino Mega 2560 22

Hình 2 10 Sơ đồ chân của ATMEGA 2560 22

Hình 2 11 Module HC - 05 24

Hình 2 12 Phần cứng HC - 05 24

Hình 3 1 Giao diện phần mềm app inventor2 42

Hình 3 2 Xây dựng Project 43

Hình 3 3 Xây dựng giao diện điều khiển 43

Hình 3 4 Màn hình thiết kế chương trình điều khiển 44

Hình 3 5 Chương trình điều khiển giao diện 45

Hình 3 6 Giao diện điều khiển xe 46

Hình 4 1 Sơ đồ khối của hệ thống 47

Hình 4 2 Board xử lý Arduino 47

Hình 4 3 Sơ đồ khối nguồn 48

Hình 4 4 Sơ đồ khối Driver của động cơ 48

YHình 4 5 Mạch điều khiển động cơ L298 49

Hình 4 6 Các chân điều khiển của L298 49

Hình 4 7 Kết nồi giữa Arduino và L298 với động cơ 50

Hình 4 8 Cảm biến DHT 11 51

Hình 4 9 Cách kết nối arduino với DHT11 52

Hình 4 10 Động cơ DC giảm tốc 52

5 GVHD: PGS.TS TRẦN THU HÀ

Trang 6

Hình 4 11 Mô hình xe điều khiển 53Hình 4 12 Lưu đồ chương trình của arduino 54

DANH SÁCH CÁC BẢ

Bảng 2 1: Tập lệnh kiểm tra 25YBảng 2 2: Tập lệnh thiết lập lại 25Bảng 2 3: Tập lệnh lấy phiên bản mềm 25Bảng 2 4: Tập lệnh khôi phục trạng thái mặc định25Y

Bảng 2 5: Tập lệnh nhận địa chỉ module Bluetooth 26Bảng 2 6: Tập lệnh đặt / hỏi tên của thiết bị 26Bảng 2 7: Tập lệnh n hận tên thiết bị Bluetooth điều khiển từ xa2

Bảng 2 8: Tập lệnh Đặt / hỏi vai trò mô-đun 27Bảng 2 9: Tập lệnh Đặt / hỏi loại thiết bị 27Bảng 2.10: Tập lệnh Đặt / hỏi - Yêu cầu mã truy cập2

Bảng 2.11: Tập lệnh Đặt / hỏi – chế độ dò xét truy cập 29Bảng 2.12 Tập lệnh Đặt/dò xét- passkey 29Bảng 2.13: Tập lệnh Đặt/ dò xét- tham số xê-ri 3

Bảng 2.14: Tập lệnh Set / Dò xét - Chế độ kết nối 30Bảng 2.15: Tập lệnh Đặt / Yêu cầu - địa chỉ Bluetooth ràng buộc 31Bảng 2.16:Tập lệnh Đặt / Yêu cầu - tình trạng đèn LED và kết nối3

Bảng 2.17: Tập lệnh Đặt PIO đầu ra cổng duy nhất 32Bảng 2.18: Tập lệnh Set PIO đầu ra nhiều cổng 32Bảng 2.19: Tập lệnh Yêu cầu PIO cổng đầu vào3

Bảng 2.20: Tập lệnh Yêu cầu PIO cổng đầu vào 33Bảng 2.21: Tập lệnh Đặt/ tìm hiểu thông số năng lượng yêu cầu 34Bảng 2.22:Tập lệnh Đặt / tìm hiểu chế độ an toàn và mã hóa3

Bảng 2.23: Tập lệnh Xóa thiết bị trong danh sách Bluetooth 35Bảng 2.24: Tập lệnh Xóa tất cả các thiết bị xác nhận trong danh sách 35

Trang 7

Bảng 2.25: Tập lệnh T ìm kiếm thiết bị xác nhận trong danh sách Bluetooth3

Bảng 2.26: Tập lệnh Lấy số thiết bị xác thực từ danh sách cặp 36Bảng 2.27: Tập lệnh Lấy địa chỉ Bluetooth của thiết bị xác thực sử dụng 37Bảng 2.28: Tập lệnh Lấy tình trạng làm việc của các mô-đun Bluetooth

Bảng 2.29: Tập lệnh Khởi tạo hồ sơ SPP 38Bảng 2.30: Yêu cầu thiết bị Bluetooth 38

Bảng 2.31: Tập lệnh Hủy bỏ thiết bị Bluetooth 38

Bảng 2.32: Tập lệnh Cài đặt cặp 38

Bảng 2.33 : Tập lệnh Kết nối thiết bị 39

Bảng 2.34 : Tập lệnh Ngắt kết nối39

Bảng 2.35 : Tập lệnh Nhập vào chế độ năng lượng40

Bảng 2.36: Tập lệnh Thoát chế độ năng lượng 40

Bảng 2.37: Giới thiệu về AT mã lỗi lệnh 41

7 GVHD: PGS.TS TRẦN THU HÀ

Trang 8

Microcomputer Products soạn thảo

Pulse Width Modulation PWM Điều chế độ rộng xung

Central Processing Unit CPU Bộ xử lý trung tâm

Advanced RISC Machine ARM

Một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng

Trang 9

Chương 1 TỔNG QUAN VỀ BLUETOOTH VÀ ARDIUNO

1.1 Tổng quan về tình hình nghiên cứu trong và ngoài nước

1.1.1 Giới thiệu chung

Ngày nay , xã hội phát triển mạnh mẽ, kỹ thuật ngày càng hiện đại do đó nhucầu về trao đổi thông tin, giải trí, nhu cầu về điều khiển 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 tốt nhu cầu này, nhất là ởnhững khu vực phức tạp, xa xôi , trên các phương tiện vận chuyển, vì thế công nghệkhông dây ra đời đã và đang phát triển mạnh mẽ, tạo rất nhiều thuận lợi cho con ngườitrong đời sống hằng ngày Kỹ thuật không dây phục vụ rất nhiều nhu cầu khác nhaucủa con người, từ nhu cầu làm việc, học tập đến các nhu cầu giải trí với các nhu cầu

đa dạng và phức tạp đó, kỹ thuật không dây đã đưa ra nhiều chuẩn với các đặc điểm kỹthuật khác nhau để có thể phù hợp với từng nhu cầu, mục đích và khả năng của người

sử dụng như IrDA, WLAN , ZigBee, OpenAir, UWB, RF, Wifi , Bluetooth…

Mỗi chuẩn kỹ thuật đều có những ưu, khuyết điểm riêng của nó, và Bluetoothđang dần nổi lên là kỹ thuật không dây tầm ngắn có nhiều ưu điểm, rất thuận lợi chonhững thiết bị di động với một tổ chức nghiên cứu đông đảo, hiện đại và số lượng nhàsản xuất hỗ trợ kỹ thuật Bluetooth vào sản phẩm của họ ngày càng tăng Bluetoothđang phát triển khắp thế giới, có mặt trong mọi lĩnh vực của thiết bị điện tử và trongtương lai mọi thiết bị điện tử đều có thể được hỗ trợ kỹ thuật này

Bên cạnh đó việc điều khển thiết bị cũng rất quan trọng hiện nay trên thế giới nóichung, việt nam nói riêng để điều khiển và giao tiếp với nhiều thiết bị ngoại vi, boardmạch Arduino là một chọn lựa thích hợp Arduino thật ra là một bo mạch vi xử lýđược dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ,đèn hoặc các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứngdụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóngngay cả với người ít am hiểu về điện tử và lập trình Và điều làm nên hiện tượngArduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm.Chỉ với khoảng $30, người dùng đã có thể sở hữu một bo Arduino có 20 ngõ I/O có thểtương tác và điều khiển chừng ấy thiết bị

1 GVHD: PGS.TS TRẦN THU HÀ

Trang 10

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ôngdâ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 đó, chúng em quyết định thực hiện đề tài: “Điều khiển xe mô

hình từ xa sử dụng Arduino và module Bluetooth trên điện thoại 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úptậ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úpgiả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éphiển thị nhiều thông tin hơn , cùng với việc điều khiển thông qua board Ardiuno sẽđem lại nhiều cảm hứng cũng như thực hiện các dự án theo ý muốn một cách dễ dàng

1.1.2 Tổng quan tình hình nghiên cứu ngoài nước

1.1.2.1 Công nghệ không dây Bluetooth

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ầnlớn các nhà máy đều sản xuất các thiết bị có swur dụng công nghệ Bluetooth Cácthiế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(Prosonal Digital Assistant)

Công nghệ Bluetooth là một công nghệ dựa trên tần số vô tuyến và bất cứ mộtthiế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à

Trang 11

bị khác nhau Ví dụ: Bạn có thể hoạt động trên máy tính với một bàn phím khôngdây, sử dụng bộ tai nghe không dây để nói chuyện trên điện thoại di động của bạnhoặc bổ sung thêm một cuộc hẹn vào lịch biểu PDA của một người bạn từ PDA củabạn.

Ưu điểm của Bluetooth :

 Tiêu thụ năng lượng thấp

 Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay và điệnthoại di động

 Giá thành ngày một giảm

 Khoảng cách giao tiếp cho phép giữa hai thiết bị kết nối có thể lên đến 100m

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

Nhược điểm của Bluetooth :

 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

 Chỉ kết nối được hai thiết bị với nhau, không kết nối thành mạng

Hoạt động của Bluetooth:

Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối thiết bị

cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz đến 2.485GHz.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

Lịch sử phát triển Bluetooth:

Blutooth 1.0 (7/1999): phiên bản đầu tiên được đưa ra thị trường với tốc độ kết

nối ban đầu là 1Mbps Tuy nhiên, trên thực tế tốc độ kết nối của thế hệ nàychưa bao giờ đạt quá mức 700Kbps

Bluetooth 1.1 (2001): Đánh dấu bước phát triển mới của công nghệ Bluetooth

trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sản xuất mới

Bluetooth 1.2 (11/2003): Bắt đầu có nhiều tiến bộ đáng kể Chuẩn này hoạt

động dựa trên băng tần 2.4GHz và tăng cường kết nối thoại

3 GVHD: PGS.TS TRẦN THU HÀ

Trang 12

Bluetooth 2.0+ERD (2004): Bắt đầu nâng cao tốc độ và giảm thiểu một nửa

năng lượng tiêu thụ so với trước đây Tốc độ của chuẩn Bluetooth lên đến2.1Mbps với chế độ cải thiện kết nối truyền tải–ERD (Enhanced data rate)

Bluetooth 2.1+ERD (2004): đây chính là thế hệ nâng cấp của Bluetooth 2.0 có

hiệu năng cao hơn và tiết kiệm năng lượng hơn

Bluetooth 3.0+HS (2008): có tốc độ truyền dữ liệu đạt mức 24Mbps – bằng

sóng Blutooth – High Speed, tương đương chuẩn Wifi thế hệ đầu tiên, phạm

vi hiệu quả nhất chỉ trong vòng 10m

Bluetooth 4.0 (30/06/2010): Chuẩn Bluetooth mới nhất hiện nay Bluetooth

4.0 là sự kết hợp của “classic Bluetooth” (Bluetooth 2.1 và 3.0), “Bluetooth high speed” ( Bluetooth 3.0 + HS ) và “ Bluetooth low energy -Bluetooth năng lượng thấp (Bluetooth Smart Ready/ Bluetooth Smart) “Bluetooth low enegry”

là một phần của Bluetooth 4.0 với một giao thức tiêu chuẩn của Bluetooth 1.0 vào 4.0 nhằm phục vụ cho những ứng dụng năng lượng cực thấp

1.1.2.2 Công nghệ Arduino

Arduino là một board mạch vi xử lý, nhằm xây dựng các ứng dụng tương tác vớinhau hoặc với môi trường được thuận lợi hơn Phần cứng bao gồm một board mạchnguồn mở được thiết kế trên nền tảng vi xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit Những Model hiện tại được trang bị gồm 1 cổng giao tiếp USB, 6 chân đầu vàoanalog, 14 chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau

Được giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang đếnmột phương thức dễ dàng, không tốn kém cho những người yêu thích, sinh viên vàgiới chuyên nghiệp để tạo ra những nhiết bị có khả năng tương tác với môi trườngthông qua các cảm biến và các cơ cấu chấp hành Những ví dụ phổ biến cho nhữngngười yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt độ và pháthiện chuyển động Đi cùng với nó là một môi trường phát triển tích hợp (IDE) chạytrên các máy tính cá nhân thông thường và cho phép người dùng viết các chương trìnhcho Aduino bằng ngôn ngữ C hoặc C++

1.1.3 Tổng quan tình hình nghiên cứu trong nước

Trang 13

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 Phạm vi ứng dụng điều khiền thiết bị không dây trong nước hiện nay đượcứng dụng và phát triển khá mạnh mẽ nhưng đều là sản phẩm nước ngoài, đó là đối vớicông nghệ không dây còn đối với Arduino ở Việt Nam, nó cũng được biết đến vàonhững năm 2010 bởi những thành viên trong ban quản trị Cộng đồng Arudino ViệtNam Và cũng đã gần 2 năm kể từ ngày Cộng đồng Arduino Việt Nam chính thức đivào hoạt động Với quy mô ngày càng lớn về chất lượng và cả số lượng Cộng đồngArudino Việt Nam đã dần trở thành một sân chơi quen thuộc của các bạn Việt Nam ,nơi mà mọi người đến học hỏi, trao đổi và chia sẻ những kiến thức độc đáo nhằm xâydựng hình ảnh cá nhân và cùng phát triển dựa trên tinh thần vì cộng đồng nguồn mở và

sự chia sẻ , quan tâm giữa các thành viên trong Cộng đồng Việt Nam Tuy còn hạn chếnhưng cũng đã có một số ứng dụng công nghệ không dây và board Ardiuno được thiết

1.2 Mục tiêu và đối tượng nghiên cứu của đề tài

1.2.1 Mục tiêu

Đề tài có những mục tiêu chính như sau :

 Nghiên cứu công nghệ Bluetooth

5 GVHD: PGS.TS TRẦN THU HÀ

Trang 14

 Nghiên cứu hệ điều hành Android

 Nghiên cứu board Arduino Mega 2560

 Nghiên cứu ngôn ngữ lập trình Java, C, C++

 Thi công mô hình

 Thiết kế giao diện phần mềm mô hình xe điều khiển

1.2.2 Đối tượng nghiên cứu

 Công nghệ Bluetooth: khái niệm về Bluetooth, các đặc điểm của côngnghệ Bluetooth, liên kết vật lý trong công nghệ Bluetooth, các chế độ kết nối,cách thức hoạt động Nghiên cứu Module Bluetooth HC-05: các thông số kỹthuật, nguyên lý hoạt động của module HC-05

 Hệ điều hành Android: kiến trúc hệ điều hành Android, chu kỳ sống các ứngdụng chạy trên hệ điều hành Android, phần mềm hỗ trợ lập trình AndroidStudio, ngôn ngữ lập trình Java, Viết phần mềm ứng dụng

 Thiết kế hệ thống sử dụng vi điều khiển board Arduino Mega 2560 để giao tiếpmodule Bluetooth, điều khiển các thiết bị

1.3 Nhiệm vụ và giới hạn của đề tài

 Tìm hiểu các phần mềm lập trình Keil C for ARM, Java…

 Viết code mô phỏng hệ điều hành Android, code thực thi điều khiển choBoard Arduino Mega 2560

 Thiết kế và thi công mô hình xe điều khiển

 Vận hành thử mô hình hệ thống

1.1.2 Giới hạn

Trang 15

 Do nhóm làm đề tài chỉ nghiên cứu điều khiển thiết bị thông qua moduleBluetooth nên chưa thể so sánh về ưu nhược điểm so với các thiết giao tiếpkhác , cùng với khả năng lập trình có hạn nên chưa thể viết để điều khiển cácthiết bị với độ phức tạp cao.

 Vì thời gian có hạn như đã nêu trên nên phần thiết kế và thi công mô hìnhthực nghiệm chỉ dừng lại ở dạng là một chiếc xe điều khiển , do đó việc thựchiện điều khiển nhiều thiết bị phức tạp bị hạn chế

 Việc điều khiển thiết bị ở khoảng cách xa chưa đạt được theo yêu cầu đưa ra

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

Người thực hiện đề tài đã sử dụng các phương pháp sau đây:

Do điều kiện về môi trường nghiên cứu, chúng em không có điều kiện làm việctrong các phòng LAB với nhiều thiết bị hỗ trợ, do đó phương pháp nghiên cứu chủyếu là:

 Tham khảo tài liệu: các đề tài liên quan, tìm kiếm thông tin trên Internet;

 Tự thiết kế mô hình thí nghiệm và viết phần mềm điều khiển theo các yêu cầuđặt ra

 Thực nghiệm trực tiếp trên mô hình để kiểm tra phần cứng và phần mềm sau

đó điều chỉnh các thông số cho phù hợp với điều kiện thực tế

1.5 Nội dung đồ án

Nội dung đề tài gồm các phần sau:

Chương 1: Tổng quan

 Tổng quan chung về lĩnh vực nghiên cứu

 Mục tiêu và đối tượng nghiên cứu

 Nhiệm vụ và giới hạn của đề tài

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

Chương 2: Cơ sở lý thuyết

 Giới thiệu hệ điều hành ANDROID

 Giới thiệu Board mạch Ardunio

 Giao tiếp BLUETOOTH

7 GVHD: PGS.TS TRẦN THU HÀ

Trang 16

Chương 3: Lập trình giao diện trên hệ điều hành Android

 Giới thiệu linh kiện sử dụng trong thiết kế mô hình xe

 Mô hình xe điều khiển

 Giao tiếp các thiết bị và điều khiển mô hình

Trang 17

Ban đầu, Android là hệ điều hành cho các thiết bị cầm tay dựa trên lõiLinux do công ty Android Inc (California, Mỹ) thiết kế Công ty này sau đó đượcGoogle mua lại vào năm 2005 và bắt đầu xây dựng Android Platform.Và sau tiếp,vào cuối năm 2007, thuộc về Liên minh Thiết bị Cầm tay Mã Nguồn mở (OpenHandset Alliance) gồm các thành viên nổi bật trong ngành viễn thông và thiết bịcầm tay như: Texas Instruments, Broadcom Corporation, Google, HTC, Intel, LG,Marvell Technology Group, Motorola, Nvidia, Qualcomm, Samsung Electronics,Sprint Nextel, T-Mobile, ARM Holdings, Atheros Communications, AsustekComputer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and VodafoneGroup,…

Mục tiêu của Liên minh này là nhanh chóng đổi mới để đáp ứng tốt hơncho nhu cầu người tiêu dùng và kết quả đầu tiên của nó chính là nền tảngAndroid Android được thiết kế để phục vụ nhu cầu của các nhà sản xuất thiết,các nhà khai thác và các lập trình viên thiết bị cầm tay Phiên bản SDK lần đầutiên phát hành vào tháng 11 năm 2007, hãng T-Mobile cũng công bố chiếcđiện thoại Android đầu tiên đó là chiếc T-Mobile G1, chiếc smartphone đầu tiêndựa trên nền tảng Android Một vài ngày sau đó, Google lại tiếp tục công bố sự

ra mắt phiên bản Android SDK release Candidate 1.0 Trong tháng 10 năm 2008,Google được cấp giấy phép mã nguồn mở cho Android Platform

2.1.2 Kiến trúc của Android

Mô hình sau thể hiện một cách tổng quát các thành phần của hệ điều hànhAndroid Mỗi một phần sẽ được đặc tả một cách chi tiết dưới đây:

9 GVHD: PGS.TS TRẦN THU HÀ

Trang 18

2.1.2.1 Applications

Android được tích hợp sẵn một số ứng dụng cần thiết cơ bản như: contacts,browser, camera, Phone,… Tất cả các ứng dụng chạy trên hệ điều hành Androidđều được viết bằng Java

2.1.2.2.Application Framework

Bằng cách cung cấp một nền tảng phát triển mở, Android cung cấp cho cácnhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo Nhàphát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập,các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để cácthanh trạng thái, và nhiều, nhiều hơn nữa Nhà phát triển có thể truy cập vào cácAPI cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi Các kiến trúc ứngdụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần; bất kỳ ứngdụng có thể xuất bản khả năng của mình và ứng dụng nào khác sau đó có thể sửdụng những khả năng (có thể hạn chế bảo mật được thực thi bởi khuôn khổ) Cơchế này cho phép các thành phần tương tự sẽ được thay thế bởi người sử dụng

Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm:

- Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết

kế phần giao diện ứng dụng như: gridview, tableview, linearlayout,…

- Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từcác ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa

Hình 2.1: Cấu trúc stack hệ thống Android

Trang 19

các ứng dụng đó.

- Một “Resource Manager” cung cấp truy xuất tới các tài nguyên khôngphải là mã nguồn, chẳng hạn như: localized strings, graphics, and layoutfiles

- Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị cáccustom alerts trong status bar

- Activity Maanager được dùng để quản lý chu trình sống của ứng dụng

và điều hướng các activity

2.1.2.3.Library

Android bao gồm một tập hợp các thư viên C/C++ được sử dụng bởi nhiềuthành phần khác nhau trong hệ thống Android Điều này được thể hiện thông quanền tảng ứng dụng Android Một số các thư viện cơ bản được liệt kê dưới đây:

 System C library: chứa các chương trình căn bản của hệ thống

 Media: hỗ trợ thực hiện các thao tác với các file đa phương tiện (multimedia)như hình ảnh, video, các file âm thanh,

 Surface Manager – Quản lý việc truy xuất vào hệ thống hiển thị

 LibWebCore: giúp giao tiếp với các ứng dụng mạng như web

 SQLite: giao tiếp với các cơ sở dữ liệu người dùng

2.1.2.4 Android Runtime

Android bao gồm một tập hợp các thư viện cơ bản mà cung cấp hầu hết cácchức năng có sẵn trong các thư viện lõi của ngôn ngữ lập trình Java Tất cả cácứng dụng Android đều chạy trong tiến trình riêng Máy ảo Dalvik đã được viết

để cho một thiết bị có thể chạy nhiều máy ảo hiệu quả Các VM Dalvik thực thicác tập tin thực thi Dalvik (dex) Định dạng được tối ưu hóa cho bộ nhớ tối thiểu

VM là dựa trên register-based, và chạy các lớp đã được biên dịch bởi một trìnhbiên dịch Java để chuyển đổi thành các định dạng dex Các VM Dalvik dựa vàonhân Linux cho các chức năng cơ bản như luồng và quản lý bộ nhớ thấp

Trang 20

Kernel Linux hoạt động như một lớp trừu tượng hóa giữa phần cứng và phần cònlại của phần mềm stack.

1 Mô phỏng Android trên Microsoft Windows

Vì Android không phổ biến trên PC và Laptop nên với những người muốn bắt đầutìm hiểu thì nên sử dụng các công cụ lập trình và mô phỏng trước khi làm việc vớiphần cứng thực tế Android SDK và Plugin Eclipse được gọi là một AndroidDeverloper Tool (ADT) Các Android coder sẽ cần phải sử dụng công cụ IDE(Integrated Development Enveronment) này để phát triển, debugging và testing choứng dụng

Hiện nay phổ biến nhất là phần mềm Eclipse và các tool hỗ trợ như: SDK( Software Development Kit), JDK (Java Development Kit)

2 Các thành phần của 1 Project Android

a File *.xml

Trong bất kì một project Android nào khi tạo ra đều có một file **.xml, file này được dùng để định nghĩa các screen sử dụng, các permission cũng như các theme cho ứng dụng

File này có thể hiểu là dùng đề thiết lập giao diện cho Android Project, có thể tạo

ra bằng 2 cách: viết code (như ví dụ), hoặc dùng kéo thả code sẽ tự động sinh ra

Hình 2.2 : Công cụ Android Virtual Device Manager Hình 2.3: Máy ảo do Android Virtual Device Manager tạo ra

Trang 21

b File *.java

Đây là file chưa các thiết lập, chương trình cho Android Project, file này đượcviết bằng ngôn ngữ Java Nội dung của file cũng gần giống như nội dung 1 chươngtrình C mà ta hay sử dụng, gồm phần khai báo các thư viện, khai báo biến, phầnchương trình chính

c Giới thiệu các phiên bản đã ra mắt của hệ điều hành Android

Android 1.0: Ra mắt ngày 23-11-2008, Android 1.0 rất nguyên sơ, tích hợp sẵn

khả năng đồng bộ dữ liệu với các dịch vụ trực tuyến của Google như Gmail, GoogleCalendar và Contacts, một trình phát media, hỗ trợ Wi-Fi và Bluetooth, thanh trạngthái hiển thị các thông báo ứng dụng và một ứng dụng chụp ảnh (camera) tuy chưa chophép thay đổi độ phân giải và chất lượng ảnh

13

Hình 2.4 : Thiết kế giao diện cho Android Project dùng phương pháp kéo thả.

Hình 2.5 : Thiết kế giao diên cho Android Project dùng phương pháp viết code

GVHD: PGS.TS TRẦN THU HÀ

Trang 22

Android 1.1: Ra mắt ngày 9-2-2009, bên cạnh con số, Google rục rịch đưa hệ

thống tên gọi (tên mã) vào các phiên bản Android Tuy chưa chính thức áp dụng nhưngAndroid 1.1 đã có tên Petit Four Không bao gồm nhiều tính năng, phiên bản này bổsung một số chức năng mới cho Google Maps hiển thị chi tiết hơn, bàn phím ảo gọiđiện thoại đã có thể hiển thị hoặc ẩn khi gọi, chương trình SMS cho phép người dùnglưu tập tin đính kèm Android 1.1 sửa một số lỗi trong Android 1.0

Android 1.5 Cupcake: Ra mắt ngày 30-4-2009, Cupcake, tên mã đầu tiên áp

dụng cho phiên bản Android Cupcake mang nhiều tính năng mới như bàn phím ảo cókhả năng dự đoán từ đang gõ, từ điển từ ngữ do người dùng đặt ra, hỗ trợ widget trêngiao diện chủ, quay phim và phát lại video clip, lược sử thời gian cuộc gọi, chế độ tựđộng xoay màn hình theo hướng sử dụng (screen rotation) Trình duyệt web trongCupcake có thêm khả năng sao chép/ dán (copy/paste)

Android 1.6 Donut: Ra mắt ngày 30-9-2009, Donut khắc phục các chức năng

"lỏng lẻo" trong Cupcake, mở rộng chức năng tìm kiếm bằng giọng nói và ký tự đếnbookmark và danh bạ Android Market trở thành "chợ đầu mối" để người dùng tìmkiếm và xem các ứng dụng Android Ứng dụng chụp ảnh và quay phim trong Donutnhanh hơn Hệ điều hành hỗ trợ màn hình có độ phân giải lớn hơn, hướng đến các thế

hệ smartphone màn hình lớn

Android 2.0/2.1 Eclair: phiên bản chính 2.0 ra mắt vào tháng 11 năm 2009,

triển khai để hỗ trợ tốt hơn cho điện thoại di động Sau đó, phiên bản 2.1 với một vàitính năng nhỏ được nâng cấp xuất hiện vào tháng 1 năm 2010 Phiên bản này nổi bậtvới các tính năng mới cho người dùng và các nhà phát triển, cũng như nâng cấp giaodiện người dùng đồng thời hỗ trợ HTML5 và Exchange ActiveSync 2.5

Android 2.2 Froyo: Ra mắt ngày 20-5-2010, từ phiên bản 2.0 trở đi, Android

dần hoàn thiện hơn Phiên bản 2.2 (Froyo) mang Adobe Flash đến Android, kéo theohàng loạt ứng dụng và game trên nền Flash Người dùng cũng có thể xem video clipnền Flash như YouTube và "ra lệnh" thực hiện cuộc gọi qua Bluetooth

Một chức năng mới trong Froyo được nhóm người dùng lưu động yêu thích

là USB Tethering và Wi-Fi Hotspot, biến chiếc smartphone Android thành thiết bị phátsóng Wi-Fi từ kết nối 3G Tính năng này được sử dụng rất phổ biến đến ngày nay

Trang 23

Lần đầu tiên Android cho phép cài đặt ứng dụng (app) lên thẻ nhớ SD thay vì mặc định cài ngay vào bộ nhớ trong của thiết bị Điểm "đầu tiên" nữa trong Froyo bao gồm mật khẩu đã hỗ trợ số và chữ số Thiết bị đầu tiên mang nhãn Froyo ra mắt thị trường là HTC Nexus One

Android 2.3 Gingerbread: ra ngày 06/12/2010, Gingerbread đưa vào hệ thống

một công cụ quản lý tải tập tin, cho phép theo dõi và truy xuất đến các tập tin đã tải vềmáy Hệ thống này hỗ trợ nhiều camera cho các thiết bị có camera mặt sau và trước,quản lý nguồn pin hiệu quả hơn, tiết kiệm thời lượng pin Phiên bản này khắc phục khánhiều lỗi từ Froyo, kèm theo một số điều chỉnh trong giao diện người dùng (UI)

Android 3.0/3.1 Honeycomb: Ra mắt ngày 22-2-2011.Đây không chỉ là một

phiên bản, mà có thể xem là một thế hệ Android đầu tiên dành riêng cho máy tính bảng(tablet), ra mắt cùng tablet Motorola XOOM

Mang những tính năng từ thế hệ Android 2.x, Android 3.0 cải tiến giao diện phùhợp với cách sử dụng máy tính bảng, bàn phím ảo thân thiện hơn, hỗ trợ xử lý đa tác

vụ (multi-tasking), cho phép chuyển đổi qua lại các ứng dụng đang cùng chạy Khôngchỉ có bề mặt được trau chuốt, phần lõi hệ thống có các cải tiến tương thích với phầncứng như hỗ trợ chip xử lý (CPU) đa lõi, tăng tốc phần cứng

Android 3.0 đặt nền móng quan trọng cho thế hệ Android 4.x hợp nhất, khắcphục sự phân mảng của Android (có các phiên bản riêng dành cho smartphone và

tablet)

Android 4.0: Ice Cream Sandwich :Ra mắt ngày 19-10-2011."Bánh kem

sandwich" (ICS) là thế hệ Android được mong đợi nhất đến nay, ra đời cùng dòngsmartphone "bom tấn" Samsung Galaxy Nexus, thế hệ smartphone đầu tiên trang bịICS Android 4.0 đưa chức năng truy xuất nhanh các ứng dụng thường dùng vào phầnbên dưới giao diện chủ, tùy biến widget, dễ sắp xếp và duyệt danh sách ứng dụng hơn.Các ứng dụng đã có thể truy xuất nhanh từ màn hình khóa thiết bị (Lock screen), hiệncác hãng sản xuất thiết bị chỉ mới cho phép Camera có thể chọn nhanh từ Lock screen

Android 4.1: Jelly Bean: Ra mắt 9-7-2012 Khả năng sắp xếp giao diện chủ và

widget trong Jelly Bean rất tùy biến và linh hoạt Hệ thống hỗ trợ dịch vụ ví điện tửGoogle Wallet, đặc biệt trình duyệt web mặc định trong Android được thay thế bởi đại

15 GVHD: PGS.TS TRẦN THU HÀ

Trang 24

diện tên tuổi: Chrome, với khả năng đồng bộ dữ liệu theo tài khoản với bản Chrometrên máy tính.

Jelly Bean giới thiệu google now, dịch vụ trực tuyến mới hiện chỉ dành choAndroid, một phụ tá ảo đắc lực cho công việc sắp xếp lịch trình, tìm kiếm thông tin,xác định vị trí Rất đa năng và được xem như lời đáp trả của Google với "phụ tá ảo"Apple Siri trong iOS

Android 4.2: vẫn là Jelly Bean: Ra mắt tháng 11-2012, chỉ sau gần năm tháng

ra mắt Android 4.1, Google tiếp tục bồi thêm sức nặng cho Android với phiên bản 4.2

và vẫn mang tên mã Jelly Bean

Android 4.2 tiếp tục mang đến những cải tiến hấp dẫn cho ứng dụng chụp ảnh(Camera) như HDR, Photo Sphere, hiệu ứng ảnh, Google Now, đưa tính năng lướtchọn từ rất hay trong bàn phím ảo Chức năng "bom tấn" hỗ trợ nhiều tài khoản ngườidùng (multi-user profile) lần đầu tiên được áp dụng trong Android 4.2 nhưng chỉ có

người dùng máy tính bảng thừa hưởng chức năng này

 Trong thời gian em thực hiện đề tài này Google đã cho ra phiên bản Android 4.3

vẫn lấy tên là Jelly Bean, nhưng vì chưa có thông tin chính thức và chưa có phản hồi

nhiều của người dùng nên em chưa cập nhật thông tin vào đây

2.1.2.6 Mobile Android và Tablet Android

Đây là các thiết bị công nghệ thông tin mà hệ điều hành của nó chính là hễ điềuhành Android

Trang 25

Hình 2.6 : Hình ảnh điện thoại Android 2.2 Board Arduino Mega 2560

Giới thiệu board arduino:

Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bịphần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật củaArduino là môi trường phát triển ứng dụng cực kì dễ sử dụng, với một ngôn ngữ lậptrình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lậptrình Người dùng đã có thể sở hữu một bo Arduino có 20 ngõ I/O có thể tương tác vàđiều khiển chừng ấy thiết bị

Khả năng của bo mạch Arduino

Bo mạch Arduino sử dụng dòng vi xử lý 8-bit mega AVR của Atmel với hai chipphổ biến nhất là Atmega 328 và Atmeaga 2560 Các dòng vi xử lý này cho phép lậptrình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộnhớ ROM, RAM và Flash, các ngõ ra digital I/O trong đó có nhiều ngõ có khả năngxuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng nhưUART, SPI, TWI (I2C)

Khả năng xử lý

 Xung nhịp: 16MHz

 EEPROM: 1KB (Atmega 328) và 4KB (Atmega 2560)

 SRAM: 2KB (Atmega 328) và 8KB (Atmega 2560)

 Flash: 32KB (Atmega 328) và 256KB (Atmega 2560)

Đọc tín hiệu cảm biến ngõ vào

Digital

Các bo mạch Arduino đều có các cổng digital có thể cấu hình làm ngõ vào hoặcngõ ra bằng phần mềm Do đó người dùng có thể linh hoạt quyết định số lượng ngõvào và ngõ ra Tổng số lượng cổng digital trên các mạch dùng Atmega 328 là 14, vàtrên Atmega 2560 là 54

17 GVHD: PGS.TS TRẦN THU HÀ

Trang 26

Analog

Các bo mạch Arduino đều có trang bị các ngõ vào analog với độ phân giải 10-bit(1024 phân mức, ví dụ với điện áp chuẩn là 5V thì độ phân giải khoảng 0.5mV) Sốlượng cổng vào analog là 6 đối với Atmega 328, và 16 đối với Atmega 2560 Với tínhnăng đọc analog, người dùng có thể đọc nhiều loại cảm biến như nhiệt độ, áp suất, độ

PWM output

Trong số các cổng digital, người dùng có thể chọn một số cổng dùng để xuất tínhiệu điều chế xung PWM Độ phân giải của các tín hiệu PWM này là 8 bit Số lượngcổng PWM đối với các bo dùng Atmega 328 là 6, và đối với các bo dùng Atmega 2560

là 14 PWM có nhiều ứng dụng trong viễn thông, xử lý âm thanh hoặc điều khiển động

cơ mà phổ biến nhất là động cơ servos trong các máy bay mô hình

Chuẩn giao tiếp

Serial

Đây là chuẩn giao tiếp nối tiếp được dùng rất phổ biến trên các bo mạch Arduino.Mỗi bo có trang bị một số cổng Serial cứng (việc giao tiếp do phần cứng trong chipthực hiện) Bên cạnh đó, tất cả các cổng digital còn lại đều có thể thực hiện giao tiếpnối tiếp bằng phần mềm (có thư viện chuẩn, người dùng không cần phải viết code).Mức tín hiệu của các cổng này là TTL 5V Lưu ý cổng nối tiếp RS-232 trên các thiết bịhoặc PC có mức tín hiệu là UART 12V Để giao tiếp được giữa hai mức tín hiệu, cầnphải có bộ chuyển mức, ví dụ như chip MAX232 Số lượng cổng Serial cứng củaAtmega 328 là 1 và của Atmega 2560 là 4 Với tính năng giao tiếp nối tiếp, các boArduino có thể giao tiếp được với rất nhiều thiết bị như PC, touchscreen, các gameconsole…

Trang 27

USB

Các bo Arduino tiêu chuẩn đều có trang bị một cổng USB để thực hiện kết nốivới máy tính dùng cho việc tải chương trình Tuy nhiên các chip AVR không có cổngUSB, do đó các bo Ardunino phải trang bị thêm phần chuyển đổi từ USB thành tínhiệu UART Do đó máy tính nhận diện cổng USB này là cổng COM chứ không phải làcổng USB tiêu chuẩn

Môi trường lập trình mạch Arduino

Thiết kế bo mạch nhỏ gọn, trang bị nhiều tính năng thông dụng mang lại nhiềulợi thế cho Arduino, tuy nhiên sức mạnh thực sự của Arduino nằm ở phần mềm Môitrường lập trình đơn giản dễ sử dụng, ngôn ngữ lập trình Wiring dễ hiểu và dựa trênnền tảng C/C++ rất quen thuộc với người làm kỹ thuật Và quan trọng là số lượng thưviện code được viết sẵn và chia sẻ bởi cộng đồng nguồn mở là cực kỳ lớn

Hình 2.7 : Giao diện IDE của Arduino

19 GVHD: PGS.TS TRẦN THU HÀ

Trang 28

Môi trường lập trình Arduino IDE có thể chạy trên ba nền tảng phổ biến nhất hiệnnay là Windows, Macintosh OSX và Linux Do có tính chất nguồn mở nên môi trườnglập trình này hoàn toàn miễn phí và có thể mở rộng thêm bởi người dùng có kinhnghiệm.

Ngôn ngữ lập trình có thể được mở rộng thông qua các thư viện C++ Và do ngônngữ lập trình này dựa trên nền tảng ngôn ngữ C của AVR nên người dùng hoàn toàn cóthể nhúng thêm code viết bằng AVR C vào chương trình nếu muốn

Board Arduino Mega 2560

Arduino Mega 2560 được điều khiển bởi vi điều khiển Atmega 2560 Nó có 54chân đầu vào/ đầu ra số, 16 đầu vào tương tự, 4 UARTs (cổng nối tiếp phần cứng), mộttinh thể dao động 16 MHz, 1 cổng USB, một jack nguồn, ICSP và một nút Reset Nóchứa tất cả mọi thứ cần thiết để hỗ trợ các vi điều khiển, chỉ cần kết nối nó với mộtmáy tính bằng cáp USB hoặc sử dụng nó với một bộ chuyển đổi AC thành DC hay pin

để bắt đầu

 Board Arduino Mega 2560 như hình 2.8

Hình 2.8 : Board Arduino Mega 2560 (mặt trước và sau)

Sơ đồ chi tiết Board Arduino Mega 2560 (Hình 2.9)

Trang 29

Hình 2.9: Board Arduino Mega 2560

 Sơ đồ chân chip ATMEGA 2560

Hình 2.10: Sơ đồ chân của ATMEGA 2560.

Khả năng xử lý

Xung nhịp: 16MHz

21 GVHD: PGS.TS TRẦN THU HÀ

Trang 30

EEPROM: 4KB (Atmega 2560).

Flash: 256KB (Atmega 2560)

Số chân điều xung PWM của board Arduino Mega lên đến 52 chân (từ chân 2 – 53)

2.3 Giao tiếp Bluetooth

2.3.1 Giới thiệu về module HC-05

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

và thành giao tiếp không dây Bluetooth và ngược lại Module bluetooth HC – 05 rachân hoàn chỉnh giúp dễ dàng kết nối để thực hiện các thí nghiệm, module được thết kế

để hoạt động từ mức điện áp 3v3 đến 5v dc Khi kết nối máy tính, HC – 05 sẽ nhận nhưmột cổng COM ảo ở chế độ truyền Haft Duplex tức trong một thời điểm chỉ có thểtruyền hoặc nhận tín hiệu

Module có 2 chế độ làm việc (có thể lựa chọn chế độ làm việc bằng cách thay đổi

trạng thái chân 34 KEY):

Tự động kết nối

Đá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

Module HC05 có thể nhận 1 trong 3 chức năng: Master, Slave, Loopback (có thể lựa chọn các chức năng bằng lệnh AT). Giao tiếp với module bằng giao tiếp nối tiếp

không đồng bộ qua 2 đường RX và TX, vì vậy chúng ta có thể sử dụng PC với chuẩn

RS232 hoặc các dòng vi điều khiển để giao tiếp.Bằng cách thay đổi trạng thái chân 34

(KEY), chúng ta có thể cấu hình chế độ hoạt động cho module Để module làm việc ở

chế độ kết nối tự động : 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’ (kết nối xuống đất) và cấp nguồn cho module sau đó chuyển KEY = ‘1’ (kết nối lên VCC) và lúc này các chúng

ta có thể sử dụng các lệnh AT để giao tiếp

Trang 31

Hình 2.11: Module HC - 05

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

Chuẩn Bluetooth : V2.0+EDR

Điện áp hoạt động : 3.3-5VDC, 30mA

Kết nối truyền thông

Đá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 để giaotiếp và cài đặt module

2.3.3 Đặc điểm phần cứng

Hình 2.12: Phần cứng HC -05.

23 GVHD: PGS.TS TRẦN THU HÀ

Trang 33

①.Loại thiết bị: 0

②.Mã dò xét: 0x009e8b33

③.Chế độ làm việc Module : Slave Mode

④.Chế độ kết nối: Kết nối với các thiết bị Bluetooth định tham số

⑤.Thông số:Tốc độ Baud: 38400 bits/s; Stop bit: 1 bit; Parity bit: None

⑥.Passkey: “1234”

⑦ Tên thiết bị: “H-C-2010-06-01”

Nhận địa chỉ module Bluetooth

AT+ADDR? ADDR: <Param>

OK Param: Địa chi Bluetooth

Bảng 2.5: Tập lệnh nhận địa chỉ module Bluetooth

Địa chỉ Bluetooth sẽ hiển thị như thế này: NAP : UAP : LAP

Đặt / hỏi tên của thiết bị

Bảng 2.6: Tập lệnh đặt / hỏi tên của thiết bị

Nhận tên thiết bị Bluetooth điều khiển từ xa

Bảng 2.7: Tập lệnh nhận tên thiết bị Bluetooth điều khiển từ xa

Đặt / hỏi vai trò mô-đun

25 GVHD: PGS.TS TRẦN THU HÀ

Trang 34

Bảng 2.8: Tập lệnh Đặt / hỏi vai trò mô-đun

Giới thiệu vai trò :

Slave (vai trò phụ thuộc) kết nối thụ động ;

Slave - Vòng kết nối thụ động , tiếp nhận các dữ liệu thiết bị chủ Bluetooth từ xavàgửi lại cho các thiết bị tổng thể, Chuyên nghiệp (vai trò master ) dò xét thiết bịgần SPP Bluetooth phụ thuộc, xây dựng kết nối với nó một cách tích cực và xây dựngtruyền dữ liệu trong suốt giữa thiết bị master và thiết bị Slave

Đặt / hỏi loại thiết bị.

Để tìm hiểu các thiết bị Bluetooth tùy chỉnh từ khắp nơi trên các thiết bị Bluetooth mộtcách nhanh chóng và có hiệu quả , người dùng có thể thiết lập các mô-đun được phitiêu chuẩn loại thiết bị Bluetooth , chẳng hạn như 0x1f1f ( Hexa decimal )

Mặc định: 0Các thông tin được cung cấptại Phụ lục 1 ( loại thiết bịGiới thiệu)

Bảng 2.9: Tập lệnh Đặt / hỏi loại thiết bị.

Đặt / hỏi - Yêu cầu mã truy cập.

Ngày đăng: 21/05/2018, 10:42

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w