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 4 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 đề Xe Điều Khiển Thông Qua Bluetooth
Tác giả Hoàng Hữu Thơm, Bạch Đình Bảo Phúc, Nguyễn Đức Phú
Người hướng dẫn Ths. Lê Đức Thuận
Trường học Học viện Kỹ thuật Mật mã
Chuyên ngành Công nghệ Thông Tin
Thể loại Báo cáo bài tập lớn công nghệ phần mềm nhúng
Năm xuất bản 2022
Thành phố Hà Nội
Định dạng
Số trang 52
Dung lượng 8,33 MB

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

Cấu trúc

  • CHƯƠNG 1: GI I Ớ THIỆ U T NG QUAN V ARDUINO VÀ CÔNG NGH Ổ Ề Ệ (0)
    • 1.1 Giới thi u v ARDUINO. ệ ề (11)
      • 1.1.1 Giớ i thi u v ARDUINO UNO R3. ệ ề (11)
      • 1.1.2 Thông s k thu t c a ARDUINO UNO R3 ố ỹ ậ ủ (12)
      • 1.1.3 Vi điều khi n ể (12)
      • 1.1.4 Các cổng k t n i c a ARDUINO UNO R3 ế ố ủ (0)
      • 1.1.5 Năng lượng và bộ nhớ (14)
    • 1.2 Thi ết k . ế (16)
      • 1.2.1 Thiế ế t k ngu n ồ (0)
      • 1.2.2 Thiết k m ế ạch dao độ ng (17)
      • 1.2.3 Thiết k m ch reset. ế ạ (0)
      • 1.2.4 Thiết k m ch n ế ạ ạp và giao ti p máy tính. ế (0)
    • 1.3 Lập trình cho ARDUINO UNO R3 (20)
    • 1.4 Sơ lược công ngh Bluetooth. ệ (24)
      • 1.4.1 Sơ lược v k t n i bluetooth ề ế ố (24)
      • 1.4.2 Các chu n k t n i Bluetooth. ẩ ế ố (0)
      • 1.4.3 Các tính năng của Bluetooth (25)
      • 1.4.4 Ưu và nhược điểm của công ngh Bluetooth ệ (0)
    • 1.5 Giới thi u v module Bluetooth HC05 ệ ề (0)
      • 1.5.1 Giới thi u v Module Bluetooth HC05 ệ ề (27)
      • 1.5.2 Thông s Module Bluetooth HC05 ố (27)
    • 1.6 T ổng kết chương 1 (28)
  • Chương 2: PHÂN TÍCH, THIẾ T K VÀ XÂY D NG H Ế Ự Ệ THỐNG (0)
    • 2.1 Thi t k ế ế phầ n c ứng (29)
      • 2.1.1 Thi t k ế ế sơ đồ khối (29)
    • 2.2 Thi t k ế ế phầ n m m. ề (34)
      • 2.2.1 Sơ đồ Use Case t ng quát ổ (34)
      • 2.2.2 Đặ ả c t các Use Case (0)
      • 2.2.3 Phân tích các ca s d ử ụng (36)
      • 2.2.4 Sơ đồ thuật toán điều khiển (38)
      • 2.2.5 Mô t quy trình ả (38)
      • 2.2.6 Phầ n m ềm điều khiển (39)
    • 2.3 L p ráp và hoàn thi n h ắ ệ ệ thống (40)
      • 2.3.1 Code Arduino (40)
      • 2.3.2 Mô hình th nghi m ử ệ (42)
    • 2.4 T ổng kết chương 2 (44)
  • CHƯƠNG 3: THỬ NGHIỆM VÀ ĐÁNH GIÁ HỆ THỐNG (45)

Nội dung

Ở mỗi chân đều có các điện trở pull-up t ừ được cài đặt ngay trong vi điều khi n Atmega328 mể ặc định thì các điện trở này không được kết nối.. Khi bạn 8lue các thiết bị sử dụng những n

Trang 1

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 và di ầ ề động

Trang 2

MỤC LỤC

LỜI NÓI ĐẦ 1 U

TÓM TẮT ĐỀ TÀI 3

CHƯƠNG 1: GI I Ớ THIỆ U T NG QUAN V ARDUINO VÀ CÔNG NGH Ổ Ề Ệ BLUETOOTH 5

1.1 Giới thi u v ARDUINO ệ ề 5

1.1.1 Giới thi u v ARDUINO UNO R3 ệ ề 5

1.1.2 Thông s k thu t c a ARDUINO UNO R3 ố ỹ ậ ủ 6

1.1.3 Vi điều khi n ể 6

1.1.4 Các cổng k t n i c a ARDUINO UNO R3 ế ố ủ 7

1.1.5 Năng lượng và bộ nhớ 8

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 và 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 v 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 năng của Bluetooth 19

1.4.4 Ưu và nhược điểm của công ngh Bluetooth ệ 20

1.5 Giới thi u v module Bluetooth HC05 ệ ề 21

1.5.1 Giới thi u v Module Bluetooth HC05 ệ ề 21

1.5.2 Thông s Module Bluetooth HC05 ố 21

1.6 Tổng kết chương 1 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 2 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 các Use Case 29

2.2.3 Phân tích các 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 và 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 2 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

Trang 3

PHỤ LỤC 43

Trang 4

DANH MỤC HÌNH VẼ

Hình 1.1 Arduino Uno R3 5

Hình 1.2 Vi điều khi n ARDUINO UNO R3ể 7

Hình 1.3 Các c ng k t n i c a Arduino Uno R3ổ ế ố ủ 7

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 và giao ti p máy tínhạ ế 14

Hình 1.8 L p trình Arduino Uno trên ph n m m Arduino IDEậ ầ ề 15

Hình 1.9 L p trình Arduino b ng 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 về 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 cơ vàng giảm tốc 26

Hình 2.5 Pin 18650 27

Hình 2.6 Công t c 2 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 ự đi thẳng 30

Hình 2.9 Biểu đồ trình t ự đi 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 toá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 các chân gán vào động cơ 34

Hình 2 17 Định nghĩa các chân tín hiệu 35

Hình 2 18 Điều chỉnh tốc độ ủ c a xe 35

Hình 2 19 Thi t l p các chế ậ ức năng di chuyển của xe 36

Trang 5

Hình 2 20 Sơ đồ kết nối của hệ thống xe 37

Trang 6

DANH MỤC BẢNG BIỂU

B ảng 1 thành ph n linh ki n c u t o c a xeầ ệ ấ ạ ủ 4

B ảng 2 Thông s k thu t c a Arduino Uno R3ố ỹ ậ ủ 6

B ảng 3 Mô tả các chân c a Module L298nủ 26

B ảng 4 Đặ ả Use Case “Driver” 29 c t

B ảng 5 Đặ ả Use Case “Adjust” 30 c t

Trang 7

LỜI NÓI ĐẦU

Cùng v i s phát tri n nhanh chóng cớ ự ể ủa lĩnh vực Khoa học – K thu t ỹ ật, ừ những

hệ thống máy tính lớn đến nh ng h ữ ệ thống máy tính cá nhân, t ừ những việc điều khiển các máy công nghiệp đến các thi t b ế ị phục v ụ đời sống hằng ngày của con người Trong các h ệ thống đó, việc trao đổi thông tin là vô cùng 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 trong đờ ối s ng h ng ằngày Nh có s phát tri n c a công nghờ ự ể ủ ệ điều khi n t xa, ngày nay m t s công viể ừ ộ ố ệc thay vì s d ng nhân công tr c tiử ụ ự ếp thì người ta đã thay thế nó b ng viằ ệc điều khi n t xa ể ừ

Và m t trong nhộ ững máy móc đó là “Xe điều khiển thông qua bluetooth”.Công ngh ệ

truyền tin không dây ngày càng phát triển, đặc biệt công ngh Bluetoothệ đã phổ biến hầu hết các thi t b ế ị điệ ử di động n t

Trong các khu công nghi p hay m t s nhà máy hóa ch t, vi c v n chuyệ ộ ố ấ ệ ậ ển đồ các vật tư trang bị từ nơi này đến nơi khác luôn xảy ra thường xuyên với tần suất cao Đặc biệt khối lượng v n chuyậ ển cũng không hề nhỏ đối v i m t s ớ ộ ố trường h p Trong các nhà ợmáy, m t s phòng có th ộ ố ể an toàn nhưng số ít khác trong quá trình hoạt động có th t o ra ể ạnhiều hóa chất độc hại.Việc sử dụng nhân công là con người trong các môi trường này thực s có th gây h i v lâu v dài và ự ể ạ ề ề ảnh hưởng đến chất lượng công việc cũng như quá trình hoạt động Vì thế nên để giảm thi u rể ủi ro gây ra cũng như giảm thi u chi phí và ểthiệt h i v kinh t trong quá trình vạ ề ế ận động, việc điều khiển các phương tiện v n chuyậ ển

từ xa là vấn đề cấp thiết cần được thực hiện

Những l i ích mang l i cợ ạ ủa xe điều khiển từ xa bluetooth:

- An toàn: S dử ụng xe điều khi n t giúp cho công nhân không ph i hoể ừ xa ả ạt động trong môi trường độc h i, quá trình vạ ận hành cũng ít có rủi ro về tai nạn hơn

- Giảm thi u nhân l c: Có th c t gi m sể ự ể ắ ả ố lượng nhân công, thay vì s d ng mử ụ ỗi người một phương tiện trong quá trình vận chuy n thì giể ời đây có thể c t giảm ắ

để một số người vận chuy n cùng lúc m t ho c nhiể ộ ặ ều máy tùy vào năng lực

- Tiết ki m chi phí: V i vi c c t gi m nhân lệ ớ ệ ắ ả ực cũng như sử ụ d ng b ng máy móc ằ

có th t ki m chi phí trong vi c tr ể tiế ệ ệ ả lương cho nhân viên

Mục tiêu của để tài chính là nghiên cứu và ch tế ạo “Xe điều khi n tể ừ xa thông qua bluetooth”, trên cơ sở đó tiếp tục phát triển để giúp sản phẩm tiến sát hơn với thực tiễn các công việc trong đời sống như: vận chuy n hàng hóa, hoể ạt động trong môi trường hoặc khu vực mà con người khó tiếp cận,

Trang 8

Bản báo cáo này s trình bày k t qu cẽ ế ả ủa quá trình nghiên c u và phát triứ ển đề tài

“Xe điều khiển thông qua bluetooth”

Vì trong quá trình nghiên c u còn t n t i khá nhi u h n chứ ồ ạ ề ạ ế, cũng như kiến thức thực tế chưa được sâu rộng nên không th tránh khể ỏi nh ng sai sót R t mong nhữ ấ ận được

sự góp ý t ừ thầy cô và các bạn

Nội dung nghiên cứu đượ ậc t p trung vào các nội dung chính như sau:

NỘI DUNG 1: Ti n hành kh o sát và xây d ng bài toán ế ả ự

NỘI DUNG 2: Phân tích, thi t k và xây d ng h ế ế ự ệ thống

NỘI DUNG 3: Th nghiử ệm và đánh giá hệ thống

NỘI DUNG 4: K t lu n t ng quan v h ế ậ ổ ề ệ thống và đưa ra hướng phát triển cũng như tính ng d ng cứ ụ ủa hệ thống trong tương lai

Trang 9

TÓM TẮT ĐỀ TÀI Yêu c u chung và các chầ ức năng của h ệ thố ng:

- Yêu c u chung: ầ

• Tính th c thi cao, có kh ự ả năng phát triển

• Đảm b o về ả chất lượng, độ chính 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 và d dàng thay th khi ễ ử ụ ễ ếxảy ra s cự ố

• Giảm thi u chi phí, th i gian v n hành, bể ờ ậ ảo dưỡng và s a chử ữa

- Chức năng: Xe có khả năng di chuyển tiến, lùi, r trái , r ẽ ẽ phải, d ng lừ ại, điều chỉnh tốc độ khi nhận được 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 khá đa dạng và phong phú Mỗi kết cấu được th c hi n v i nhiự ệ ớ ều phương án khá nhau, mỗi phương án sẽ trình bày dưới dạng một một sơ đồ biểu hiện các đặc điểm chính của kết cấu đó

Cần phải lựa chọn các thành ph n cầ ấu t o sao cho c u trúc cạ ấ ủa xe luôn luôn được đảm bảo trong quá trình hoạt động, h n ch tạ ế ối đa thiệ ại cũng như ảnh hưởng đến các t hlinh kiện bên trong (đặc biệt là phần mạch điện tử)

Mô hình được xây d ng d a trên khuôn mự ự ẫu của xe ô tô 4 bánh để đảm bảo độ ổn

định, giúp xe gi thăng bằữ ng tốt hơn trong một số môi trường khác Ph n khung xe cầ ần được gia cố chắc ch n và ph i rắ ả ộng đủ để ả b o v các linh kiệ ện trong trường h p x y ra ợ ả

sự c v va chố ề ạm

Đối với các xe điều khiển bluetooth, vi c cệ ấp nguồn và duy trì dòng điện trong quá trình v n hành là c c kì quan tr ng Vì th 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 đủ ện năng cho xe trong quá trình vậ đi n hành, tránh hao hụt điện năng của như đáp ứng đủ năng lượng hoạt động cho các thành phần của xe trong vòng 1 ti ng liên tế ục

Trang 10

Đế pin 18650 2 viên n i ti p 7.4v (có dây) ố ế 1

B ảng 1 thành ph n linh ki n c u t o c a xe ầ ệ ấ ạ ủ

Trang 11

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN VỀ ARDUINO VÀ CÔNG NGHỆ

BLUETOOTH

Chương này trình bày toàn bộ những ki n th c ph n lý thuy t liên quan t i Arduino ế ứ ầ ế ớcũng như phần mềm lập trình Arduino IDE

1.1 Giới thi u v ARDUINO ệ ề

1.1.1 Giới thi u v ARDUINO UNO R3 ệ ề

Arduino Uno R3 là dòng Arduino th h ế ệ thứ 3 cũng giống như các phiên bản trước đây giúp người dùng d dàng ti p c n v i lễ ế ậ ớ ập trình để t o ra ph n c ng có nhạ ầ ứ ững tính năng mong mu n mố ột cách nhanh chóng v i chi phí h p lý ớ ợ

Hình 1.1 Arduino Uno R3

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ới nhau 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ồ ộ ạch nguồ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ào analog, 14 chân I/O k thu t s ỹ ậ ố tương thích với nhiều board mở rộng khác nhau Arduino có th k t nể ế ố ới v i nh ng gì? ữ

Một hệ thống Arduino có th cung cể ấp cho bạn rất nhiều sự tương tác với môi trường xung quanh v ới:

- Hệ thống c m biả ến đa dạng về chủng loại (đo đạc nhiệt độ, độ ẩm, gia t c, v n t c, ố ậ ốcường độ ánh sáng, màu sắc vật thể, lưu lượng nước, phát hiện chuyển động, phát hiện kim loại, khí độc, …)

- Các thi t b ế ị hiển thị (màn hình LCD, đèn LED, …)

Trang 12

- Các module chức năng (shield) hỗ trợ kêt n i có dây v i các thi t b khác ho c các ố ớ ế ị ặkết n i không dây thông dố ụng (3G, GPRS, Wifi, Bluetooth, 315/433Mhz, 2.4Ghz,

…),

- Định v GPS, nh n tin SMS, ị ắ …

1.1.2 Thông s k thu t c a ARDUINO UNO R3 ố ỹ ậ ủ

Điện áp hoạt động 5V DC (ch ỉđược cấp qua c ng USB) ổ

Điện áp vào gi i h n ớ ạ 6-20V DC

Số chân Digital I/O 14 (6 chân hardware PWM)

Dòng tối đa trên mỗi chân I/O 30 mA

ẩm và hiển thị lên màn hình LCD, … hay những ng d ng khác ứ ụ

Trang 13

Hình 1.2 Vi điều khi n ARDUINO UNO R3ểThiết k tiêu chuế ẩn c a Arduino UNO sủ ử dụng vi điều khi n Atmega328 v i giá khoể ớ ảng 90.000đ Tuy nhiên nếu yêu cầu phần cứng của bạn không cao hoặc túi tiền không cho phép, b n có th s d ng các loạ ể ử ụ ại vi điều khi n khác có chể ức năng tương đương nhưng rẻ hơn như Atmega8 (bộ nhớ flash 8KB) với giá khoảng 45.000đ hoặc Atmega168 (bộ nhớ flash 16KB) v i giá khoớ ảng 65.000đ

1.1.4 Các cổng kết nối của ARDUINO UNO R3

Arduino UNO có 14 chân digital 7lue để đọc ho c xu t tín hi u Chúng ch có 2 ặ ấ ệ ỉmức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA Ở mỗi chân đều

có các điện trở pull-up t ừ được cài đặt ngay trong vi điều khi n Atmega328 (mể ặc định thì các điện trở này không được kết nối)

Một số chân digital có các chức năng đặc biệt như sau:

2 chân Serial: 0 (RX) và 1 (TX): 7lue để gửi (transmit – TX) và nhận (receive –RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua

2 chân này Kết nối 7luetooth thường thấy nói nôm na chính là kết nối Serial không

Trang 14

dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết

Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân

giải 8bit (giá trị từ 0 → 2 1 tương ứng với 0V → 5V) bằng hàm analogWrite() 8Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác

-• Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn 8lue để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác

LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút

Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người 8lue sử dụng, LED sẽ sáng

Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 →

210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, bạn có

thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện

áp 2.5V vào chân này thì bạn có thể 8lue các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit

Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác

1.1.5 Năng lượng và bộ nhớ

Arduino UNO có thể được c p ngu n 5V thông qua c ng USB ho c c p nguấ ồ ổ ặ ấ ồn ngoài với điện áp khuyên 8lue là 7-12V DC và gi i h n là 6-ớ ạ 20V Thường thì c p nguấ ồn bằng pin vuông 9V là h p lí nh t n u b n không có s n ngu n t c ng USB N u cợ ấ ế ạ ẵ ồ ừ ổ ế ấp nguồn vượt quá ngưỡng giới h n trên, b n s làm h ng Arduino UNO ạ ạ ẽ ỏ

a Các chân năng lượng

GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO Khi bạn 8lue các

thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải được nối với nhau

5V: cấp điện áp 5V đầu ra Dòng tối đa cho phép ở chân này là 500mA.

3.3V: cấp điện áp 3.3V đầu ra Dòng tối đa cho phép ở chân này là 50mA.

Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dương

của nguồn với chân này và cực âm của nguồn với chân GND

IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể được đo ở

chân này Và dĩ nhiên nó luôn là 5V Mặc dù vậy bạn không được lấy nguồn 5V

từ chân này để sử dụng bởi chức năng của nó không phải là cấp nguồn

RESET: việc nhấn nút Reset trên board để reset vi điều khiển tương đương với

việc chân RESET được nối với GND qua 1 điện trở 10KΩ

Trang 15

Lưu ý:

• Arduino UNO không có bảo vệ cắm ngược nguồn vào Do đó bạn phải hết sức cẩn thận, kiểm tra các cực âm – dương của nguồn trước khi cấp cho Arduino UNO Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một miếng nhựa chặn giấy mình khuyên bạn nên 9lue nguồn từ cổng USB nếu có thể

• Các chân 3.3V và 5V trên Arduino là các chân 9lue để cấp nguồn ra cho các thiết

bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏng board Điều này không được nhà sản xuất khuyến khích

• Cấp nguồn ngoài không qua cổng USB cho Arduino UNO với điện áp dưới 6V có thể làm hỏng board

• Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển Atmega328

• Cường độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino UNO nếu vượt quá 200mA sẽ làm hỏng vi điều khiển

• Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ làm hỏng vi điều khiển

• Cường độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino UNO vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không 9lue để truyền nhận

dữ liệu, bạn phải mắc một điện trở hạn dòng

Khi mình nói rằng bạn “có thể làm hỏng”, điều đó có nghĩa là chưa chắc sẽ hỏng ngay bởi các thông số kĩ thuật của linh kiện điện tử luôn có một sự tương đối nhất định Do đó hãy cứ tuân thủ theo những thông số kĩ thuật của nhà sản xuất nếu bạn không muốn phải mua một board Arduino UNO thứ 2.Khi mình nói rằng bạn “có thể làm hỏng”, điều đó

có nghĩa là chưa chắc sẽ hỏng ngay bởi các thông số kĩ thuật của linh kiện điện tử luôn

có một sự tương đối nhất định Do đó hãy cứ tuân thủ theo những thông số kĩ thuật của nhà sản xuất nếu bạn không muốn phải mua một board Arduino UNO thứ 2

b B ộ nhớ

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người 9lue:

• 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được 9lue cho bootloader nhưng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này đâu

2KB cho SRAM (Static andom ccess R A Memory): giá trị các biến bạn khai báo

khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất

1KB cho EEPROM (Electrically Eraseble rogrammable ead nly emory): P R O M

đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM

Trang 16

1.2 Thiết k ế

1.2.1 Thi t k ế ế nguồn

Phần nguồn c a Board mạch Arduino được thiết kế để th c hiện các nhi m v sau: ự ệ ụ

• Lựa chọn nguồn cung cấp cho board mạch (khối màu cam trong hình dưới) Board mạch Arduino có thể được cung cấp nguồn bởi Adapter thông qua Jack DC hoặc từ

Trang 17

cổng USB (2 mũi tên màu đỏ) Trong trường hợp chỉ có 1 trong 2 nguồn cung cấp thì

Board Arduino sẽ sử dụng nguồn cung cấp đó Trong trường hợp có cả 2 nguồn cung cấp thì Arduino sẽ ưu tiên lựa chọn nguồn cung cấp từ Jack DC thay vì từ cổng USB

Việc ưu tiên này được thực hiện bởi OpAmp trong IC LMV358 và MOSFET FDN340P Điện áp từ Jack DC sau khi qua Diode bảo vệ D1thì được gọi làđiện áp VIN Điện áp VIN qua cầu phân áp để tạo thành VIN/2 để so sánh với điện

áp 3.3V Vì VIN/2 >3.3V nên điện áp đầu ra của OpAmp là 5V, điều này làm cho MOSFET không được kích, nguồn cung cấp cho Board Arduino là từ Jack DC sau khi qua ổn áp

• Tạo ra các điện áp 5v và 3.3v (2 khối màu xanh) để cung cấp cho vi điều khiển và cũng

là điểm cấp nguồn cho các thiết bị bên ngoài sử dụng Mạch Arduino sử dụng IC ổn

áp NCP1117 để tạo điện áp 5V từ nguồn cung cấp lớn và IC ổn áp LP2985để tạo điện

áp 3.3V Đây đều là những IC ổn áp tuyến tính, tuy hiệu suất không cao nhưng ít gợn nhiễu và mạch đơn giản

• Bảo vệ ngược nguồn, quá tải (vòng tròn màu đỏ).F1là một cầu chì tự phục hồi, trong trường hợp bạn chỉ sử dụng dây cáp USB để cấp nguồn thì tổng dòng tiêu thụ không được quá 500mA Nếu không cầu chì sẽ ngăn không cho dòng điện chạy qua D1 là một Diode, chỉ cho dòng điện 1 chiều chạy qua (từ Jack DC vào mạch), trong trường hợp mạch Arduino của bạn có mắc với các thiết bị khác và có nguồn cung cấp lớn hơn nguồn vào Jack DC, nếu có sai sót chập mạch vv thì sẽ không có trường hợp nguồn các thiết bị bên ngoài chạy ngược vào Adapter

• Báo nguồn Đèn nguồnON sáng lên báo thiết bị đã được cấp nguồn Nếu các bạn đã cắm nguồn mà đèn nguồn không sáng thì có thể nguồn cung cấp của bạn đã bị hỏng hoặc jack kết nối lỏng, hoặc mạch Arduino kết nối với các linh kiện bên ngoài bị ngắn mạch

1.2.2 Thiết k mế ạch dao động

Mạch giao động tạo ra các xung clock giúp cho vi điều khi n hoể ạt động, th c thi lự ệnh… Board m ch Arduino Uno R3 s d ng th ch anh 16Mhz làm nguạ ử ụ ạ ồn dao động

Trang 18

Hình 1.5 Thi t k m ế ế ạch dao động

1.2.3 Thi t k m ch reset ế ế ạ

Đểvi điều khiển th c hi n khự ệ ởi động l i thì chân RESET phạ ải ở ứ m c logic LOW (~0V) trong 1 kho n thả ời gian đủ yêu c u M ch reset c a board Arduino UnoR3 phầ ạ ủ ải đảm bảo được 02 việc:

– Reset bằng tay: Khi nh n nút, chân RESET n i v i GND, làm cho MCU RESET ấ ố ớKhi không nhấn nút chân Reset được kéo 5V

– Reset tự độ ng: Reset t động được thực hiện ngay khi cấp nguồn cho vi điều khiển ựnhờ s ự phố ợi h p giữa điện tr nở ối lên ngu n và t ồ ụ điện nối đất Th i gian t ờ ụ điện nạp giúp cho chân RESET m c LOW trong 1 kho n thở ứ ả ời gian đủ để vi điều khi n thể ực hiện reset

– Khởi động vi điều khiển trước khi nạp chương trình mới

Trang 19

Hình 1.6 Thi t k m ế ế ạch reset

1.2.4 Thiết k m ch n p và giao ti p máy tính ế ạ ạ ế

– Vi điều khiển Atmega328P trên Board Arduino UnoR3 đã được nạp sẵn 1

bootloader, cho phép nhận chương trình mới thông qua chuẩn giao ti p UART (chân ế

0 và 1) ở những giây đầu sau khi vi điều khiển Reset

– Máy tính giao ti p v i Board m ch Arduino qua chu n giao ti p USB (D+/D-), ế ớ ạ ẩ ếthông qua một vi điều khiển trung gian là ATMEGA16U2 ho c m t IC trung gian là ặ ộCH340 (thường th y trong các m ch s dấ ạ ử ụng chip dán) Vi điều khi n ho c IC này ể ặ

có nhi m v chuyệ ụ ển đổi chu n giao ti p USB thành chu n giao tiẩ ế ẩ ếp UART để ạp nchương trình hoặc giao tiếp truyền nhận d u v i máy tính (Serial) ữ liệ ớ

– Phần thi t kế mạch n p có tích hế ạ ợp thêm 02 đèn LED, nên khi nạp chương trình các bạn sẽ thấy 2LED này nh p nháy Còn khi giao ti p, n u có d u t máy tính gấ ế ế ữ liệ ừ ửi xuống vi điều khiển thì đèn LED Rx sẽ nháy Còn nếu có dữ liệ ừu t vi điều khi n gể ửi lên máy tính thì đèn Tx sẽ nháy

Trang 20

Hình 1.7 Thi t k m ế ế ạch n p và giao ti p máy tính ạ ế

1.3 L ập trình cho ARDUINO UNO R3

Các thiết bị dựa trên nền tảng Arduino được lập trình bằng ngôn riêng Ngôn ngữ này dựa trên ngôn ngữ Wiring được viết cho phần cứng nói chung Và Wiring lại là một biến thể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++ Riêng mình thì gọi nó là “ngôn ngữ Arduino”, và đội ngũ phát triển Arduino cũng gọi như vậy Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu Nếu học tốt chương trình Tin học 11 thì việc lập trình Arduino sẽ rất dễ thở đối với bạn

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát triển

dự án này đã cũng cấp đến cho người 14lue một môi trường lập trình Arduino được gọi là Arduino IDE ( ntergrated evelopment I D Environment) như hình dưới đây

Trang 21

Hình 1.8 L p trình Arduino Uno trên ph ần m m Arduino IDE

Các tính năng chính của Arduino IDE:

Tuy là ph n m m mã ngu n m ầ ề ồ ở nhưng khả năng bảo mật thông tin c a ủ Arduino IDE là vô cùng tuy t v i, khi phát hi n l i nhà phát hành s vá nó và c p nh t rệ ờ ệ ỗ ẽ ậ ậ ất nhanh khi n thông tin cế ủa người 15lue không b mị ất ho c rò rặ ỉ ra bên ngoài

- Sử dụng ngôn ng l p trình C/C++ thân thi n v i các l p trình viênữ ậ ệ ớ ậ

Trang 22

Arduino IDE sử ụ d ng ngôn ng l p trình Cữ ậ /C++ r t ph ấ ổ biến trong gi i l p trình ớ ậBất k ỳ đoạn code nào c a ủ C/C++ thì Arduino IDE đều có th ể nhận d ng, giúp ạcác l p trình viên thu n ti n trong vi c thiậ ậ ệ ệ ết k ế chương trình lập cho các bo m ch ạ

Arduino

- Hỗ trợ ậ l p trình t t cho bo m ch Arduinoố ạ

Arduino có m t module qu n lý bo mộ ả ạch, nơi người 16lue có th ể chọn bo m ch ạ

mà h ọ muốn làm vi c cùng và có th thay i bo m ch thông qua Menu Quá trình ệ ể đổ ạsửa đổi lựa chọn cũng liên tục tự động c p nhậ ật để các d ữ liệu có s n trong bo ẵmạch và dữ liệu sửa đổi đồng nhất với nhau Bên cạnh đó, Arduino IDE cũng

giúp b n tìm ra l i t code mà b n bi t giúp b n s a l i k p th i tránh tình tr ng ạ ỗ ừ ạ ế ạ ử ỗ ị ờ ạ

bo m ch Arduino làm vi c v i code l i quá lâu dạ ệ ớ ỗ ẫn đến hư hỏng ho c tặ ốc độ ử x lý

bị giảm sút

Trang 23

Hình 1 10 Tương thích với bo m ch Arduino

- Thư viện hỗ trợ phong phú

Arduino IDE tích h p vợ ới hơn 700 thư viện, được vi t và chia s bế ẻ ởi nhà phát

hành Arduino Software và thành viên trong cộng đồng Arduino Mọi người có thể t n dậ ụng chúng cho d án c a riêng mình mà không c n ph i b ra b t k chi ự ủ ầ ả ỏ ấ ỳ

phí nào

- Giao diện đơn giản, dễ sử dụng

Arduino IDE có m t giao diộ ện đơn giản, d s dễ ử ụng giúp người 17lue thu n tiậ ện

hơn trong thao tác

Trang 24

- Hỗ trợ đa nề ảng như Window, MacOS, Linux n t

Arduino IDE hoạt động trên 3 h ệ điều hành ph ổ biến nh t là ấ Windows, Mac

OS và Linux giúp người 18lue có th truy c p vào ph n mể ậ ầ ềm ở ấ ứ đâu, bấ ứ b t c t c khi nào mi n là h có mễ ọ ột cái máy tính Ngoài ra, người 18lue có thể truy cập vào công c t ụ ừ đám mây Điều này cho phép các nhà l p trình l a ch n tậ ự ọ ạo và lưu dự

án của mình trên đám mây hoặc xây dựng chương trình trên máy tính và upload

nó lên bo m ch Arduino ạ

1.4 Sơ lược công ngh Bluetooth

1.4.1 Sơ lược v k t n i bluetooth ề ế ố

Bluetooth được phát minh bởi công ty Ericsson vào năm 1994, nó có thể kết nối nhiều thi t b và khế ị ắc ph c các vấn đề ề đồng bộ hóa Ngày nay h u h t các nhà máy v ầ ế

đề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, laptop, tablet và thiết bị hỗ trợ cá nhân (Personal Digital Assistant PDA) –khác Công nghệ này thường đượ ử ụng để truy n thông gi a hai lo i thi t b khác c s d ề ữ ạ ế ị

nhau

Bluetooth sử dụng Blue Radio tần số 2.4GHz Tuy sử dụng cùng tần số với công

nghệ Wifi nhưng chúng không hề xung đột với nhau vì Bluetooth sử dụng tần số có bước Blue ngắn hơn

Bluetooth là một chuẩn điện tử, điều đó có nghĩa là các 18lue sản xuất muốn có đặt 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 của Bluetooth

Trang 25

cho sản phẩm của mình Những chỉ tiêu kỹ thuật này bảo đảm 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

1.4.2 Các chuẩn kết nối Bluetooth

- Bluetooth 1.0: Phiên bản Bluetooth đầu tiên với tốc độ 1Mpbs, nhưng khả năng tương

thích chưa cao

- Bluetooth 1.1: Phiên bản cải thiện lỗi của 1.0 nhưng không cải thiện tốc độ

- Bluetooth 1.2: Bản nâng cấp của Bluetooth 1.0 với sự cải tiến về tốc độ kết nối, truyền

tải

- Bluetooth 2.0 + ERD: Ra mắt vào tháng 7/2007 với sự ổng định và tốc độ chia sẻ

nhanh hơn, tiết kiệm năng lượng hơn các phiên bản trước

- Bluetooth 2.1 + ERD: Bản nâng cấp của Bluetooth 2.0 với cơ chế kết nối phạm vi

nhỏ

- Bluetooth 3.0 + HS: Ra mắt vào năm 2009 với tốc độ lý thuyết lên đến 24 Mbps

Bluetooth 3.0 rất phổ biến trên các mẫu điện thoại lúc bấy giờ, phù hợp với việc truyền

dữ liệu nhỏ như hình ảnh, file nhạc, …

- Bluetooth 4.0: Bluetooth 4.0 được ra đời vào ngày 30/6/2010 là một phiên bản tối ưu

hóa các chuẩn Bluetooth trước đó (Classic Bluetooth) cho phép truyền tải tốc độ cao

nhờ vào Bluetooth High Speed và tiêu tốn năng lượng thấp hơn nhờ vào Bluetooth Low Energy

- Bluetooth 5.0: Là thế hệ mới nhất hiện tại được SIG trình làng vào ngày 16/6/2016 với

nhiều cải tiến vượt bật như tầm phủ 19lue rộng gấp 4 lần, tốc độ nhanh hơn gấp

đôi và tiết kiệm điện hơn gấp 2.5 lần so với 4.0

Bluetooth 5.1: Nâng cấp 19lue khả năng tìm hướng AoA (Angle of Arrival) và AoD (Angle of Departure) giúp xác định vị trí chính xác của thiết bị Ngoài ra Bluetooth 5.1 còn trang bị khả năng kết nối không cần gói dữ liệu giúp kết nối, đồng bộ đơn giản và

ít điện năng hơn

- Bluetooth 5.2: Được ra mắt năm 2020 với tính năng giao thức thuộc tính nâng cao (EATT) giúp giảm độ trễ và 19lue mã hóa trong kết nối, tính năng kiểm soát LEPC để kiểm soát nguồn và ổn định chất lượng tín hiệu, giảm tỉ lệ lỗi nhận tín hiệu và tính năng ISOC cho phép truyền dữ liệu hai chiều với cùng lúc nhiều thiết bị

1.4.3 Các tính năng của Bluetooth

Trang 26

Với công nghệ không dây tiên tiến này, Bluetooth đã đem lại nhiều hữu ích mà mọi người vẫn thường biết tới về nó, một số tính năng của Bluetooth có thể kể đến như:

- Cho phép các thiết bị kết nối được với nhau để trao đổi thông tin giữa chúng Ví dụ như điện thoai di động với nhau, máy tính bảng, máy tính xách tay, máy in, các thiết bị Blue định vị GPS,…

- Giao tiếp và điều khiển giữa một thiết bị di dộng với tai nghe không dây như tai nghe bluetooth

- Trở thành đường truyền kết nối không dây giữa các thiết bị vào – ra của máy tính như: chuột, bàn phím không dây

- Ứng dụng trong các thiết bị điều khiển từ xa như bộ điều khiển đồ chơi, điều khiển tivi, điều hòa,…

- Kết nối internet cho máy tính bằng cách biến smartphone làm modem

1.4.4 Ưu và nhược điểm của công nghệ Bluetooth

- Ưu điểm:

• Thay thế hoàn toàn dây nối

• Hoàn toàn không nguy hại đến sức khoẻ con người

• Bảo mật an toàn với công nghệ mã hóa trong Một khi kết nối được thiết lập thì khó có một thiết bị nào có thể nghe trộm hoặc lấy cắp dữ liệu

• Các thiết bị có thể kết nối với nhau trong vòng 20m mà không cần trực diện (hiện nay có loại Bluetooth kết nối lên đến 100m)

• Kết nối điện thoại và tai nghe Bluetooth khiến cho việc nghe máy khi lái xe hoặc bận việc dễ dàng

• Giá thành rẻ

• Tốn ít năng lượng, chờ tốn 0.3mAh, tối đa 30mAh trong chế độ truyền dữ liệu

• Không gây nhiễu các thiết bị không dây khác

• Tính tương thích cao nên được nhiều nhà sản xuất phần cứng và phần mềm

hỗ trợ

- Nhược điểm:

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