Ụ
Ụ
M C L C
Ờ
Ầ
6 L I NÓI Đ U
ƯƠ
Ớ
Ệ
CH
NG 1 GI
I THI U
ổ ề 1.1 T ng Quan V Robot
ị 1.1.1. L ch s phát tri n ể ử
ứ ủ ụ 1.1.2. Các ng d ng c a Robot.
ố ượ ụ ọ ề ứ 1.2. Lý Do Ch n Đ Tài, M c Đích, Đ i T ng Nghiên C u
ọ ề 1.2.1. Lý do ch n đ tài
ủ ề ụ 1.2.2. M c đích c a đ tài
ố ượ ứ ạ 1.2.3. Đ i t ng ph m vi nghiên c u
ớ ề 1.3 G i Thi u V Arduino ệ
ớ ề ệ 1.4 Gi i Thi u Chung V Android
ớ ề ệ 1.4 Gi i Thi u Chung V Bluetooth
ƯƠ
Ề Ồ
Ổ
CH
NG 2 T NG QUAN V Đ ÁN
ưở ế 2.1. Ý T ng Thi t K ế
ế ị ề ể 2.1.1. Thi t b đi u khi n
ế ị ạ 2.1.2. Thi t b ngo i vi
ệ ố 2.2.Mô hình h th ng
ộ ồ 2.3. N i dung đ án
ƯƠ
Ệ Ề
Ổ
Ề
NG 3 T NG QUAN V ARDUINO, H ĐI U HÀNH VÀ
CH BLUETOOTH
ổ ề 3.1.T ng Quan V Arduino
ệ ề 3.1.1. Khái ni m v Arduino
ạ 3.1.2. Các lo i Arduino
3.1.3 Arduino Nano
[Type text]Page 1
ổ ề ệ ề 3.2.T ng Quan V H Đi u Hành Android
ớ ệ ề 3.2.1 Gi i thi u v android
ươ ệ 3.2.3 Ch ng trình giao di n Android
ổ ệ ề 3.3.T ng Quan V Công Ngh Không Dây Bluetooth
3.3.1 Khái ni mệ
ủ ệ ể ặ 3.3.2 Đ c đi m c a công ngh Bluetooth
ạ ộ 3.3.3 Ho t đ ng
ế ệ 3.3.4 Các th h Bluetooth
ề ả ệ ấ ậ 3.3.5 V n đ b o m t trong công ngh Bluetooth
ủ ạ ế ị 3.3.6 Tr ng thái c a thi t b Bluetooth:
ế ộ ế ố 3.3.7 Các ch đ k t n i Active mode
ổ ả ầ ố ệ ậ ả ỹ 3.3.8 K thu t tr i ph nh y t n s trong công ngh Bluetooth
3.3.9 Module Bluetooth HC 06
ƯƠ
Ế
CH
Ế NG 4 THI T K VÀ THI CÔNG
ươ 4.1 Ch ng Trình Android
ể ệ ề 4.1.1 Giao di n đi u khi n Android trên Smartphone
ươ 4.1.2 Ch ng trình Anderoid
ế ố ớ ạ 4.1.2 M ch k t n i Bluetooth v i Arduino
ơ ồ ạ ộ ể ự ề 4.1.3 S Đ M ch Đi u Khi n Và Đ ng L c
ổ ạ 4.1.4 M ch T ng
ứ ệ ạ 4.1.5 Ch c Năng Linh Ki n Trong M ch
ươ 4.2 Ch ng Trình Arduino
ƯƠ
Ả
Ế
ƯỚ
Ể
Ề
CH
NG 5
K T QU VÀ H
NG PHÁT TRI N Đ TÀI
ả ự ệ ề ế 5.1 Đánh giá k t qu th c hi n đ tài
[Type text]Page 2
ướ ể 5.2 H ng phát tri n
Ụ Ụ
Ẽ
PH L C HÌNH V
7
1.1.1: Robot Shakey
8
1.1.2: Robot hàn đi mể
ẫ 8
1.1.3: Robot ph u thu t ậ
ậ ử ả 9
1.1.4: Mobile Robot k thu t s lý hình nh ỹ
ậ ự do Merlet 10
1.1.5: Robot song song 6 b c t
ả ủ 10
1.1.6: Nguyên B n c a Robot Hexapod TU Munich
ệ ả ấ ơ 11
1.1.7: Robot hàn trong công nghi p s n xu t c khí
ệ ố Ứ ụ ả ấ 11
1.1.8: ng D ng Robot trong các h th ng s n xu t linh ho t ạ
ượ ử ụ ạ ấ ậ ệ ắ c s d ng trong công đo n c p v t li u và l p ráp 13
1.1.9: Robot đ
ự ệ ụ ứ ự ể 13
1.1.10: Các ng d ng Robot trong các lĩnh v c thám hi m, quân s , v tinh
15
1.3.1: Arduino Mega
16
1.4.1: Logo Android
17
1.5.1: Logo Bluetooth
ế ố ớ ế ị t b 17
1.5.2: Bluetooth và k t n i v i thi
ệ ề ể 18
2.1.1: Giao di n đi u khi n trên smartphone
19
2.1.2: Arduino nano
22
3.1.1: : Arduino UNO
22
3.1.2: Arduino Leonado
22
3.1.3: Arduino Due
22
3.1.4: Arduino Yún
22
3.1.5: Arduino Tre
[Type text]Page 3
22
3.1.6: Arduino Micro
23
3.1.7: Arduino Robot
23
3.1.8: Arduino Esplora
23
3.1.9: Arduino Mega
23
3.1.10: Arduino Ethernet
23
3.1.11: Arduino Mini
23
3.1.12: Lilypad Arduino
24
3.1.13: : Lilypad Arduino USB
24
3.1.14: Lilypad Arduino Simplesnap
24
3.1.15: Arduino Nano
24
3.1.16: Arduino Pro Mini
ơ ồ 24
3.1.17: S đ chân Arduino Nano
ể ượ ả ng Android phiên b n 5.0 Lollipop 33
3.2.1: Bi u t
ệ ủ ề ệ ạ ầ 36
3.2.2: Giao di n c a ph n m m t o giao di n trên wed
ệ ế ươ t ch ng trình trên wed 36
3.2.3: Giao di n vi
ả 38
3.3.1: Bluetooth phiên b n 4.0
ộ ố ế ị ử ụ ệ t b s d ng công ngh Bluetooth 41
3.3.2: M t s thi
ả ầ ố ổ ỹ 44
3.3.3: K thu t tr i ph nh y t n s ậ ả
ầ ố ề 44
3.3.4: Các packer truy n trên các t n s khác nhau
45
3.3.5: C u t o c a packet ấ ạ ủ
46
3.3.6: Module Bluetooth HC06
ơ ồ 48
3.3.7: S đ chân HC06
ệ ề 53
4.1.1: Giao di n đi u khi n android trên Smartphone ể
[Type text]Page 4
ậ ướ ế ố ớ c khi k t n i v i Arduino 54 4.1.2: Cho Phép b t Bluetooth tr
ể 55 ế ộ ề 4.1.3: Ch đ đi u khi n 1
ể 55 ế ộ ề 4.1.4: Ch đ đi u khi n 2
ơ ồ ạ ế ố ớ 60
4.1.5: S đ m ch k t n i Bluetooth v i Arduino
ơ ồ ạ ộ 60
4.1.6: S đ m ch đ ng l c ự
ạ 62
4.1.7: M ch in
ạ 63
4.1.8: M ch sau khi hoàn thành
63
4.1.9: R leơ
64
4.1.10: PC817
66
4.1.11: Transistor A1013
ấ 68
4.1.12: Transistor công su t TIP41C
[Type text]Page 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, nghà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 n ph 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
ể ừ ề “Xe Đi u Khi n T Xa Thông Qua Smartphone”
ả ơ ệ ầ ườ Qua đây em xin chân thành c m n các th y cô trong khoa Đi n, tr ng
ạ ọ ỡ ạ ể ệ ề ệ ấ ẵ Đ i h c Đông Á Đà N ng, đã giúp đ t o đi u ki n và cung c p tài li u đ em
ề ố ố ử ờ ả ơ ệ ồ ờ hoàn thành đ tài t t nghi p này. Đ ng th i, em mu n g i l i c m n sâu s c t ắ ớ i
ướ ậ ẫ ỗ ướ ề ẫ ạ cô giáo h ng d n Đ Hoàng Ngân Mi, cô đã t n tình h ng d n và t o đi u
ậ ợ ể ệ ượ ề ố ki n thu n l i đ nhóm chúng em hoàn thành đ c đ tài t ệ t nghi p này!
ắ ẽ ự ề ệ ề ế ấ ắ 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 y chúng em mong s giúp đ c a Th y cô và s góp ý c a b n bè.
ả ơ Chúng em xin chân thành c m n!
[Type text]Page 6
ẵ Đà n ng, ngày… tháng… năm 2015
[Type text]Page 7
ƯƠ Ớ
CH GI
NG 1 Ệ ITHI U
ổ ề
1.1. T ng Quan V Robot
ể ị ử 1.1.2 L ch s phát tri n
ờ ầ ệ ạ Khái ni m Robot ra đ i đ u tiên vào ngày 09/10/1922 t i NewYork, khi nhà
ạ ườ ệ ưở ượ ạ ộ ộ ổ ị so n k ch ng i Ti p Kh Karen Kapek đã t ng t ng ra m t c máy ho t đ ng
ộ ự ộ ơ ướ ủ ề ườ ừ ưở ế m t cách t đ ng, nó là ni m m c c a con ng i lúc đó. T đó ý t ng thi t
ế ạ ườ ế ạ ế k , ch t o Robot đã luôn thôi thúc con ng i. Đ n năm 1948, t i phòng thí
ế ạ ệ ố nghi m qu c gia Argonne, Goertz đã ch t o thành công tay máy đôi (master
ử ụ ế ạ ế ộ slave manipulator). Đ n năm 1954, Goertz đã ch t o tay máy đôi s d ng đ ng
ể ậ ế ượ ự ộ ố ơ c servo và có th nh n bi t đ c l c tác đ ng lên khâu cu i. Năm 1956 hãng
ạ ộ ế ạ ạ ươ ệ ể Generall Mills đã ch t o tay máy ho t đ ng trong vi c thám hi m d i d ng.
ộ ỗ ế ạ ủ ế Năm 1968 R.S. Mosher, c a General Electric đã ch t o m t c máy bi ằ t đi b ng
ệ ố ở ộ ậ ậ ỗ ở ộ ơ ố 4 chân. H th ng v n hành b i đ ng c đ t trong và m i chân v n hành b i m t
ủ ự ệ ố h th ng servo th y l c.
ạ ọ ế ế ự ạ ờ Năm 1969, Đ i h c stanford đã thi t k robot t ậ hành nh nh n d ng hình
[Type text]Page 8
nhả
Hình 1.1.1: Robot Shakey
ườ ế ạ ượ ự Năm 1970 con ng i đã ch t o đ c Robot t hành Lunokohod, thám
ề ặ ủ ể ặ hi m b m t c a m t trăng.
ạ ở ề ướ ế Trong giai đo n này, nhi u n c khác cũng ti n hành công tác nghiên
ự ạ ể ề ằ ắ ặ ứ ươ c u t ng t ạ ả , t o ra các Robot đi u khi n b ng máy tính có l p đ t các lo i c m
ế ế ị ế ườ bi n và thi t b giao ti p ng i và máy.
Hình 1.1.2. : Robot hàn đi mể
ẫ ậ Hình 1.1.3 : Robot ph u thu t
ự ế ộ ủ ậ ượ ọ ỹ Theo s ti n b c a khoa h c k thu t, các Robot ngày càng đ ế ạ c ch t o
ỏ ọ ự ượ ứ ự ề ơ ơ ộ ơ nh g n h n, th c đ c nhi u ch c năng h n, thông minh h n. M t lĩnh v c
ề ướ ự ủ ể ộ ượ đ c nhi u n c quan tâm là các Robot t hành, các chuy n đ ng c a chúng
[Type text]Page 9
ắ ạ ướ ủ ể ườ ngày càng đa d ng, b t ch ộ c các chuy n đ ng c a chân ng ộ i hay các loài đ ng
ư ạ ậ ộ ậ v t nh : bò sát, đ ng v t 4 chân, … Và các lo i xe Robot (robocar) nhanh chóng
ệ ố ấ ự ộ ụ ạ ả ộ ượ ứ đ c ng d ng r ng rãi trong các h th ng s n xu t t đ ng linh ho t (FMS).
ậ ử ả ỹ Hình 1.1.4. : Mobile Robot k thu t s lý hình nh
ừ ườ ể ứ ụ ứ ụ ể ở T đó tr đi con ng i liên t c nghiên c u phát tri n Robot đ ng d ng
ự ộ ấ ể ệ ả ả trong quát trình t đ ng hoá s n xu t đ tăng hi u qu kinh doanh. Ngoài ra
ượ ử ụ ườ ệ ở ườ Robot còn đ c s d ng thay cho con ng i trong các công vi c môi tr ng
ắ ệ ọ ề ở ộ ạ đ c h i, kh c nghi t, … Chuyên ngành khoa h c v robot “robotics” đã tr thành
ự ộ ề ấ ơ ấ ấ ộ ộ ồ ọ m t lĩnh v c r ng trong khoa h c, bao g m các v n đ c u trúc c c u đ ng
ự ọ ấ ượ ể ạ ộ ộ ể ề ộ ỳ ọ h c, đ ng l c h c, quĩ đ o chuy n đ ng, ch t l ng đi u khi n… Tu thu c
ụ ươ ứ ế ậ ự ể ể ở vào m c đích và ph ng th c ti p c n, chúng ta có th tìm hi u lĩnh v c này
ể ệ ề ạ ệ ở nhi u khía c nh khác nhau. Hi n nay, có th phân bi ạ t các lo i Robot ả hai m ng
ệ ạ ạ ộ chính : Các lo i robot công nghi p (cánh tay máy) và các lo i robot di đ ng
ư ặ ụ ứ ạ ỗ (mobile robot). M i lo i có các ng d ng cũng nh đ c tính khác nhau. Ngoài ra,
ệ ạ ượ ấ ạ ự ọ ộ trong các lo i robot công nghi p còn đ c phân chia d a vào c u t o đ ng h c
[Type text]Page 10
ố ế ủ c a nó : Robot n i ti p (series robot) và robot song song (parallel robot).
ậ ự Hình 1.1.5 : Robot song song 6 b c t do Merlet
ự ề ệ ạ Chính công ngh tiên ti n ế ở ấ ả t ơ t c các lĩnh v c : c khí, vi m ch, đi u
ư ữ ề ả ứ ớ ệ ể ạ khi n, công ngh thông tin … đã t o ra n n t ng cũng nh nh ng thách th c l n
ứ ậ ọ ườ ế ụ ố ớ đ i v i khoa h c nghiên c u robot. Chính vì v y, con ng i đã và đang ti p t c
ứ ộ ự ầ ể ệ ấ ẫ phát tri n và nâng cao m c đ hoàn thi n trong lĩnh v c đ y h p d n này.
[Type text]Page 11
ả ủ Hình 1.1.6 : Nguyên B n c a Robot Hexapod TU Munich
ủ ứ ụ 1.1.2. Các ng d ng c a Robot.
ử ụ ư ể 1.1.2.1. Các u đi m khi s d ng Robot.
ờ ố ư ấ ả ạ Các lo i Robot tham gia vào qui trình s n xu t cũng nh trong đ i s ng
ườ ủ ề ằ ộ ạ ủ sinh ho t c a con ng ấ i, nh m nâng cao năng su t lao đ ng c a dây chuy n
ấ ượ ệ ẩ ả ả ư ả công ngh , gi m giá thành s n ph m, năng cao ch t l ng cũng nh kh năng
ủ ả ể ế ẩ ạ ườ ệ ổ ạ c nh tranh c a s n ph m t o ra. Robot có th thay th con ng i làm vi c n
ả ả ằ ơ ờ ồ ợ ổ ị đ nh b ng các thao tác đ n gi n và h p lý, đ ng th i có kh năng thay đ i công
ệ ể ệ ự ổ ủ ớ ự ế ợ vi c đ thích nghi v i s thay đ i c a qui trình công ngh . S thay th h p lý
ẩ ả ầ ế ệ ở ữ ả ủ c a robot còn góp ph n gi m giá thành s n ph m, ti t ki m nhân công nh ng
ậ ả ư ấ ồ ướ ướ n ặ c mà ngu n nhân công là r t ít ho c chi phí cao nh : Nh t B n, các n c
ồ ỳ ượ ừ ấ ớ ậ ấ Tây Âu, Hoa K … T t nhiên ngu n năng l ng t robot là r t l n, chính vì v y
ự ỗ ợ ủ ế ượ ầ ấ ầ ớ ế n u có nhu c u tăng năng su t thì c n có s h tr c a chúng m i thay th đ c
ủ ộ ườ ệ ơ ư ữ ể ả ứ s c lao đ ng c a con ng i. Chúng có th làm nh ng công vi c đ n gi n nh ng
ả ầ ẫ ượ ễ d nh m l n, nhàm chán. Robot có kh năng nghe đ ả c siêu âm, c m nh n đ ậ ượ c
ổ ậ ủ ộ ư ạ ườ ệ ừ ườ t tr ể ng Bên c nh đó, m t u đi m n i b c c a robot là môi tr ng làm vi c.
ườ ệ ở ữ ườ ộ ạ ẩ ướ ể Chúng có th thay con ng i làm vi c nh ng môi tr ng đ c h i, m ụ t, b i
ể Ở ữ ư ấ ơ ặ b m hay nguy hi m. nh ng n i nh các nhà máy hoá ch t, các nhà máy phóng
ạ ươ ệ ứ ụ ạ x , trong lòng đ i d ể ng, hay các hành tinh khác … thì vi c ng d ng robot đ
ấ ữ ụ ệ ề ệ ệ ả c i thi n đi u ki n làm vi c là r t h u d ng
ự ứ ộ ố ụ 1.1.2.2. M s lĩnh v c ng d ng.
ự ơ ự ả ấ ơ Ứ ụ ng d ng trong các lĩnh v c s n xu t c khí. Trong lĩnh v c c khí,
ượ ứ ổ ế ụ ạ ộ ờ robot đ ả c ng d ng khá ph bi n nh kh năng h ot đ ng chính xác và tính
ụ ạ ạ ọ ộ ứ linh ho t cao. Các lo i robot hàn là m t ng d ng quan tr ng trong các nhà máy
[Type text]Page 12
ạ ỏ ọ ơ ấ ả ấ ả s n xu t ôtô, s n xu t các lo i v b c c khí…
ệ ả ấ ơ Hình 1.1.7 : Robot hàn trong công nghi p s n xu t c khí
ườ ụ ụ ử ụ ệ ộ Ngoài ra ng i ta còn s d ng robot ph c v cho công ngh đúc, m t môi
ườ ồ ỏ ộ ụ ặ ứ ậ tr ng nóng b c, b i b m và các thao tác luôn đ i h i đ tin c y.
ệ ệ ố ả ấ ạ ặ Đ c bi t trong các h th ng s n xu t linh ho t (FMS), Robot đóng vai trò
ạ ả ế ố ệ ể ọ ấ ớ ấ r t quan tr ng trong vi c vân chuy n và k t n i các công đo n s n xu t v i
nhau
-
ệ ố Ứ ụ ả ấ ạ Hình 1.1.8. : ng D ng Robot trong các h th ng s n xu t linh ho t
Ứ ụ ự ắ ườ ng d ng trong lĩnh v c gia công l p ráp. Các thao tác này th ng
[Type text]Page 13
ượ ứ ộ ậ ượ ự ộ đ c t ở đ ng hoá b i các robot đ c gia công chính xác và m c đ tin c y cao
-
ượ ử ụ ạ ấ ậ ệ ắ Hình 1.1.9. : Robot đ c s d ng trong công đo n c p v t li u và l p ráp
Ứ ệ ố ự ụ ả ấ ị ọ ng d ng trong các h th ng y h c, quân s , kh o sát đ a ch t.
ệ ử ụ ệ ừ ự ự ế Ngày nay, vi c s d ng các ti n ích t Robot đ n các lĩnh v c quân s , y
ấ ượ ả ờ ổ ị ế t , …r t đ ạ ộ c quan tâm. Nh kh năng ho t đ ng n đ nh và chính xác, Robot
ệ ượ ệ ậ ặ đ c bi t là tay máy đ c dùng trong kĩ thu t dò tìm, b phóng, và trong các ca
ớ ộ ậ ẫ ậ ph u thu t y khoa v i đ tin c y cao.
ứ ụ ự ể ự Hình 1.1.10: Các ng d ng Robot trong các lĩnh v c thám hi m, quân s ,
[Type text]Page 14
ệ v tinh
ụ ể ứ ụ ộ ỳ ượ Ngoài ra, tu thu c vào các ng d ng c th khác mà Robot đ c thi ế ế t k
ậ ụ ụ ượ ớ ủ ư ể ụ ụ đ ph c v cho các m c đích khác nhau, t n d ng đ ể c các u đi m l n c a
ể ệ ệ ệ ả ờ ồ chúng đ ng th i th hi n kh năng công ngh trong quá trình làm vi c.
ố ượ ụ ọ ề ứ 1.2 Lý Do Ch n Đ Tài, M c Đích, Đ i T ng Nghiên C u
ọ ề 1.2.1. Lý do ch n đ tài
ữ ử ờ ọ ướ Trong th i qua, khoa h c máy tính và x lý thông tin có nh ng b ế c ti n
ữ ạ ọ ớ ộ ượ ậ v t b c và ngày càng có nh ng đóng góp to l n vào cu c cách m ng khoa h c
ạ ặ ậ ệ ự ủ ỹ ể ờ ệ ỹ k thu t hi n đ i, Đ c bi ậ ố t s ra đ i và phát tri n nhanh chóng c a k thu t s
ệ ử ở ạ ậ ơ ỹ làm cho nghành 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 v cho đ i s ng h ng ngày c a con ng 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. Đ c h ng d n c a cô Đ Hoàng Ngân Mi nhóm đã ch n đ tài “Xe
ừ ề ể Đi u Khi n T Xa Thông Qua Smartphone”
ủ ề ụ 1.2.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 nano, 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à up 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.2.3 Đ i t ng ph m vi nghiên c u
ắ ượ ấ ầ ứ ậ ầ Board Arduino nano : N m đ ề c c u trúc ph n c ng, l p trình ph n m m
ứ ụ và ng d ng vào mô hình th c t ự ế .
[Type text]Page 15
ộ ơ Đ ng c DC.
ề ể ề ầ Ph n m n đi u khi n Android.
Modul Bluetooth HC – 06.
1.2.3.1 H ng nghiên c u và phát tri n
ướ ứ ể
ứ ắ ầ ứ ơ ồ ủ ắ ố ố Nghiên c u n m b t ph n c ng c a Arduino nano, s đ kh i, b trí chân,
ề ể ậ ệ t p l nh đi u khi n cho Arduino nano.
ể ề ể ộ ơ 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. K t qu
ạ ộ ể ề ệ ầ ằ ạ ổ ố ị ề cu i cùng là xe ho t đ ng n đ nh, đi u khi n b ng ph n m m di n tho i.
ớ ệ ề 1.3 G i Thi u V Arduino
ộ ề ả ở ượ ử ụ ứ ự ể ồ Là m t n n t ng mã ngu n m đ ụ c s d ng đ xây d ng các ng d ng
ệ ử ể ậ ạ ồ ượ ườ ọ đi n t . Arduino g m có board m ch có th l p trình đ c (th ề ng g i là vi đi u
ổ ợ ề ể ầ ợ ể khi n) và các ph n m m h tr phát tri n tích h p IDE (lntegrated Development
ể ạ ả ộ ị ươ Environment) dung đ so n th o, biên d ch code và n p ch ng trình cho board.
ổ ế ữ ấ ườ ớ ắ ầ ể Arduino ngày nay r t ph bi n cho nh ng ng i m i b t đ u tìm hi u v ề
ệ ử ể ế ư ệ ả ậ ạ ả ơ ố đi n t vì nó đ n gi n, hi u qu và d ti p c n. không gi ng nh các lo i vi
ụ ề ể ả ệ ể ầ đi u khi n khác. Arduino không c n ph i có các công c chuyên bi ụ t đ ph c
ấ ơ ố ớ ầ ả ả ộ ụ ệ v vi c n p code cho PLC c n ph i có Pic kit. Đ i v i Arduino r t đ n gi n, ta
ể ế ố ớ ệ ậ ằ có th k t n i v i máy tính b ng cáp USB. Thêm vào đó vi c l p trình Arduino
ử ụ ả ả ơ ị ư ấ ể r t d dàng, trình biên d ch Arduino IDE s d ng phiên b n đ n gi n hóa c a
ữ ngôn ng C++.
[Type text]Page 16
Hình 1.3.1 : Arduino Mega
[Type text]Page 17
ớ ệ ề 1.4 Gi i Thi u Chung V Android
ộ ề ả ế ị ầ ớ ộ Android là m t n n t ng dành cho các thi t b di đ ng, trong đó ph n l n
ệ ệ ạ ượ ể ề là đi n tho i (smartphone), Tablet, và hi n nay còn đ c phát tri n cho nhi u
ế ị ư ượ ể thi t b khác nhau nh ti vi HD player Car controller,….. Andriod đ c phát tri n
ề ả ứ ụ ượ ể ữ d a trên n n t n Linnux do Google phát hành . Các ng d ng đ c phát tri n ch ủ
ổ ợ ữ ằ ồ ờ ế y u b ng ngôn ng java, đ ng th i cũng h tr NativeC.
[Type text]Page 18
Hình 1.4.1. : Logo Android
ớ ệ ề 1.5 Gi i Thi u Chung V Bluetooth
ầ ố ệ ự ế ệ ộ ấ ứ 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 t thi ớ t b nào có tích h p bên trong công ngh này đ u có th truy n thong v i
ế ị ể ả ề ự ả ả ấ ộ ớ các thi ấ ị t b khác v i m t kho ng cách nh t đ nhv 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 v i nhau.
Hình 1.5.1 : Logo Bluetooth
- Ho t đ ng
ạ ộ
ế ố ắ ầ ẩ ế ế Bluetooth là chu n k t n i không dây t m ng n, thi t k cho các thi ế ị t b
ụ ộ ạ ầ ạ ừ ế ỏ cá nhân hay m ng c c b nh trong ph m vi băng t ng 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 đ ng tì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 k t.
[Type text]Page 19
ế ố ớ Hình 1.5.2 : Bluetooth và k t n i v i thi ế ị t b
[Type text]Page 20
ƯƠ
CH
NG 2
Ề Ồ
Ổ
T NG QUAN V Đ ÁN
ưở ế ế 2.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 Blutooch.
[Type text]Page 21
ể ệ ề 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 modul Bluetooth (HC – 06) đ 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 modul Bluetooth và đi u khi n 4 đ ng c c a xe.
ụ ể ơ ể ơ ả ậ ọ Đ đ n gi n trong l p trình nhóm đã ch n Arduino, c th h n là chúng
ư ể ề ạ ộ ờ ư ạ em dùng Arduino nano, m t lo i board m ch vi đi u khi n ra đ i ch a lâu nh ng
ấ ớ ừ ư ể ậ ạ ự t o s thu hút r t l n t ề phía các nhà l p trình vi đi u khi n cũng nh sinh viên
ọ ạ ườ ệ ậ ễ đang theo h c t i các tr ư ng. 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
Intergated Development Environment (IDE).
[Type text]Page 22
Hình 2.1.2. Arduino nano
ố ệ 2.2. Mô Hình H Th ng
−
ộ ồ 2.3. N i Dung Đ Án
−
ề ồ ổ T ng quan v đ án
−
ệ ề ề ổ T ng quan v Arduino, h đi u hành Android và Bluetooth
−
ế ế Thi t k và thi công
[Type text]Page 23
ậ ướ ề Nh n xét và h ể ng phát tri n đ tài
ƯƠ
CH
Ổ
Ề
NG 3 Ệ Ề
T NG QUAN V ARDUINO, H ĐI U HÀNH VÀ BLUETOOTH
ổ ề 3.1. T ng Quan V Arduino
ề ệ 3.1.1. Khái ni m v Arduino
3.1.1.1 Khái ni mệ
ử ạ ộ ượ ươ ớ Arduino là m t board 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 đ ng c , c m bi n…
ổ ậ ủ ể ườ ể ứ ụ Đăc đi m n i b c c a Arduino là môi tr ễ ử ng phát tri n ng d ng 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óng ngay c v i
ườ ề ệ ử ậ ng ể i ít am hi u v đi n t , l p trình.
ị ử 3.1.1.2.L ch s hình thành
ượ ờ ạ ị ấ ướ ượ ặ ủ Arduino đ c ra đ i t i th tr n Ivrea, n c Ý và đ c đ t theo tên c a
ộ ị ế ỷ ứ m t v vua và th k th 9 là King Arduin.
ứ ượ ớ ụ ệ ộ Nó chính th c đ c gi ư i thi u vào năm 2005 nh là m t công c cho sinh
ọ ậ ủ ư ữ ộ ườ ể viên h c t p c a giáo s Massimo Banzi, m t trong nh ng ng i phát tri n
[Type text]Page 24
arduino t ạ ườ i tr ng Interaction Design Instisture Ivrea (IDII).
ạ 3.1.2. Các lo i Arduino
Hình 3.1.1: Arduino UNO Hình 3.1.2: Arduino Leonado
Hình 3.1.3: Arduino Due Hình 3.1.4:Arduino Yún
[Type text]Page 25
Hình 3.1.5: Arduino Tre Hình 3.1.6: Arduino Micro
Hình 3.1.7: Arduino Robot Hình 3.1.8: Arduino Esplora
Hình 3.1.9: Arduino Mega Hình 3.1.10: Arduino Ethernet
[Type text]Page 26
Hình 3.1.11: Arduino Mini Hình 3.1.12: Lilypad Arduino
Hình 3.1.13: Lilypad Arduino USB Hình 3.1.14: Lilypad Arduino Simplesnap
Hình 3.1.15: Arduino Nano Hình 3.1.16: Arduino Pro Mini
3.1.3 Arduino Nano
[Type text]Page 27
ầ ứ ấ 3.1.3.1. C u trúc ph n c ng
ơ ồ Hình 3.1.17: S đ chân Arduino Nano
Atmega328(16 bit) ho c ặ ề ể Vi đi u khi n Atmega168(8bit)
ạ ộ ệ Đi n áp ho t đ ng 5V – DC
ầ ố ạ ộ T n s ho t đ ng 16MHz
Dòng tiêu thụ 30Ma
Điên áp và khuyên dung 7 – 12V – DC
ệ ớ ạ Đi n áp vào gi i h n 6 – 20V – DC
ố S chân Digital I/O 14 (6 chân PWM)
ố ộ ả S chân Analog 8 (đ phân gi i 10bit)
[Type text]Page 28
ố ỗ Dòng t i đa trên m i chân 40 mA
ố Dòng ra t i đa (5V) 500 mA
ố Dòng ra t i đa (3,5V) 50 mA
ặ 16 KB (Atmega168) ho c 32 KB
ộ ở ớ B nh flash ớ (Atmega328) v i 2 KB dùng b i
bootloader
ặ 1 KB (Atmega168) ho c 2 KB SRAM (Atmega328)
ặ 512 bytes (Atmega168) ho c 1 KB EEPROM (Atmega328)
Kích th cướ 1.85 cm x 4.3 cm
-
ổ ủ Các c ng vào ra c a Arduino Nano
ế ồ ố Chân Digital : g m có 14 chân (chân s 1,2,4,5 đ n chân 13)
● Chân Serial : 2 chân (chân s 1 và 2) dùng đ g i và nh n d li u
ậ ữ ệ ể ử ố
TTL Serial
● Chân PWM : 6 chân (chân s 3, 5, 6, 9, 10 và 11) cho phép xu t ra
ấ ố
ớ ộ ả xung PWM v i đ phân gi i 8bit.
● Chân giao ti p SPI: 4 chân (chân s 10, 11, 12 và 13) các chân này
ế ố
ữ ệ ứ ề ằ ớ cho phép truy n phát d li u b ng giao th c SPI v i các thi ế ị t b
khác.
● Chân Led: 1 Chân (chân s 13) trên Arduino có Led mà cam (kí hi u
ệ ố
-
ệ ấ L), báo hi u khi b m nút Reset.
[Type text]Page 29
ế ố ồ Chân Analog : g m có 8 chân (chân s 16 đ n chân 23)
ỗ ợ ằ ố ử ố ● I2C :chân s 4 (SDA) và chân s 5 (SCL) h tr I2C b ng cách s
ụ d ng Wire library.
ề ầ 3.1.3.2.Ph n M m Arduino
ế ề ươ ị ươ ầ 3.1.3.2.1.Ph n m m vi ng trình và biên d ch ch
t ch ử ụ ề ầ ươ ng trình ể ậ Arduino Nano 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.
-
ươ ng trình
ươ ầ ố ể ấ 3.1.3.2.2.C u trúc ch ộ M t ch ng trình Arduino c n có t i thi u Void setup, Void loop.
Void setup()
{
ỉ ượ ạ ộ ộ ầ ấ ạ ằ // Toàn b đo n code n m trong hàm này ch đ c ch y duy nh t m t l n
ươ ạ khi ch y ch ng trình
}
Void loop()
{
ặ ạ ạ // L p l i mãi mãi sau khi ch y xong setup()
}
ấ C u Trúc
-
ề ấ ể C u trúc đi u khi n
-
if
[Type text]Page 30
if...else
-
-
switch / case
-
for
-
while
-
break
-
continue
-
return
goto
-
ở ộ Cú pháp m r ng
-
ấ ẩ ấ ; (d u ch m ph y)
-
ấ ặ ọ {} (d u ngo c nh n)
-
// (single line comment)
-
/* */ (multiline comment)
-
#define
#include
-
Toán t ử ố ọ s h c
-
= (phép gán)
-
+ (phép c ng)ộ
-
(phép tr )ừ
-
* (phép nhân)
-
/ (phép chia)
ấ ư % (phép chia l y d )
-
ử Toán t so sánh
-
== (so sánh b ng)ằ
-
!= (khác b ng)ằ
-
ớ ơ > (l n h n)
-
< (bé h n)ơ
-
ặ ằ ơ ớ >= (l n h n ho c b ng)
[Type text]Page 31
ặ ằ ơ <= (bé h n ho c b ng)
-
ử Toán t logic
-
&& (và)
-
|| (ho c)ặ
-
ủ ị ! (ph đ nh)
ạ ừ ^ (lo i tr )
-
ợ ấ Phép toán h p nh t
-
ộ ơ ++ ị (c ng thêm 1 đ n v )
-
ừ ơ ị (tr đi 1 đ n v )
-
ộ += ọ ủ (phép rút g n c a phép c ng)
-
ọ ủ ừ = (phép rút g n c a phép tr )
-
*= ọ ủ (phép rút g n c a phép nhân)
ọ ủ /= (phép rút g n c a phép chia)
Giá Trị
-
ố ắ H ng s
-
HIGH | LOW
-
INPUT | INPUT_PULLUP | OUTPUT
-
LED_BUILTIN
-
true | false
-
ằ ố H ng s nguyên (integer constants)
ố ự ằ H ng s th c (floating point constants)
-
ể ữ ệ Ki u d li u
ộ ừ ệ ỉ void ("void" là m t t ộ khóa ch dùng trong vi c khai báo m t
ượ ả ề ấ ớ ữ function. Nh ng function đ ẽ c khai báo v i "void" s không tr v b t kì
-
ượ ọ ữ ệ d li u nào khi đ c g i)
-
ẽ ỉ ậ ộ ị boolean (boolean s ch nh n m t trong hai giá tr : true ho c ặ ) false
ể ữ ệ ể ữ ệ ễ ể ự char (ki u d li u này là ki u d li u bi u di n cho 1 ký t vd:char
-
myChar = 'A';)
ộ ố ị ừ ệ ể unsigned char (bi u hi u m t s nguyên byte không âm (giá tr t 0
[Type text]Page 32
255))
-
ễ ố ữ ệ ể ể ằ ộ ả byte (Là m t ki u d li u bi u di n s nguyên n m trong kho ng
-
ừ t ế 0 đ n 255 )
-
ế ị int (khai báo bi n và giá tr vd: int x x = 255 )
ể ố ằ ả ừ ế unsigned int (là ki u s nguyên n m trong kho ng t 0 đ n 65535
-
ế (0 đ n 216 1)
ư ể ố ữ ệ ể ể word (gi ng nh ki u unsigned int , ki u d li u này là ki u s ố
-
nguyên 16 bit không âm )
ữ ệ ở ộ ữ ể ế ộ long (là m t ki u d li u m r ng c a ể ủ int. Nh ng bi n có ki u
ể ị ừ long có th mang giá tr 32bit t ế 2,147,483,648 đ n 2,147,483,647.
ể ố ằ ả ừ ế unsigned long là ki u s nguyên n m trong kho ng t 0 đ n 4,294,967,295
-
ế ) (0 đ n 232 1)
ệ ể ề ạ ọ ố short (Gi ng h t ki , tuy nhiên có đi u trên m i m ch Arduino int
ề ế ể ả ộ ớ ị ị ế nó đ u chi m 4 byte b nh và bi u th giá tr trong kho nf 32,768 đ n
-
ế 32,767 (215 đ n 2151) (16 bit) )
ữ ệ ể ặ ế ể ộ ộ ị ằ float (M t bi n dùng ki u d li u này có th đ t m t giá tr n m
-
trong kho ng ả ế 3.4028235E+38 đ n 3.4028235E+38)
ư ể ế ố ư ạ double (Gi ng h t nh ki u . Nh ng trên m ch Arduino Due thì float
-
ể ạ ế ế ộ ớ ki u double l i chi m đ n 8 byte b nh (64 bit) )
ậ ả ợ ị ượ array ( là m ng (t p h p các giá tr có liên quan và đ ấ c đánh d u
-
ỉ ố ) ữ ằ b ng nh ng ch s )
ỗ ự ể ỗ string ((chu i kí t ễ bi u di n b ng ộ ằ array) là chu i, trong m t
ươ ể ị ứ ấ ỗ ch ng trình Arduino có 2 cách đ đ nh nghĩa chu i, cách th nh t là s ử
-
ự ể ể ễ ỗ ả ụ d ng m ng ký t đ bi u di n chu i)
String (object)
-
ể ổ ể ữ ệ Chuy n đ i ki u d li u
ể ữ ệ ủ ụ ệ ể ộ char() (Hàm char() có nhi m v chuy n ki u d li u c a m t giá tr ị
-
ề ể ) char v ki u
ể ữ ệ ủ ụ ệ ể ộ byte() (Hàm byte() có nhi m v chuy n ki u d li u c a m t giá tr ị
-
ề ể v ki u byte . )
ể ữ ệ ủ ụ ệ ộ ể int() (Hàm int() có nhi m v chuy n ki u d li u c a m t giá tr v ị ề
[Type text]Page 33
ki u ể int . )
-
ữ ệ ủ ệ ể ể ộ ụ word() (Hàm word() có nhi m v chuy n ki u d li u c a m t giá
ể ặ ộ ị ị ề ể tr v ki u word . Ho c ghép 2 giá tr thu c ki u ị ể thành 1 giá tr ki u byte
-
word)
ể ữ ệ ủ ụ ệ ể ộ long() (Hàm long() có nhi m v chuy n ki u d li u c a m t giá tr ị
-
ề ể v ki u long . )
ữ ệ ụ ủ ệ ể ể ộ float() (Hàm float() có nhi m v chuy n ki u d li u c a m t giá
ị ề ể tr v ki u float . )
-
ủ ạ Ph m vi c a bi n ế và phân lo i ạ
-
ệ ự ủ ạ ế Ph m vi hi u l c c a bi n
ế ẽ ượ ạ ộ ầ ế static bi n tĩnh ( là bi n s đ ọ ấ c t o ra duy nh t m t l n khi g i
-
ể ạ ạ ầ ầ ị ọ ạ ẽ hàm l n đ u tiên và nó s không b xóa đi đ t o l i khi g i l ấ ) i hàm y
-
ằ ế ộ ế const bi n h ng ( ằ ) ể đ khai báo m t bi n h ng
ị ủ ế ổ ộ ị volatile (là giá tr c a bi n thay đ i m t cách không xác đ nh )
-
Hàm h trỗ ợ
ụ ả ề ố ớ ủ ế ệ ặ ộ ộ sizeof() (có nhi m v tr v s byte b nh c a m t bi n, ho c là
ả ề ổ ớ ủ ả ố ộ ộ tr v t ng s byte b nh c a m t m ng ) array
ủ ụ Hàm Và Th T c
-
ậ ấ Nh p xu t Digital (Digital I/O)
ộ ầ ạ ộ ư ặ ầ pinMode() (ho t đ ng nh là m t đ u vào (INPUT) ho c đ u ra
-
(OUTPUT))
ệ ấ ị digitalWrite() (Xu t tín hi u ra các chân digital, có 2 giá tr là HIGH
-
ặ ho c là ) LOW
ệ ừ ộ ệ ượ ọ digitalRead() (Đ c tín hi u đi n t m t chân digital (đ c thi ế ặ t đ t
ả ề ị ). Tr v 2 giá tr HIGH là INPUT ho c ặ ) LOW
-
ậ ấ Nh p xu t Analog (Analog I/O)
ụ ặ ạ ệ ứ ệ ố analogReference() (có nhi m v đ t l i m c (đi n áp) t i đa khi
-
ệ ọ đ c tín hi u analogRead )
-
ị ệ ừ ộ ọ analogRead() (là đ c giá tr đi n áp t m t chân Analog (ADC) )
ệ ấ ừ ộ analogWrite() PWM PPM (là l nh xu t ra t ạ m t chân trên m ch
ứ ệ ộ Arduino m t m c tín hi u analog (phát xung PWM) )
-
ờ Hàm th i gian
ụ ả ề ộ ố ệ millis() (có nhi m v tr ờ v m t s là th i gian (tính theo mili
ể ừ ắ ầ ạ ươ lúc m ch Arduino b t đ u ch ng trình )
giây) k t [Type text]Page 34
-
ụ ả ề ộ ố ệ ờ micros() (có nhi m v tr v m t s là th i gian (tính theo micro
-
ể ừ ắ ầ ạ ươ giây) k t lúc m ch Arduino b t đ u ch ng trình )
ụ ừ ươ ệ delay() (có nhi m v d ng ch ờ ng trình trong th i gian mili giây.
-
ữ ỗ Và c m i 1000 mili giây = 1 giây )
ụ ừ ệ ươ delayMicroseconds() (có nhi m v d ng ch ờ ng trình trong th i
ứ ỗ gian micro giây. Và c m i 1000000 micro giây = 1 giây )
-
Hàm toán h cọ
-
ụ ả ề ữ ệ ấ ỏ ị ế ) min() (có nhi m v tr v giá tr nh nh t gi a hai bi n.
-
ụ ả ề ị ớ ữ ệ ấ ế ) max() (có nhi m v tr v giá tr l n nh t gi a hai bi n.
-
ệ ố ủ ụ ả ề ệ ị ộ ố ) abs() (có nhi m v tr v giá tr tuy t đ i c a m t s .
ị ừ ể ộ ể map() (là hàm dùng đ chuy n m t giá tr t ộ thang đo này sang m t
ị ở ị ả ề ủ giá tr thang đo khác. Gía tr tr v c a hàm map() luôn là m t s ộ ố
-
nguyên)
ộ ố ấ ừ ủ ể pow() (pow() là hàm dùng đ tính lũy th a c a m t s b t kì (có th ể
-
ặ ố ự ả ề ế ả ố là s nguyên ho c s th c tùy ý). pow() tr v k t qu tính toán này. )
ộ ố ấ ủ ể ể ậ sqrt() (là hàm dùng đ tính căn b c 2 c a m t s b t kì (có th là s ố
-
ặ ố ự ả ề ế ả nguyên ho c s th c tùy ý) và tr v k t qu này )
ượ ể ườ ộ ố ấ ủ ố sq() (đ c dùng đ tính bình ph ng c a m t s b t kì, s này có
ễ ố ữ ệ ả ề ể ể ể ấ ộ ị th thu c b t kì ki u d li u bi n di n s nào. sq() tr v giá tr mà nó
ượ ữ ệ ữ ệ ủ ể ớ ố ố tính đ ư ư ể c v i ki u d li u gi ng nh ki u d li u c a tham s ta đ a
-
vào.)
ẽ ả ề ị ầ ế ả isnan() (isnan s tr v là ể n u giá tr c n ki m tra không ph i là true
-
ứ ữ ể ắ ộ ọ m t bi u th c toán h c đúng đ n. Ch nan có nghĩa là NotANumber )
ả ắ ộ ộ ị ằ constrain() (B t bu c giá tr n m trong m t kho ng cho tr ướ ) c
-
ượ Hàm l ng giác
ụ ệ ộ ộ ơ ị cos() (Hàm này có nhi m v tính cos m t m t góc (đ n v radian).
-
ị ạ ạ Giá tr ch y trong đo n [1,1]. )
ụ ệ ộ ộ ơ ị sin() (Hàm này có nhi m v tính sin m t m t góc (đ n v radian).
-
ị ạ ạ Giá tr ch y trong đo n [1,1]. )
ụ ệ ộ ộ ơ ị tan() (Hàm này có nhi m v tính tan m t m t góc (đ n v radian).
ị ạ ả ừ ế ươ Giá tr ch y trong kho ng t âm vô cùng đ n d ng vô cùng. )
[Type text]Page 35
ẫ ố Sinh s ng u nhiên
-
ả ề ộ ố ẫ randomSeed() (Hàm random() luôn tr v m t s ng u nhiên trong
ạ ướ ả ử ẽ ả ề ọ ph m vi cho tr c. Gi ầ s mình g i hàm này 10 l n, nó s tr v 10 giá tr ị
ẽ ả ề ế ẫ ọ ố s nguyên ng u nhiên. N u g i nó n l n, ầ random() s tr ố v n s . Tuy
-
ả ề ữ ượ ị nhiên nh ng giá tr mà nó tr v luôn đ c bi ế ướ t tr ố ị c (c đ nh). )
ả ề ộ ẫ ả ị random()Tr v m t giá tr nguyên ng u nhiên trong kho ng giá tr ị
cho tr cướ
-
ậ ấ Nh p xu t nâng cao (Advanced I/O)
ẽ ạ ộ ở ầ ố ượ ị tone() (Hàm này s t o ra m t sóng vuông t n s đ c đ nh tr ướ c
-
ỉ ử ỳ ạ ấ ỳ ộ (ch n a chu k ) t i m t pin digital b t k (analog v n đ ẫ ượ ) c)
ộ ự ệ ệ ụ ế noTone() (Hàm này có nhi m v k t thúc m t s ki n tone() trên
-
ạ ệ ộ m t pin nào đó (đang ch y l nh tone() ) )
ụ ể ừ ồ ệ shiftOut() (có nhi m v chuy n 1 (g m 8 bit) ra ngoài t ng bit byte
-
m t.ộ )
ắ ầ ừ ộ ấ ậ shiftIn() (B t đ u t ứ m t trong hai nh t ( t c là t n cùng bên trái )
-
ả ấ ặ ọ ho c ít nh t ( ngoài cùng bên ph i ) bit quan tr ng)
ệ ọ ộ pulseIn() (Đ c m t xung tín hi u digital ( HIGH ả ề ) và tr v chu / LOW
ể ừ ứ ủ ứ ệ ệ ờ kì c a xung tín hi u, t c là th i gian tín hi u chuy n t ố m c HIGH xu ng
ặ LOW ho c ng ượ ạ c l i (LOW > HIGH) )
-
Bits và Bytes
ả ề ủ ố ộ ố lowByte() (là hàm tr v byte cu i cùng (8 bit cu i cùng) c a m t
ộ ố ấ ỗ ượ ư ỗ ộ chu i các bit. M t s nguyên b t kì cũng đ c xem nh là m t chu i các
ể ể ễ ở ệ ấ ố bit, vì b t kì s nguyên nào cũng có th bi u di n ị h nh phân d ướ i
-
ạ d ng các bit "0" và "1". )
ả ề ộ ề ớ ố ủ ỗ highByte() (là hàm tr v m t chu i 8 bit k v i 8 bit cu i cùng c a
ữ ệ ư ậ ư ế ộ ỗ ộ ỗ m t chu i các bit. Nh v y, n u d li u đ a vào m t chu i 16bit
ẽ ả ề ữ ệ ư ế ầ ộ ỗ thìhighByte() s tr v 8 bit đ u tiên, n u d li u đ a vào là m t chu i
ẽ ả ề ấ ặ ị 8bit ho c nh h n, ỏ ơ highByte() s tr ộ ố v giá tr 0. M t s nguyên b t kì
ượ ư ấ ộ ỗ ố cũng đ c xem nh là m t chu i các bit, vì b t kì s nguyên nào cũng có
-
ể ể ễ ở ệ ướ ạ th bi u di n ị h nh phân d i d ng các bit "0" và "1". )
ẽ ả ề ị ạ ộ ượ bitRead() (s tr v giá tr t i m t bit nào đó đ ở ị c xác đ nh b i
-
ườ ậ ộ ố ủ ng i l p trình c a m t s nguyên. )
[Type text]Page 36
ạ ủ ố ộ ị ẽ bitWrite() (s ghi đè bit t ị i m t v trí xác đ nh c a s nguyên. )
-
ị ạ ẽ ộ ố ủ ộ ị bitSet() (s thay giá tr t i m t bit xác đ nh c a m t s nguyên thành
-
1.)
ị ạ ộ ố ủ ộ ị ẽ bitClear() (s thay giá tr t i m t bit xác đ nh c a m t s nguyên
-
thành 0)
ả ề ộ ố ạ bit() (Tr v m t s nguyên d ng 2n (2 mũ n). )
-
ắ Ng t (interrupt)
ữ ờ ọ ự ộ ắ attachInterrupt() (Ng t (interrupt) là nh ng l i g i hàm t đ ng khi
-
ộ ự ệ ) ệ ố h th ng sinh ra m t s ki n
ẽ ắ detachInterrupt() (Hàm detachInterrupt() s t ắ t các ng t đã đ ượ c
-
ạ ươ ứ ể ớ ố kích ho t t ng ng v i thông s truy n vào )
ẽ ậ ắ ộ ượ interrupts() (Hàm interrupts() s b t toàn b các ng t đã đ c cài
-
đ t.ặ )
ạ ạ ươ ầ ầ noInterrupts() (Khi c n ch y các đo n ch ng trình yêu c u chính
ề ờ ầ ắ ạ ắ ể ỉ ậ xác v th i gian, b n c n t ử t các ng t đ Arduino ch t p trung vào x lý
ụ ầ ế ạ ấ ắ ỉ các tác v c n thi ụ t và ch duy nh t các tác v này. Các ng t ch y n n s ề ẽ
ượ ự không đ ọ c th c thi sau khi g i hàm noInterrupts(). )
-
Giao ti pế
ế ượ ự ệ Serial (Giao ti p Serial đ ổ c th c hi n qua 2 c ng digital 0 (RX) và
ặ ổ ớ 1 (TX) ho c qua c ng USB t i máy tính )
ề ệ ề ổ 3.2. T ng Quan V H Đi u Hành Android
ớ ệ 3.2.1 Gi ề i thi u v android
ệ ề ệ ề ệ ở ườ H đi u hành Android là h đi u hành m , hoàn thi n, cho phép ng i
ế ươ ầ ứ ớ ầ ế ấ ả dùng tùy bi n nó. T ng thích v i h u h t các nhà s n xu t ph n c ng
ị ử 3.2.1.1 L ch s hình thành
ệ ề ầ ế ị ầ ự Ban đ u, Android là h đi u hành cho các thi t b c m tay d a trên lõi
ỹ ế ế Linux do công ty Android Inc (California, M ) thi t k . Công ty này sau đó đ ượ c
ạ ắ ầ Google mua l ự i vào năm 2005 và b t đ u xây d ng Android Platform. Các thành
ố ạ ở ồ ủ viên ch ch t t i Android Inc. g m có: Andy Rubin, Rich Miner, Nick Sears,
[Type text]Page 37
and Chris White.
ể ượ ả Hình 3.2.1 : Bi u t ng Android phiên b n 5.0 Lollipop
ộ ề ế ố ế ị ầ 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 (Open Handset 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, TMobile, ARM Holdings, Atheros Communications, Asustek Computer Inc,
Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, and Vodafone Group,…
ớ ể ụ ủ ứ ̉ M c tiêu c a Liên minh này là nhanh chóng đôi m i đ đáp ng t ố ơ t h n
ầ ườ ả ầ ủ ế cho 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 ng
ượ ế ế ể ụ ụ ả ấ Android. 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.
ượ ụ ế ộ Khi Android đ ố c phát hành thì m t trong s các m c tiêu trong ki n trúc
ể ươ ụ ứ ượ ớ ủ c a nó là cho phép các ng d ng có th t ng tác đ c v i nhau và có th s ể ử
ạ ầ ừ ử ụ ứ ụ ữ ệ ụ d ng l i các thành ph n t nh ng ng d ng khác. Vi c tái s d ng không ch ỉ
ụ ụ ượ ụ ượ đ ị c áp d ng cho các d ch v mà nó còn đ ả c áp d ng cho c các thành ph n d ầ ữ
ệ ệ ườ li u và giao di n ng i dùng.
ố ộ ế ị ầ ượ Vào cu i năm 2008, Google cho phát hành m t thi t b c m tay đ ọ c g i
ể ạ ượ ứ ụ là Android Dev Phone 1 có th ch y đ c các ng d ng Android mà không b ị
[Type text]Page 38
ụ ủ ệ ạ ạ ấ ộ ộ ràng bu c vào các nhà cung c p m ng đi n tho i di đ ng. M c tiêu c a thi ế ị t b
ự ể ệ ệ ộ ộ này là cho phép các nhà phát tri n th c hi n các cu c thí nghi m trên m t thi ế ị t b
ệ ề ộ ả ự ể ả ạ ợ ồ th c có th ch y h đi u hành Android mà không ph i ký m t b n h p đ ng
ả ả ờ ộ nào. Vào kho ng th i gian đó thì Google cũng cho phát hành m t phiên b n vá l ỗ i
ủ ệ ề Ở ả ư ỗ ợ ả 1.1 c a h đi u hành này. c hai phiên b n 1.0 và 1.1 Android ch a h tr soft
ỏ ế ị ả ử ụ ố ị ậ keyboard mà đòi h i các thi t b ph i s d ng bàn phím v t lý. Android c đ nh
ư ề ằ ớ ộ ấ v n đ này b ng cách phát hành SDK 1.5 vào tháng T năm 2009, cùng v i m t
ư ề ả ạ ẳ ậ ố s tính năng khác. Ch ng h n nh nâng cao kh năng ghi âm truy n thông, v t
ụ d ng, và các live folder.
ả ủ Các phiên b n c a Android
Android 1.0 : 23/11/2008
Android 1.1 : 9/2/2009
Android 1.5 Cupcake : 30/4/2009
Android 1.6 Donut : 30/9/2009
Adroid 2.0/2.1 Eclair : 11/2009
Android 2.2 Froyo : 20/05/2010
Android 2.3 Gingerbread : 06/12/2010
Android 3.0/3.1 Honeycomb : 22/2/2011
Android 4.0 Ice Cream Sandwich : 19/10/2011
Android 4.1 Jelly Bean : 9/7/2012
Android 4.2 Jelly Bean : 11/2012
Android 4.3 Jelly Bean : 24/7/2013
[Type text]Page 39
Android 4.4 KitKat : 1/11/2013
Android 5.0 Lollipop : 15/10/2014
ươ ệ ạ 3.2.3 Ch ng trình t o giao di n Android
ớ ệ ề ế ươ ế ế ệ 3.2.3.1 Gi ầ i thi u ph n m m vi t ch ng trình và thi t k giao di n
ề ầ ế ươ ế ế ệ ượ ế ự ế Ph n m m vi t ch ng trình và thi t k giao di n đ c vi t tr c ti p trên
wed là ai2.appinventer.mit.edu
[Type text]Page 40
ệ ủ ề ệ ạ ầ Hình 3.2.2 :Giao di n c a ph n m m t o giao di n trên wed
[Type text]Page 41
ệ ế ươ Hình 3.2.3 : Giao di n vi t ch ng trình trên wed
ể ượ ơ ả ệ Các bi u t ể ạ ng c b n đ t o giao di n
ứ Ch c năng
ạ ộ
ả ệ ủ
ể ượ ố t k ho c trong các kh i
ủ ự ề ấ ệ Nút có kh năng phát hi n các nh p chu t. Nhi u khía c nh c a s ổ ể ượ ấ ư c thay đ i, cũng nh cho dù đó là click xu t hi n c a nó có th đ ặ ế ế ổ ậ ( B t) , có th đ c thay đ i trong thi Editor.
ể ậ ị
ộ ộ ầ ườ ử ụ ườ ậ ặ ộ M t h p cho ng ban đ u ho c ng ả ả i s d ng đ nh p văn b n . Các giá tr văn b n i dùng nh p vào là trong các thu c tính Text .
ế ầ
ể ủ ạ ặ ể ể ộ ả Đây là m t thành ph n có th cho phép đ t m t danh sách các y u ố t ộ ị văn b n trong màn hình c a b n đ hi n th .
ể ượ ử ụ ả
t l p b ng cách s d ng tài s n ạ c thi ặ ử ụ ằ ố
ả ố ế ậ Danh sách này có th đ ElementsFromString ho c s d ng kh i Elements trong trình so n th o các kh i .
ộ ộ ể ắ ạ ườ i
ấ ự khi nh p vào , ra m t m t h p tho i popup đ cho phép ng ộ ọ dùng l a ch n m t ngày
ộ ộ ể ắ ạ ườ i dùng
ấ ọ ể ờ khi nh p vào, ra m t m t h p tho i popup đ cho phép ng ộ ự l a ch n m t th i đi m.
ặ ấ ộ i dùng nh p chu t vào nó
ườ ế ự ấ ấ ệ ủ ể ng đ n s xu t hi n c a nó có th
ộ ự ệ ưở ế ế ặ Checkbox đó đ t ra m t s ki n khi ng ả ề . Có r t nhi u tính nh h ượ ặ c đ t trong các thi đ t k ho c Blocks Editor
ạ ẽ ể
ị ộ ả c thi
ị ể ượ ệ ự ấ
ộ ả ượ c xác đ nh thông qua M t Label s hi n th m t đo n văn b n , đ ế ậ ấ ả ề ộ t l p t c đ u có th đ thu c tính Text. Các tài s n khác , t ị ể ặ ế ế t k ho c Blocks Editor, ki m soát s xu t hi n và v trí trong thi ả ủ c a văn b n
ể ườ ử i s
ữ ả
ọ ế ế ằ ặ ả ể ượ t k ho c Blocks Editor b ng cách thi
ỗ
[Type text]Page 42
ể ố ủ ế ố ế ậ ạ ộ ấ ị ộ khi nh p vào , hi n th m t danh sách các văn b n cho ng ị ể ự ụ c xác đ nh thông d ng đ l a ch n gi a . Các văn b n có th đ ộ ế ậ t l p thu c tính qua các thi ặ ằ ElementsFromString đ n i c a chu i cách nhau ho c b ng cách ả ộ cho m t danh sách trong trình so n th o thi t l p thu c tính y u t
Blocks.
ộ ộ ằ ế ế
ộ ể ạ t thêm r ng m t ngón tay ặ
ị ế ậ
ượ t ngón tay cái . Khi ngón tay cái tr ạ ẽ
ượ ủ ị t . Các v trí báo cáo c a ngón cái tr
ậ ầ ủ đ ng c p nh t các thành ph n khác thu c
ữ ủ ướ ặ t l p v trí thanh tr ự ệ c kéo , nó s kích ho t các s ki n PositionChanged , báo cáo t có ậ ộ ộ c font ch c a m t TextBox ho c
ộ M t Slider là m t thanh ti n trình cho bi ả ể cái kéo. Có th ch m ngón tay cái và kéo sang trái ho c ph i đ ượ thi t ượ đ ượ ị v trí c a ngón cái tr ể ự ộ ể ượ ử ụ c s d ng đ t th đ ư ạ ẳ tính , ch ng h n nh kích th ủ bán kính c a m t Ball.
ợ ầ ể ể ữ ả
ể ượ ệ ấ ạ
ị ủ ặ ế ế ố ị ể ể ả H p ph n đ hi n th hình nh . Nh ng hình nh đ hi n th , và các khía c nh khác c a hình nh " s xu t hi n , có th đ c quy ị đ nh trong thi ả t k ho c trong các kh i Editor.
Bluetooth client component
ổ ệ ề 3.3. T ng Quan V Công Ngh Không Dây Bluetooth
3.3.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 t mu 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ày cho 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 ( 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 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
[Type text]Page 43
ệ ườ ượ ử ụ ữ ể ề ạ ế ị 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ên má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 n trê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 PDA c a m t ng ườ ạ ừ i b n t PDA c a b n.
ả Hình 3.3.1: Bluetooth phiên b n 4.0
ủ ệ ể ặ 3.3.2 Đ c đi m c a công ngh Bluetooth
Ư ể 3.3.2.1 u đi m
ượ ứ ụ ấ ượ ề ạ ụ 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 n tho 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 đ u cu i có th lên đ n
ữ ả ế ị ầ ể ố ớ 10m, kho ng cách gi a thi t b đ u cu i và access point có th lên t i 100m
ữ ệ ử ụ ề ầ ộ ố ể ạ Bluetooth s d ng băng t n 2.4GHz. T c đ truy n d li u có th đ t
ứ ớ ế ị ả ự ế ấ ầ ớ t i m c t i đa 1Mbps mà các thi t b không c n ph i tr c ti p th y nhau
ế ố ể ứ ộ ứ ệ ễ ụ ụ D dàng trong vi c phát tri n ng d ng: Bluetooth k t n i m t ng d ng
ộ ứ ụ ẩ ớ ể ộ này v i m t ng d ng khác thông qua chu n Bluetooth profiles, do đó có th đ c
ư ệ ề ầ ứ ử ụ ề ậ l p v ph n c ng cũng nh h đi u hành s d ng.
ươ ượ ứ ề ầ ả 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 . [Type text]Page 44
ế ể 3.3.2.2 Khuy t đi m
ử ụ ể ế ậ ứ ụ ờ S d ng mô hình adhoc > không th thi t l p các ng d ng th i gian
th cự
ế ố ệ ạ ắ ả ớ 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 piconect còn h n ch .
ố ộ ề T c đ truy n không cao
ạ ộ 3.3.3 Ho t đ ng
ế ố ắ ầ ẩ ế ế 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 đ ng tì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 t 100mW v i t m ph sóng g n 100m; class 2 có công
ớ ầ ủ ủ ả ấ ầ su t 2,5mW t m ph sóng kho ng 10m; và class 3 là 1mW v i t m ph sóng
ộ ậ ệ ề ả ả ợ kho ng 5m B n thân bên trong Bluetooth 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 âm thanh 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à File Transfer Services ); hay OBEX, đ ở c phát tri n b i chính nhà
ữ ệ ạ m ng Verizon , cho phép xóa d li u thông qua Bluetooth.
ế ệ 3.3.4 Các th h Bluetooth
ầ ả ượ ư ị ườ c đ a ra th tr ớ ng v i Blutooth 1.0 ( 7/1999 ): là phiên b n đ u tiên đ
ộ ế ố ự ế ố ầ ố 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 ế
[Type text]Page 45
ờ ạ ư ệ h này ch a bao gi ứ đ t quá m c 700Kbps
ấ ướ ớ ủ ể c phát tri n m i c a công ngh ệ Bluetooth 1.1 ( 2001 ): Đánh d u b
ớ ự ủ ự ề ề ả ấ 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. Motorola
ế ệ ệ ầ ạ ọ ợ RARZ là th h đi n tho i di đ ng đ u tiên tích h p Bluetooth 1.2
ả ộ ố ể ắ ầ 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
ế ộ ả ế ố ề ả ệ ớ ế đ n 2.1Mbps v i ch đ c i thi n k t n i truy n t i – ERD ( Enhanced data
ế ộ ụ ả ấ ẫ ộ ọ ỉ rate ) , song ERD v n ch là ch đ tùy ch n, ph thu c vào các hãng s n xu t có
ế ị ế ị ể ứ ụ ư đ a vào thi t b hay không. Các thi t b tiêu bi u ng d ng Bluetooth 2.0 + ERD
là : Apple
iPhone, HTC Touch Pro và TMobile’s Android G1.
ấ ủ ế ệ 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. Chu n này ch y u đ ủ ế ượ c
ệ ạ ế ị ử ụ s d ng trong đi n tho i, máy tính và các thi ộ t b di đ ng khác
ữ ệ ứ ề ạ ố ộ 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) : 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. Bluetooth Smart ch ho t đ ng ế ộ ơ ch đ đ n
[Type text]Page 46
ướ ệ ế ả ế ị ầ t n( single radio) h ng đ n kh năng phát tín hi u cho các thi t b trong lĩnh
ế ế ả ợ ượ ỉ ự v c y t thông qua c m bi n tích h p, các thông tin thu đ c ch có th g i đ ể ử ượ c
ế ị ế ị ẽ qua thi t b có Bluetooth Smart Ready. Các thi t b Bluetooth Smart s không có
ư ộ ạ ụ ượ ấ ư ố t c đ cao nh 3.0 nh ng bù l i chúng tiêu th năng l ủ ấ ng r t th p, pin c a
ủ ạ ộ ậ ớ ờ chúng th m chí đ ho t đ ng v i th i gian vài năm.
ệ ạ ả ố Bluetooth 4.1( 3/12/2014) : Bluetooth 4.1 c i thi n tình tr ng ch ng chéo
ẽ ự ộ ệ ủ ệ ạ tín hi u c a Bluetooth 4.0 và m ng 4G. Bluetooth 4.1 s t ậ đ ng nh n di n và
ể ự ệ ố ề ỉ ủ ứ ầ đi u ch nh băng t n đ th c hi n t ạ i đa s c m nh c a mình . Bluetooth 4.1 cho
ế ố ở ạ ể ả ả ấ ờ ị phép các nhà s n xu t có th xác đ nh kho ng th i gian k t n i tr l ờ i sau th i
ờ ế ị ủ ọ ả ượ gian ch trên các thi t b c a h giúp qu n lý năng l ủ ng c a nó đ ượ ố ơ t h n, c t
ế ị ế ợ ẽ ề ỉ ượ ợ và các thi t b k t h p s đi u ch nh năng l ng phù h p.
ượ ố Bluetooth 4.2 (2/12/2014) : Bluetooth 4.2 đã đ c gia tăng ộ t c đ lên 2.5
ả ớ ữ ả ộ ầ l n so v i phiên b n tr ệ ố ướ Không nh ng c i thi n t c đ mà Bluetooth 4.2 còn c.
ượ ữ ủ ữ ệ ề ả ỏ ả tăng c dung l ư ng l u tr c a các gói d li u nh trong lúc truy n t i qua đó
ụ ệ ả gi m đi n năng tiêu th và ít gây l ỗ ơ Ngoài ra, Bluetooth 4.2 cũng đã đ i h n. cượ
ả ỗ ợ ế ự ế ố tăng c ngườ tính b o m t ậ và h tr k t n i Internet tr c ti p thông qua
chu nẩ IPv6.
[Type text]Page 47
ộ ố ế ị ử ụ ệ Hình 3.3.2 : M t s thi t b s d ng công ngh Bluetooth
ề ả ệ ậ ấ 3.3.5 V n đ b o m t trong công ngh Bluetooth
ả ậ
3.3.5.1 B o m t ử ụ ẳ ắ ọ ườ ệ Khi s d ng công ngh này, ch c h n m i ng ế i ai cũng quan tâm đ n
ậ ủ ề ả ộ ượ ấ ấ v n đ b o m t c a nó. Tùy thu c vào cách nó đ c c u hình mà công ngh ệ
ể ề ế ị ố ượ bluetooth có th khá an toàn, tuy nhiên nhi u thi t b Bluetooth có s l ắ ng ng n
ữ ố ử ụ ể ể ế ị các ch s s d ng trong mã PIN có th gây nguy hi m cho các thi t b này
ế ệ ế ị ủ ạ ườ ể N u ai đó có th phát hi n ra thi t b Bluetooth c a b n, thì ng i này
ử ụ ạ ầ ả ị ắ hoàn toàn có kh năng g i các tin nh n không yêu c u và l m d ng d ch v ụ
̉ ữ ệ ủ ủ ử ạ ậ ặ ạ ặ Bluetooth c a b n ho c xâm nh p hay s a đôi d li u c a b n. Các virut ho c
ể ợ ụ ệ ể ạ ể các mã nguy hi m khác cũng có th l i d ng công ngh này đ làm h i thi ế ị t b .
ể ẽ ị ử ữ ệ ủ ế ạ ạ ậ ị ̉ ̉ N u đã b xâm nh p, d li u c a b n có th s b s a đôi, làm tôn h i hay b ị
ặ ắ ấ đánh c p ho c m t.
ươ ả 3.3.5.2 Ph ệ ng pháp b o v
ử ụ ệ Vô hi u hóa Bluetooth khi không s d ng chúng .
ừ ệ ế ạ ạ – Tr khi b n kích ho t vi c truy n t i thông tin t
ế ị ể ừ thi ệ ề ả ộ t b này đ n m t ữ ệ t b khác, n u không b n nên vô hi u hóa công ngh này đ tránh nh ng
ế ị ườ ể ậ thi ng ế ợ ệ i không h p l ạ có th xâm nh p.
ế ộ ẩ ử ụ S d ng Bluetooth trong ch đ n
ạ
ặ ế ộ ẩ ạ ậ t b khác nh n ra thi
ằ ả ế ố ế ế ị ả
ế ị ủ ậ ế ộ ẩ ể ế ố ế ậ
ể ư ệ ả ặ ạ
ộ ế ố ầ ậ ế ị ầ
ế ế ầ ệ ể ặ – khi kích ho t Bluetooth hãy đ t nó trong tr ng thái “ không th phát hi n ề ạ ế ị t b c a b n. Đi u “. Ch đ n nh m ngăn ch n các thi ạ t b Bluetooth khác. Th m chí c hai này không ngăn c n b n k t n i đ n các thi ế cũng có th nh n ra nhau đ k t n i n u chúng cùng trong ch đ n. Các thi t ế ộ ị b nh đi n tho i di đ ng và tai nghe không dây c n ph i đ t trong ch đ “ ệ không phát hi n “ k t n i ban đ u thì chúng luôn nh n ra thi t b kia mà không ạ ế ố ữ ầ i k t n i n a cho l n ti p theo. c n tìm ki m l
ơ ử ụ ữ ẩ ậ ớ C n th n v i nh ng n i s d ng Bluetooth
ế ầ ả ườ ế ị ủ ạ C n ph i quan tâm đ n môi tr ng khi ghép đôi thi ặ t b c a b n ho c
ạ ộ ể ệ
ế ộ ho t đ ng trong ch đ có th phát hi n [Type text]Page 48
ế ậ Đánh giá các thi ậ ả t l p b o m t
ầ ế ị ề ị ầ ề ặ ế ế H u h t các thi t b đ u có nhi u đ c tính giúp trang b c n thi t cho
ế ố ấ ỳ ệ ặ ầ ế ả b n thân, vô hi u hóa b t k tính năng ho c các k t n i không c n thi ể t có th .
ể ế ậ ế ậ ậ ặ ả ệ ự ọ ọ Ki m tra các thi t l p, thi t l p b o m t đ c bi ầ t và l a ch n các tùy ch n c n
ế ố ớ ạ ứ ủ thi t đ i v i b n mà không gây ra m c r i ro cao
ệ ể ậ ả ọ Khai thác tri t đ các tùy ch n b o m t.
ể ậ ả ọ ỹ ế ị ủ ạ Tìm hi u k các tùy ch n b o m t mà thi t b Bluetooth c a b n có th ể
ấ ừ ệ ể ữ ư ự ủ cung c p, t đó khai thác tri ụ t đ nh ng tính năng tác d ng c a chúng nh s mã
ị ẩ hóa và th m đ nh.
ủ ạ ế ị 3.3.6 Tr ng thái c a thi t b Bluetooth
ủ ạ ế ị Có 4 tr ng thái chính c a 1 thi t b Bluetooth trong 1 piconet:
ế ị ệ t b đang phát tín hi u tìm thi ế ị t b Inquiring device (inquiry mode): thi
Bluetooth khác.
ế ị ậ ệ t b nh n tín hi u Inquiry scanning device (inquiry scan mode): thi
ủ ế ị ả ờ ự inquiry c a thi ệ t b đang th c hi n inquiring và tr l i.
ế ị ệ ầ ế ố ớ t b phát tín hi u yêu c u k t n i v i Paging device (page mode): thi
ế ị thi t b đã inquiry t ừ ướ tr c.
ế ị ậ ầ ế ố t b nh n yêu c u k t n i Page scanning device (page scan mode): thi
ả ờ ừ t paging device và tr l i.
ế ộ ế ố 3.3.7 Các ch đ k t n i Active mode
ế ị ạ ộ ủ ạ t b Bluetooth tham gia vào ho t đ ng c a m ng. ế ộ trong ch đ này, thi
ế ị ố ư ượ ồ ế ị Thi ẽ ề t b master s đi u ph i l u l ộ ng và đ ng b hóa cho các thi t b slave.
ế ộ ế ệ ượ ế ị t ki m năng l ủ ng c a thi t b đang ở ạ tr ng Sniff mode: là 1 ch đ ti
[Type text]Page 49
Ở ế ị ệ ừ ạ ớ ầ ắ thái active. Sniff mode, thi t b slave l ng nghe tín hi u t m ng v i t n s ố
hay ả gi m
ụ ầ ấ ả ộ ố ủ ứ ố nói cách khác là gi m công su t. T n s này ph thu c vào tham s c a ng
d ng.ụ
ế ộ ế ệ ượ ế ộ ế ấ ệ ượ Đây là ch đ ít ti t ki m năng l ng nh t trong 3 ch đ ti t ki m năng l ng.
ế ộ ế ệ ượ ế ị t ki m năng l ủ ng c a thi t b đang ở ạ tr ng Hold mode: là 1 ch đ ti
ể ặ ế ộ ủ thái active. Master có th đ t ch đ Hold mode cho slave c a mình. Các thi ế ị t b
̉ ữ ệ ậ ứ ế ộ ể ỏ có th trao đôi d li u ngay l p t c ngay khi thoát kh i ch đ Hold mode. Đây
ế ộ ế ệ ượ ế ộ ế ệ ượ là ch đ ti t ki m năng l ng trung bình trong 3 ch đ ti t ki m năng l ng.
ế ộ ế ệ ượ ế ị ẫ t ki m năng l ủ ng c a thi t b v n còn trong Park mode: là ch đ ti
̉ ữ ệ ư ạ m ng nh ng không tham gia vào quá trình trao đôi d li u (inactive). Thi ế ị ở t b
ế ộ ỏ ị ệ ồ ộ ỉ ỉ ắ ch đ Park mode b đ a ch MAC, ch l ng nghe tín hi u đ ng b hóa và thông
ế ộ ế ủ ệ ệ ượ ấ đi p broadcast c a Master. Đây là ch đ ti t ki m năng l ng nh t trong 3 ch ế
ệ ượ ộ ế đ ti t ki m năng l ng
ổ ả ầ ố ệ ả ậ ỹ 3.3.8 K thu t tr i ph nh y t n s trong công ngh Bluetooth
3.3.8.1 Khái ni m ệ
ử ụ ế ậ ỹ ượ ả ầ ả ọ ̉ Bluetooth s d ng k thu t vô tuy n đ c g i là tr i phô nh y t n s ố
ỏ ữ ệ ượ ử ( Frequency Hopping SpectrumFHSS), chia nh d li u đ ề c g i đi và truy n
ự ề ữ ệ ơ ả ủ ế ạ ầ ố ừ t ng khúc d li u lên 79 t n s . Trong d ng c b n c a nó, s đi u ch là s ự
ầ ố ạ ượ ố ệ ậ ộ ị đánh tín hi u d ch t n s Gausse (GFSK). Nó đ t đ c t c đ truy c p là 1Mbs,
ậ ố ạ ộ ủ ế ể ở ố ộ t c đ truy c p t i đa c a nó có th lên đ n 3Mbs. Bluetooth ho t đ ng ầ dãi t n
ề ầ ố ệ ử ụ ề ậ ả ỹ ̉ ề 2.4GHz. Truy n tr i phô là k thu t truy n tín hi u s d ng nhi u t n s cùng 1
ể ặ lúc (DSSSDirect Sequence Spead Spectrum) ho c luân phiên FHSS đ tăng kh ả
ả ầ ố ề ữ ệ ố ộ ễ ả ậ ả ố ̉ năng ch ng nhi u, b o m t và t c đ truy n d li u. Tr i phô nh y t n s là k ỹ
ậ ả ộ ậ ự ệ ẹ ầ ợ thu t phân chia gi ệ i băng t n thành m t t p h p các kênh h p và th c hi n vi c
ầ ự ệ ệ ề ả ằ truy n tín hi u trên các kênh đó b ng vi c nh y tu n t ộ qua các kênh theo m t
[Type text]Page 50
ứ ự th t nào đó
ả ầ ố ổ ỹ ậ ả Hình 3.3.3: K thu t tr i ph nh y t n s
ả ầ ố ệ ậ ỹ 3.3.8.2 K thu t nh y t n s trong công ngh Bluetooth
ả ầ ượ ớ ố ả ộ Gi i băng t n ISM 2.4GHz đ c chia thành 79 kênh, v i t c đ nh y là
ề ể ầ ộ ượ ễ ố ủ ề 1600 l n trong m t giây, đi u đó có th tránh đ c nhi u t t và chi u dài c a các
ắ ạ ố ộ ế ề ầ ướ ướ packet ng n l i, tăng t c đ truy n thông. H u h t các n c dùng 79 b ả c nh y,
ỗ ướ ắ ầ ở ả ế ở m i b c nh y cách nhau 1MHz, b t đ u 2.402GHz và k t thúc 2.480GHz.
[Type text]Page 51
Ở ộ ướ ủ ả ư ạ ậ ầ ẳ ạ m t vài n c, ch ng h n nh Pháp, Nh t ph m vi c a d i băng t n này đ ượ c
ả gi m còn 23 b ướ c ả nh y
ầ ố ề Hình 3.3.4 : Các packer truy n trên các t n s khác nhau
ử ụ ệ ề ề ậ ờ ờ Vi c truy n nh n s d ng các khe th i gian. Chi u dài 1 khe th i gian
thông
ườ ộ ườ ư ằ ơ th ng là 625µs. M t packet th ng n m trong khe đ n, nh ng cũng có th m ể ở
ầ ầ ế ộ ố ̉ ả ộ r ng ra 3 hay 5 khe, yêu c u t n s ph i không đôi cho đ n khi toàn b packet
ử g i xong.
ữ ệ ử ụ ầ ờ ơ ố ộ ề S d ng packet đa khe, t c đ truy n d li u cao h n nh ph n header
ể ể ầ ắ ỗ ỏ ọ ờ ỉ ề ủ c a m i packet ch đòi h i 1 l n 220µs. có th hi u ng n g n là th i gian truy n
ẽ ớ ề ơ ơ ạ ờ 3 packets đ n khe s l n h n th i gian truy n 1 packet 3 khe. Bù l i, trong môi
ườ ễ ị ề ề ế ề ệ tr ề ng có nhi u tín hi u truy n, các packet dài chi m nhi u timeslot d b nhi u
ễ ị ấ ơ ứ ầ ỗ ơ h n do đo d b m t h n. M i packet ch a 3 ph n : Access Code, Header,
[Type text]Page 52
Payload
ướ ủ ố ị Kích th c c a access code và header là c đ nh
ộ ữ ệ ệ ồ ồ ị Access Code : G m 72bits, dùng trong vi c đ ng b d li u, đ nh danh,
báo hi u.ệ
Header :
ấ ạ ủ Hình 3.3.5 : C u t o c a packet
Trong header có 54 bits:
ượ ệ ị ị ỉ ố + 3 bits đ c dùng trong vi c đ nh đ a ch , do đó có t i đa 7 Active Slave.
ế ế ạ + 4 bits ti p theo cho bi t lo i packet
ề ể ồ + 1 bits đi u khi n lu ng
ế + 1 bits ARQ : cho bi t packet là Broadcast không có ACK.
ọ ỏ ữ ề ạ + 1 bits Sequencing: l c b nh ng packet trùng do truy n l i
ẹ ủ ể ộ ̉ + 8 bits HEC : ki m tra tính toàn v n c a header. Tông c ng có 18bits, các bit đó
ớ ượ đ c mã hóa v i 1/3 FEC ( Forward Error
[Type text]Page 53
ể ượ Correction ) đ có đ c 54 bits
ứ ữ ệ ̉ ừ ề ể ầ ớ 0 t i PayLoad : ph n ch a d li u truy n đi, có th thay đôi t
ữ ệ ặ ể 2744bit/packet. Payload có th là d li u data ho c voice.
3.3.9 Module Bluetooth HC 06
ớ ệ ề 3.3.9.1 Gi i thi u v Module Bluetooth HC – 06
Hình 3.3.6: Module Bluetooth HC06
ế ế ễ ử ụ ế Module Bluetooth HC06 đ c thi
ượ ề ữ ệ t k đ s d ng giao giao ti p ố ế Bluetooth qua Serial Port, truy n d li u n i ti p qua wireless.
ể ặ ậ ỹ Đ c đi m k thu t:
ẩ Chu n Bluetooth : V2.0+EDR
ạ ộ ệ Đi n áp ho t đ ng : 3,3VDC/ 30mA
ạ ộ ế ộ Ch đ ho t đ ng : Master , Slave, Loopback
ướ ầ ố Kích th c 28mm x 15mm x 2.35mm T n s : 2.4GHz ISM band
ố ộ T c đ : Asynchronous : 2.1 Mbs (Max)/160kbps Synchronous :
1Mbps/1Mbps
ả ậ B o m t : Authentication and encryption
[Type text]Page 54
ế Giao ti p : Bluetooth serial port
ặ ị ỗ ợ Baud Rate m c đ nh : 38400, databits : 8, Stopbit : 1, Parity : No. H tr
ố ộ t c đ baud : 9600,19200,38400,57600,115200,230400,460800.
ệ ộ ệ ạ ộ Nhi ộ t đ làm vi c : 20 ~ 75 đ C Đ nh y : 80dBm
ế ố ớ ề ặ ấ ị ự ộ Công su t truy n : +4dBm T đ ng k t n i v i pincode m c đ nh
“1234”
ự ộ ị ứ ế ố
ế T đ ng reconnect trong 30 phút n u b đ t k t n i Module có 2 ch đ ệ ể ọ ế ộ ̉ ạ
ế ộ ệ ằ làm vi c ( có th ch n ch đ làm vi c b ng cahcs thay đô tr ng thái chân KEY 34:
ự ộ ế ố T đ ng k t n i
ứ ể ử
ế ộ ớ ế ế ằ
̉ ạ ằ ồ
ộ ể ấ ạ ộ ệ ở ệ ch đ này, chúng ta có th g i các Đáp ng theo l nh: khi làm vi c ố ế ế ớ ể ệ l nh AT đ giao ti p v i module Gaio ti p v i module b ng giao ti p n i ti p ườ ng RX và TX B ng cách thay đô tr ng thái chân KEY không đ ng b qua hai đ ế ộ chúng ta có th c u hình ch đ ho t đ ng cho Module
ể ệ ở ế ộ ự ộ ế ố ả ở ạ ch đ t đ ng k t n i: KEY ph i tr ng thái
ế ố ạ Đ module làm vi c Floating ( tr ng thái không k t n i )
ể ệ ở ế ộ ấ
Đ module làm vi c ể
ệ ế ế ố ừ ứ ể ế ậ Ở ế ộ ch đ SLAVE: chúng ta c n thi t l p k t n i t
ố ớ ặ ị ể ồ ch đ đáp ng theo l nh : KEY=’0’, c p ngu n ậ ệ ằ ớ cho module, chuy n KEY = ‘1’, lúc này có th giao ti p v i modul b ng t p l nh ầ smartphone, laptop, usb AT bluetooth đ dò tìm module và ghép n i v i pincode m c đ nh ”1234”
ươ ể ề ể ầ
̉ ng thích v i các vi di u khi n 5V mà không c n chuy n đô ề Module t ế ớ ư ứ ề ạ m c giao ti p 5V v 3.3V nh nhi u lo i module khác.
ặ ả 3.3.9.2 Đ c t ầ ứ ph n c ng
ế ế ể ố ế ượ ể ế c thi
[Type text]Page 55
Module Bluetooth HC06 đ ồ ế ộ ổ t k đ chuy n đ i giao ti p n i ti p ượ ạ c l không đ ng b và thành giao ti p không dây Bluetooth và ng i
ơ ồ Hình 3.3.7: S đ chân HC 06
STT ạ Tên Chân Lo i Chân ả Mô T Chân Chân
13, GND VSS ố ấ Chân n i đ t 21,22
12 3.3v VCC Chân 3,3v Chân ngu nồ
ậ 9 AIO0 2 H ngướ L p trình I/O
ậ 10 AIO1 2 H ngướ L p trình I/O
ậ ề L p trình I/O, đi u
ể khi n output cho ướ 23 PIO0 2 H ng RX EN ế ượ LNA n u đ c trang
b .ị
ậ ề L p trình I/O, đi u
ướ ể 24 PIO1 2 H ng RT EN khi n LA n u đ ế ượ c
trang b .ị
ậ 25 PIO2 2 H ngướ L p trình I/O
ậ 26 PIO3 2 H ngướ L p trình I/O
[Type text]Page 56
ậ 27 PIO4 2 H ngướ L p trình I/O
ậ 28 2 H ngướ L p trình I/O PIO5
ậ 29 2 H ngướ L p trình I/O PIO6
ậ 30 2 H ngướ L p trình I/O PIO7
ậ 31 2 H ngướ L p trình I/O PIO8
ậ 32 2 H ngướ L p trình I/O PIO9
ậ 33 2 H ngướ L p trình I/O PIO10
ậ 34 2 H ngướ L p trình I/O PIO11
Cmos input with weak 11 ế Reset n u LOW ResetB internal pullup
ầ UART yêu c u khi Cmos output, tristable with 4 ạ ộ ử g i, ho t đ ng UART_RST weak internal pullup. LOW.
Cmos input with weak UART xóa khi g i,ử 3 UART_CTS ạ ộ internal pulldown. ho t đ ng LOW.
Cmos input with weak ữ ệ 2 D li u vào UART UART_RX internal pulldown
Cmos output, tristable with ữ ệ 1 D li u ra UART UART_TX weak internal pullup.
Cmos input with weak Serial peripheral 17 SPI_MOSI internal pulldown interface data input
Chip select for serial Cmos input with weak 16 peripheral interface, SPI_CSB internal pullup. active low.
[Type text]Page 57
Cmos input with weak Serial peripheral 19 SPI_CLK internal pulldown. interface clock.
Cmos input with weak Serial peripheral SPI_MISO 18 internal pulldown. interface data output
USB 2 H ngướ 15
USB + 2 H ngướ 20
NC 2 H ngướ 14
Synchronous PCM PCM_CLK 2 H ngướ 5 data clock
Synchronous PCM PCM_OUT Cmos output 6 data output
Synchronous PCM PCM_IN Cmos input 7 data input
[Type text]Page 58
Synchronous PCM PCM_SYNC 2 H ngướ 8 data strobe
ệ ậ T p L nh AT cho Moduel Bluetooth HC – 06
ứ L nh ệ Tr Vả ề Tham Số Ch c Năng
AT OK None Test
AT+RESET OK None Reset
ể AT+VERSION? +VERSION: OK Version number Ki m tra phiên b nả
AT+ORGL OK None
Khôi ph cụ ặ ạ tr ng thái m c đ nhị
AT+ADDR? +ADDR: OK Bluetooth address ỉ ị Đ a ch Bluetooth
AT+NAME= OK ặ Đ t tên cho module
1. +NAME: OKsuccess Tên thi ặ ị AT+NAME? Bluetooth device name t bế ị (m c đ nh:HC 06) 2. FAILfailure
t bế ị Đô trên modul AT+RNAME? Tên thi Bluetooth 1. +NAME: OKsuccess 2. FAILfailur
AT+ROLE? +ROLE: OK
ặ ị ứ ấ Truy v n ch c năng modul M c đ nh :0 0Slave role 1Master role 2Slaver Loop role
ặ
AT+PSWD= OK Pincode
Đ t mã Pin M cặ ị đ nh:”1234”
AT+PSWD? +PSWD: Pincode ấ Truy v n mã PIN
[Type text]Page 59
ấ AT+UART= OK Param1: Baud C u hình cho
̉ côg UART ,
AT+UART? ̉ UART=,
[Type text]Page 60
Param1: Baud rate Param2: stop bit Param: parity bit
CH
NG 4
ƯƠ Ế
Ế
THI T K VÀ THI CÔNG
ươ 4.1 Ch ng Trình Android
ệ ề ể 4.1.1 Giao di n đi u khi n Android trên Smartphone
[Type text]Page 61
ể ệ ề Hình 4.1.1 : Giao di n đi u khi n Android trên Smartphone
[Type text]Page 62
ậ ướ ế ố ớ Hình 4.1.2: Cho Phép b t Bluetooth tr c khi k t n i v i Arduino
[Type text]Page 63
ế ộ ề ể Hình 4.1.3: Ch đ đi u khi n 1
ế ộ ề ể Hình 4.1.4: Ch đ đi u khi n 2
ươ 4.1.2 Ch ng trình Android
ố ế ố ướ ế ố ẽ ạ ề ầ Kh i k t n i tr c khi vào ph n m m s t o 1 list danh sách k t n i
Bluetooth .
ế ố ẽ ấ ề ầ ị
ế ố ỉ ự ọ Sau khi có list k t n i Bluetooth ph n m m s l y đ a ch MAC và cho phép ẽ chúng ta k t n i. danh sách Bluetooth s có 17 danh sách l a ch n.
[Type text]Page 64
ỉ ế ố ẽ ự ệ ẽ ọ ọ ị ế ố Chúng ta s click ch n đ a ch k t n i ta ch n và s th c hi n k t n i
ấ ắ ế ố ứ ụ ẽ ớ ế ị ể ế ố t b đ k t n i
Khi nh n nút ng t k t n i. ng d ng s disconnect v i thi ạ ộ ế ị ừ ặ t b khác ho c ng ng ho t đ ng ớ v i thi
ắ ế ố ề ẽ ầ ế ị ỏ ứ t b và thoát kh i ng
Khi nh n nút close, ph n m m s ng t k t n i thi ư ấ ụ d ng đ a ra màn hình chính.
Ứ ế ộ ự ườ ế ng d ng s có 2 ch đ l a ch n cho ng
ể ề ế ể ẩ ị
ẽ ụ ẽ ể ầ ề ế ế ả
ẩ ể ẽ ẩ ấ ể ể ế ả ị
ể ạ ộ ế ẽ ấ ọ i lái. N u nh n nút Đi u ộ ầ ả khi n tay thì s hi n th ra khung đi u khi n mũi tên, và n ph n c m bi n đ ề ự ộ đ ng, khung đi u nghiêng, n ph n khung hình c m bi n… N u ta nh n nút t ờ ị ộ khi n s n đi và hi n th ra khung hình c m bi n đ hi n th , đ ng th i góc ả c m bi n s ho t đ ng
ề
ạ ộ ẽ ậ ố ng t
ữ ề ữ ự ệ ạ N u click vào nút lên và Bluetooth ho t đ ng thì truy n thong ch F và ề i ữ ẽ . còn l
[Type text]Page 65
ề ự ấ nh n nút xu ng thì s truy n ch B, nút trái s truy n ề ạ ẽ ầ ẽ ề ế ươ ẽ HC06 s nh n. t ả ẽ ữ ch L và nút ph i s truy n ch R. bên Đi n tho i s truy n ra ký t ậ ượ ể arduino s đi u khi n ph n nh n đ c
ể ừ ừ ề ẽ ể Ở ữ gi khung hình đi u khi n tay, s có 1 nút d ng đ ng ng ho t đ ng
ữ ừ ế ả ậ ượ ạ ộ ẽ c ch S thì s cho
ơ ộ cho xe, và bên c m bi n cũng có 1 nút d ng. Arduino nh n đ ừ d ng đ ng c
ể ể ể ề ộ
ơ Nhóm có phát tri n thêm cho đ tài cánh tay robot. đi u khi n đ ng c ắ ầ ượ ề ấ
ớ ư ế ị ữ ị ế ậ
ề ế ơ ộ ố ẽ t servo thì s truy n xu ng ARN ch H là b t đ u servo… n u nh n thanh tr ẽ ế ở g i giá tr servo v bi n H, bi n H sau đó bi n góc x nh n giá tr H v i đ a ra góc quay cho đ ng c servo
[Type text]Page 66
ươ ự ầ ể ố ộ ế ề ộ ơ T ng t ph n đi u khi n t c đ và gá bi n cho đ ng c
ế ả ộ ươ ứ ng ng trên
ố ề ả ạ ự ể ề ệ ế ẽ đi n tho i và s truy n ký t C m bi n gia t c accenmecto cái này c m bi n đ nghiêng t và đi u khi n.
ế ị ớ ụ ế ạ ơ ụ N u tr c Xaccemento nh n giá tr l n h n 4 thì xe ch y sang trái, n u tr c
ả ạ ậ ị ậ ỏ ơ Xaccemento nh n giá tr nh h n 4 thì xe ch y sang ph i.
ụ ụ ế ế ạ ẳ ị N u tr c Yaccemento nh n giá tr 4 thì xe ch y th ng, n u tr c
[Type text]Page 67
ạ ậ ị ậ ỏ ơ Yaccemento nh n giá tr nh h n 4 thì xe ch y lùi
ế ố ớ ạ 4.1.2 M ch k t n i Bluetooth v i Arduino
ơ ồ ạ ớ ế ố Hình 4.1.5: S đ m ch k t n i Bluetooth v i Arduino
ơ ồ ạ ộ ể ự ề 4.1.3 S Đ M ch Đi u Khi n Và Đ ng L c
ộ ự ơ ồ ạ Hình 4.1.6 : S đ m ch đ ng l c
ơ ạ ứ ề ạ ặ ậ ạ ộ ơ ộ ượ ể M ch đ ng c có ch c năng đi u khi n đ ng c ch y thu n ho c ch y ng c.
ư ẫ ạ ộ ầ ộ ơ Ban đ u khi TIP41C và role ch a d n thì đ ng c không ho t đ ng. Khi TIP41C
ơ ẽ ượ ấ ể ạ ệ ậ ộ ẫ d n thì đ ng c s đ ộ ế c c p đi n đ ch y thu n, ti p đó kích thêm role thì đ ng
[Type text]Page 68
ơ ạ c ch y ng ượ c.
[Type text]Page 69
ổ ạ 4.1.4 M ch T ng
[Type text]Page 70
ạ Hình 4.1.7 : M ch in
ạ Hình 4.1.8: M ch sau khi hoàn thành
-
ứ ệ ạ 4.1.5 Ch c Năng Linh Ki n Trong M ch
R leơ
[Type text]Page 71
Hình 4.1.9 : R leơ
ạ ộ ệ ể ắ ằ ơ ộ ổ ộ R le (relay) là m t công t c chuy n đ i ho t đ ng b ng đi n. Nói là m t
ạ ắ ơ ơ ở ạ công t c vì r le có 2 tr ng thái ON và OFF. R le tr ng thái ON hay OFF ph ụ
ệ ạ ộ ơ ệ ạ thu c vào có dòng đi n ch y qua r le hay không. Khi có dòng đi n ch y qua r ơ
ẽ ạ ệ ạ ộ le, dòng đi n này s ch y qua cu n dây bên trong và t o ra m t t ộ ừ ườ tr ng hút. T ừ
ườ ẩ ặ ộ ộ ở tr ế ng hút này tác đ ng lên m t đòn b y bên trong làm đóng ho c m các ti p
ư ế ẽ ủ ơ ố ế ể ệ ệ ể ổ ạ đi m đi n và nh th s làm thay đ i tr ng thái c a r le. S ti p đi m đi n b ị
-
ể ề ặ ổ thay đ i có th là 1 ho c nhi u, tùy vào thi ế ế t k .
Octo PC817
ạ ộ ạ ượ ự ư PC 817 cũng là d ng opto, nó ho t đ ng t ng t nh các opto khác.Khi
ữ ấ ố ố ố cung c p 5V vao chân s 1, LED phía trong Opto n i gi a chân s 1 và 2 sáng,
ệ ứ ẽ ị ể ừ ứ ệ ẫ ế ả x y ra hi u ng quang đi n d n đ n 34 thông,m c logic s b chuy n t 1 sang
ự ế ừ ầ ộ 0 mà không c n tác đ ng tr c ti p t IC
Hình 4.1.10: PC817
ơ ượ ề ạ ữ ề ể ể Opto PC817 dùng đ cách ly gi a bo đi u khi n và Motor DC. S l c v ho t
ậ ượ ủ ư ạ ủ ệ ệ ộ đ ng c a m ch này nh sau: khi nh n đ c tín hi u đi n kích vào chân 1 c a
[Type text]Page 72
ạ ẫ Opto PC817 > chân 3 4 Opto thông m ch >TIP41 d n dòng làm cho motor quay
ơ ồ S đ chân PC817 Chân 1: Anode Chân 2: Cathode Chân 3: EmitterPhát Chân 4: Collector Thu
Transitor
ể ế Có 2 đi m ti p giáp PN
ậ Tranzitor thu n PNP
thu nậ ng cượ
ế ượ ậ J1 ti p giáp phát (luôn đ ự c phân c c thu n)
[Type text]Page 73
ế ượ ự ượ J2 ti p giáp góp, luôn đ c phân c c ng c.
ươ Xung âm (m )ở Xung d ở ng (m )
[Type text]Page 74
Hình 4.1.11: Transistor A1013
ố ả B ng thông s chân
ệ ử ư ỗ ố ể ượ ệ Khi có đi n áp UCE nh ng các đi n t và l tr ng không th v t qua
ố ế ể ạ ệ ệ ấ m i ti p giáp PN đ t o thành dòng đi n, khi xu t hi n dòng IBE ớ do l p bán
ạ ự ệ ử ự ấ ạ ấ ỏ ồ ộ ừ ẫ d n P t i c c B r t m ng và n ng đ pha t p th p, vì v y s ậ ố đi n t t do t
ự ẫ ượ ế ẫ ơ ớ ớ l p bán d n N ( c c E ) v t qua ti p giáp sang l p ự ớ bán d n P( c c B ) l n h n
ỗ ố ầ ấ ộ ệ ử ỗ ố ượ s l ng l ề tr ng r t nhi u, m t ph n nh ố ỏ trong s các đi n t ế đó th vào l
ạ ố ầ ớ ố ệ ử ị ự ề ướ tr ng t o thành dòng IB còn ph n l n s đi n t b hút v phía c c C d i tác
-
ủ ạ ạ ệ ụ d ng c a đi n áp UCE => t o thành dòng ICE ch y qua Transistor
Transitor công su tấ
ấ ượ ử ụ ệ ử ể ư ắ ắ Transistor công su t đ c s d ng nh công t c đi n t đ đóng c t dòng
ươ ố ớ DC t ng đ i l n.
ườ ệ ử ề ấ ị Th ng dung làm khoá đi n t ư ớ đi u áp và ngh ch l u v i công su t trung
bình. [Type text]Page 75
CE ≥ 0,UBE ≥0, IB ≥ IBSIc/ (
β β ề ệ ấ ở Đi u ki n m Transistor công su t U ệ ố là h s
ế ạ khuy ch đ i dòng)
ấ Hình 4.1.12: Transistor công su t TIP41C
ố ả B ng thong s chân
ạ ộ ủ ắ Nguyên t c ho t đ ng c a transistor NPN
ự ề ấ ồ Khi Ta c p 1 ngu n 1 chi u UCE vào 2 c c C trong đó (+) ngu n vào c c
[Type text]Page 76
ở ạ ự ề ấ ồ ồ ồ C và () ngu n vào c c E. C p ngu n 1 chi u UBE ự ắ đi qua công t c và tr h n
ệ ẫ ở ự ự ư c c p đi n nh ng v n không
ệ dòng vào 2 c c B và E , trong đó c c (+) vào chân B, c c () vào chân E. Khi công ặ ắ t c m , ta th y r ng, m c dù 2 c c C và E đã đ ố có dòng đi n ch y qua m i C E ( lúc này dòng
ượ ố ự ượ ấ IC = 0 ) ậ ự ấ ằ ạ ắ
ệ c phân c c thu n do đó có 1 dòng đi n ề ự ự ạ ố Khi công t c đóng, m i PN đ ắ ồ (+) ngu n UBE qua công t c => qua R h n dòng => qua m i BE v c c
ạ ừ ch y t ạ () t o thành dòng IB.
ấ ạ ố Ngay khi dòng IB xu t hi n => l p t c cũng có dòng IC ch y qua m i CE
ậ ứ ấ ề ầ ạ
ư ậ ộ ụ hoàn toàn ph thu c vào dòng IB ứ và ph thu c theo 1 công th c
ệ làm bóng đèn phát sáng, và dòng IC m nh g p nhi u l n dòng IB ộ ụ Nh v y dòng IC .
IC = .IBβ
ạ IC là dòng ch y qua m i CE ạ IB là dòng ch y qua m i BE β ố ố ạ ủ ệ ố ế là h s khuy ch đ i c a Transistor
ươ 4.2 Ch ng Trình Arduino
ư ệ ơ ộ #include
char state;
int toc_do,goc;
const int role1 = 2;// dat ten dc
const int tip1 = 3;
const int role2 = 4;
const int tip2 = 5;
const int role3 = 7;
const int tip3 = 6;
const int role4 = 8;
const int tip4 = 9;
Servo SV1; //dat ten cho dong co canh tay kep
int potpin = 0;
void setup()
{ [Type text]Page 77
SV1.attach(11); //chan su dung bam xung cho servo la chan 11
pinMode(role1, OUTPUT);//thiet lap chan ra
pinMode(tip1 , OUTPUT);
pinMode(role2, OUTPUT);
pinMode(tip2 , OUTPUT);
pinMode(role3, OUTPUT);
pinMode(tip3 , OUTPUT);
pinMode(role4, OUTPUT);
pinMode(tip4 , OUTPUT);
digitalWrite( role1, HIGH );// thiet lap tat dong co khi bat
digitalWrite( tip1, HIGH );
digitalWrite( role2, HIGH );
digitalWrite( tip2, HIGH );
digitalWrite( role3, HIGH );
digitalWrite( tip3, HIGH );
digitalWrite( role4, HIGH );
digitalWrite( tip4, HIGH );
Serial.begin(9600);//khai bao toc do paul
}
void loop()
{
[Type text]Page 78
if(Serial.available() > 0){
state = Serial.read();
switch (state) {
case 'M'://neu nhan thanh truot toc do
toc_do = Serial.parseInt(); //bien toc do = gia tri thanh truot goi ve hc06
toc_do = map(toc_do,0,255,255,0);//dao gia tri tren thanh truoc
break;
case 'H':
goc = Serial.parseInt(); //gia tri tren thanh truot se goi ve bien goc
ề ế ổ ỉ ẽ SV1.write(goc); //dong co servo s thay d i theo bi n góc đi u ch nh
break;
ẫ ơ case'F'://chay toi 4 tip d n, 4 r le đóng
// while(!Serial.available());
analogWrite(tip1, toc_do);
analogWrite(tip2, toc_do);
analogWrite(tip3, toc_do);
analogWrite(tip4, toc_do);
digitalWrite(role1, HIGH);
digitalWrite(role2, HIGH);
digitalWrite(role3, HIGH);
digitalWrite(role4, HIGH);
[Type text]Page 79
break;
ề ẫ ả ẫ ơ case'B'://chay lui 4 típ d n 4 r le d n đ o chi u
digitalWrite(role1, LOW);
digitalWrite(role2, LOW);
digitalWrite(role3, LOW);
digitalWrite(role4, LOW);
analogWrite(tip1, toc_do);
analogWrite(tip2, toc_do);
analogWrite(tip3, toc_do);
analogWrite(tip4, toc_do);
break;
ạ ả case'L'://trai 2 bánh trái ch y lùi 2 bánh ph i ch y t ạ ớ i
ạ digitalWrite(role1, LOW);//2 bánh trái ch y ng ượ c
digitalWrite(role2, LOW);
ả ạ ậ digitalWrite(role3, HIGH);//2 bánh ph i ch y thu n
digitalWrite(role4, HIGH);
analogWrite(tip1, toc_do);
analogWrite(tip2, toc_do);
analogWrite(tip3, toc_do);
analogWrite(tip4, toc_do);
break;
[Type text]Page 80
ạ ơ ộ ơ ộ ả case'R'://phai 2 đ ng c ph i ch y lùi 2 đ ng c trái ch y t ạ ớ i
ạ ớ ộ ơ digitalWrite(role1, HIGH);//2 đ ng c trái ch y t i
digitalWrite(role2, HIGH);
ả ạ ơ ộ digitalWrite(role3, LOW);//2 đ ng c ph i ch y lùi
digitalWrite(role4, LOW);
analogWrite(tip1, toc_do);
analogWrite(tip2, toc_do);
analogWrite(tip3, toc_do);
analogWrite(tip4, toc_do);
break;
case'S'://stop
digitalWrite( role1, HIGH );// thiet lap tat dong co khi bat
ắ ấ ả digitalWrite( tip1, HIGH );//ng t t t c các thi ế ị t b
digitalWrite( role2, HIGH );
digitalWrite( tip2, HIGH );
digitalWrite( role3, HIGH );
digitalWrite( tip3, HIGH );
digitalWrite( role4, HIGH );
digitalWrite( tip4, HIGH );
break;
}
}
[Type text]Page 81
}
ƯƠ
CH
NG 5
Ả
Ế
ƯỚ
Ề
Ể
K T QU VÀ H
NG PHÁT TRI N Đ TÀI
ả ự ệ ề ế 5.1 Đánh giá k t qu th c hi n đ tài
ề ừ ề ể ộ ề Đ tài “ ” , là m t đ tài có tính Xe Đi u Khi n T Xa Thông Qua SmartPhone
ể ử ụ ự ế ư ề ể ề ụ d ng cao, có th s d ng cho nhi u bài toán th c t nh đi u khi n các thi ế ị t b
ề ể ế ị ị ệ ộ ̉ trong nhà, giám sát và đi u khi n các thi t b báo cháy, báo ga, ô đ nh nhi t đ ,…
ự ệ ế ị ứ ế ế ả Vi c xây d ng thi ề t b liên quan đ n nhi u m ng ki n th c.
ả ạ ượ ế K t qu đ t đ c:
ắ ượ ế N m rõ đ c giao ti p Bluetooth
ể ề ệ ề Tìm hi u v h đi u hành android
ự ệ ế ứ ụ Th c hi n vi t ng d ng trên Android
̉ ữ ệ ế ố ự ữ ệ Th c hi n k t n i và trao đôi d li u gi a Smartphone và Module Bluetooth
ế ươ ử Vi t ch ng trình x lý dùng Arduino
ế ế ạ ơ ộ Thi t k m ch driver cho đ ng c DC
ượ Nh ể c đi m:
[Type text]Page 82
ế ế ư ề ả ơ Xe thi t k khá đ n gi n, ch a nhi u tính năng
ướ ề ể 5.2 H ng phát tri n đ tài
ề ạ ượ ộ ố ế ấ ị ứ ể ộ c m t s k t qu nh t đ nh, song đ đáp ng cho m t bài toán
ự ế ậ ố ư Đ tài đã đ t đ th c t ư còn ch a th t t ả i u.
ự ể ử ư ả ờ Nghiên c u h đi u hành th i gian th c đ tăng kh năng x lý, cũng nh tính
ứ ệ ề ạ ủ linh ho t c a nó
ư ứ ề ề ả ợ Tích h p thêm nhi u ch c năng cho xe nh : truy n hình nh, đo nhi ệ ộ ộ t đ , đ
ẩ ả ộ ậ ả m, kho ng cách v t c n, đo đ nghiêng
[Type text]Page 83
ồ ượ ả ự ố ề ứ ụ Ph n h i đ c các s c v ng d ng android
ệ ả Tài Li u Tham Kh o
http://www.alldatasheet.com/
https://vi.wikipedia.org
[Type text]Page 84
……………………………………