SlideShare une entreprise Scribd logo
1  sur  75
https://lop7.net/
MỤC LỤC
LỜI NÓI ĐẦU 6
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
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.2. Các loại Arduino
3.1.3 Arduino Nano
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
https://lop7.net/
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
5.2 Hướng phát triển
https://lop7.net/
PHỤ LỤC HÌNH VẼ
1.1.1: Robot Shakey 7
1.1.2: Robot hàn điểm 8
1.1.3: Robot phẫu thuật 8
1.1.4: Mobile Robot kỹ thuật sử lý hình ảnh 9
1.1.5: Robot song song 6 bậc tự do Merlet 10
1.1.6: Nguyên Bản của Robot Hexapod TU Munich 10
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 11
1.1.9: Robot được sử dụng trong công đoạn cấp vật liệu và lắp ráp 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 13
1.3.1: Arduino Mega 15
1.4.1: Logo Android 16
1.5.1: Logo Bluetooth 17
1.5.2: Bluetooth và kết nối với thiết bị 17
2.1.1: Giao diện điều khiển trên smartphone 18
2.1.2: Arduino nano 19
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 22
3.1.6: Arduino Micro 22
https://lop7.net/
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 23
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 24
3.2.1: Biểu tượng Android phiên bản 5.0 Lollipop 33
3.2.2: Giao diện của phần mềm tạo giao diện trên wed 36
3.2.3: Giao diện viết chương trình trên wed 36
3.3.1: Bluetooth phiên bản 4.0 38
3.3.2: Một số thiết bị sử dụng công nghệ Bluetooth 41
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 44
3.3.5: Cấu tạo của packet 45
3.3.6: Module Bluetooth HC-06 46
3.3.7: Sơ đồ chân HC-06 48
4.1.1: Giao diện điều khiển android trên Smartphone 53
4.1.2: Cho Phép bật Bluetooth trước khi kết nối với Arduino 54
4.1.3: Chế độ điều khiển 1 55
https://lop7.net/
4.1.4: Chế độ điều khiển 2 55
4.1.5: Sơ đồ mạch kết nối Bluetooth với Arduino 60
4.1.6: Sơ đồ mạch động lực 60
4.1.7: Mạch in 62
4.1.8: Mạch sau khi hoàn thành 63
4.1.9: Rơle 63
4.1.10: PC817 64
4.1.11: Transistor A1013 66
4.1.12: Transistor công suất TIP41C 68
https://lop7.net/
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!
Đà nẵng, ngày… tháng… năm 2015
https://lop7.net/
CHƯƠNG 1
GIỚ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 ả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.
https://lop7.net/
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 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).
https://lop7.net/
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
của nó : Robot nối tiếp (series robot) và robot song song (parallel robot).
https://lop7.net/
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.
Hình 1.1.6 : Nguyên Bản của Robot Hexapod TU Munich
https://lop7.net/
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 sản xuất ôtô, sản xuất các loại
vỏ bọc cơ khí…
https://lop7.net/
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 được tự
động hoá bởi các robot được gia công chính xác và mức độ tin cậy cao
https://lop7.net/
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ự,
vệ tinh
https://lop7.net/
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ế.
Động cơ DC.
Phần mền điều khiển Android.
Modul Bluetooth HC – 06.
https://lop7.net/
1.2.3.1Hướ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++.
Hình 1.3.1 : Arduino Mega
https://lop7.net/
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ợ Native-C.
Hình 1.4.1. : Logo Android
https://lop7.net/
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.
Hình 1.5.2 : Bluetooth và kết nối với thiết bị
https://lop7.net/
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.
Hình 2.1.1. Giao diện điều khiển trên smartphone
https://lop7.net/
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).
Hình 2.1.2. Arduino nano
https://lop7.net/
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
− Nhận xét và hướng phát triển đề tài
https://lop7.net/
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.1Khá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 arduino tại trường
Interaction Design Instisture Ivrea (IDII).
3.1.2. Các loại Arduino
https://lop7.net/
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
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
https://lop7.net/
Hình 3.1.9: Arduino Mega Hình 3.1.10: Arduino Ethernet
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
https://lop7.net/
Hình 3.1.15: Arduino Nano Hình 3.1.16: Arduino Pro Mini
3.1.3 Arduino Nano
3.1.3.1. Cấu trúc phần cứng
https://lop7.net/
Hình 3.1.17: Sơ đồ chân Arduino Nano
Vi điều khiển
Atmega328(16 bit) hoặc
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)
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
Bộ nhớ flash
16 KB (Atmega168) hoặc 32 KB
(Atmega328) với 2 KB dùng bởi
bootloader
SRAM
1 KB (Atmega168) hoặc 2 KB
(Atmega328)
EEPROM
512 bytes (Atmega168) hoặc 1 KB
(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.
https://lop7.net/
● 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.
- 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ết chương trình và biên dịch 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.
3.1.3.2.2.Cấu trúc chương trình
- 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
https://lop7.net/
- if
- 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)
- /* */ (multi-line 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)
- <= (bé hơn hoặc bằng)
https://lop7.net/
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 - 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)
https://lop7.net/
- 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ể int, tuy nhiên có điều trên mọi mạch Arduino nó đều
chiếm 4 byte bộ nhớ và biểu thị giá trị trong khoảnf -32,768 đến 32,767 (-215 đến
215-1) (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 float. Nhưng trên mạch Arduino Due thì 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ị về kiểu
char)
- 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ề 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 byte thành 1 giá trị kiểu 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
https://lop7.net/
- 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 là
INPUT). Trả về 2 giá trị HIGH 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 giây) kể từ
lúc mạch Arduino bắt đầu chương trình)
- 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.)
https://lop7.net/
- 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à true nếu giá trị cần kiểm tra không phải là một
biểu thức toán học đúng đắn. Chữ nan có nghĩa là Not-A-Number)
- 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.)
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 byte (gồm 8 bit) ra ngoài từng bit một.)
https://lop7.net/
- 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/LOW) và trả về chu 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.)
- 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)
https://lop7.net/
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.1Lị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, 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, T-Mobile, 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.
https://lop7.net/
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ị 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
https://lop7.net/
- Android 4.1 Jelly Bean : 9/7/2012
- Android 4.2 Jelly Bean : 11/2012
- Android 4.3 Jelly Bean : 24/7/2013
- 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
Hình 3.2.2 :Giao diện của phần mềm tạo giao diện trên wed
https://lop7.net/
Hình 3.2.3 : Giao diện viết chương trình trên wed
https://lop7.net/
Các biểu tượng cơ bản để tạo giao diện
Chức năng
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ự
xuất hiện của nó có thể được thay đổi, cũng như cho dù đó là click (
Bật) , có thể được thay đổi trong thiết kế hoặc trong các khối Editor.
Một hộp cho người sử dụng để nhập văn bản . Các giá trị văn bản
ban đầu hoặc ngườ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ị.
Danh sách này có thể được thiết lập bằng cách sử dụng tài sản
ElementsFromString hoặc sử dụng khối Elements trong trình soạn
thảo các khối .
khi nhấp vào , ra mắt một hộp thoại popup để cho phép người dùng
lựa chọn một ngày
khi nhấp vào, ra mắt một hộp thoại popup để cho phép người dùng
lựa chọn một thời điểm.
Checkbox đó đặt ra một sự kiện khi người dùng nhấp chuột vào nó .
Có rất nhiều tính ảnh hưởng đến sự xuất hiện của nó có thể được đặt
trong các thiết kế hoặc Blocks Editor
Một Label sẽ hiển thị một đoạn văn bản , được xác định thông qua
thuộc tính Text. Các tài sản khác , tất cả đều có thể được thiết lập
trong thiết kế hoặc Blocks Editor, kiểm soát sự xuất hiện và vị trí của
văn bản
khi nhấp vào , hiển thị một danh sách các văn bản cho người sử dụng
để lựa chọn giữa . Các văn bản có thể được xác định thông qua các
thiết kế hoặc Blocks Editor bằng cách thiết lập thuộc tính
ElementsFromString để nối của chuỗi cách nhau hoặc bằng cách
thiết lập thuộc tính yếu tố cho một danh sách trong trình soạn thảo
Blocks.
Một Slider là một thanh tiến trình cho biết thêm rằng một ngón tay
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
lập vị trí thanh trượt ngón tay cái . Khi ngón tay cái trượt được kéo ,
nó sẽ kích hoạt các sự kiện PositionChanged , báo cáo vị trí của ngón
cái trượt . Các vị trí báo cáo của ngón cái trượt có thể được sử dụng
để tự động cập nhật các thành phần khác thuộc tính , chẳng hạn như
kích thước font chữ của một TextBox hoặc 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.
https://lop7.net/
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 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
https://lop7.net/
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ợ.
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
https://lop7.net/
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
- Blutooth 1.0 ( 7/1999 ): là phiên bản đầu tiên được đưa ra thị trường với tốc độ
kết nối ban đầu là 1Mbps. Tuy nhiên, trên thực tế tốc độ kết nối của thế hệ này chưa bao
giờ đạt quá mức 700Kbps
- Bluetooth 1.1 ( 2001 ): Đánh dấu bước phát triển mới của công nghệ Bluetooth
trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sản xuất mới.
- Bluetooth 1.2 ( 11/2003 ): Bắt đầu có nhiều tiến bộ đáng kể. Chuẩn này hoạt
động dựa trên băng tần 2.4GHz và tăng cường kết nối thoại. 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à T-Mobile’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
https://lop7.net/
- 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 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ó được tốt hơn, 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ước. Không những cải thiện tốc độ mà Bluetooth 4.2 còn 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ỗi hơn. Ngoài ra, Bluetooth 4.2 cũng đã đượ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.
https://lop7.net/
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.
https://lop7.net/
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 thiế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 người không hợp lệ
có thể xâm nhập.
- Sử dụng Bluetooth trong chế độ ẩn
– khi kích hoạt Bluetooth hãy đặt nó trong trạng thái “ không thể phát hiện “. Chế
độ ẩn nhằm ngăn chặn các thiết bị khác nhận ra thiết bị của bạn. Điều này không ngăn
cản bạn kết nối đến các thiết bị Bluetooth khác. Thậm chí cả hai 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 cần tìm kiếm lại kết nối nữa cho lần tiếp theo.
- 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
- Đá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.
https://lop7.net/
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:
- Inquiring device (inquiry mode): thiết bị đang phát tín hiệu tìm thiết bị
Bluetooth khác.
- Inquiry scanning device (inquiry scan mode): thiết bị nhận tín hiệu inquiry của
thiết bị đang thực hiện inquiring và trả lời.
- Paging device (page mode): thiết bị phát tín hiệu yêu cầu kết nối với thiết bị đã
inquiry từ trước.
- Page scanning device (page scan mode): thiết bị nhận yêu cầu kết nối từ paging
device và trả lời.
3.3.7 Các chế độ kết nối - Active mode
trong chế độ này, thiết bị Bluetooth tham gia vào hoạt động của mạng. 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.
- Sniff mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng thái
active. Ở Sniff mode, thiết bị slave lắng nghe tín hiệu từ mạng với tần số giảm hay
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.
- Hold mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng 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.
- Park mode: là chế độ tiết kiệm năng lượng của thiết bị vẫn còn trong 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
https://lop7.net/
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 Spectrum-FHSS), 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
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. Ở một vài nước, chẳng hạn
https://lop7.net/
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, 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 :
https://lop7.net/
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
Correction ) để có được 54 bits
PayLoad : phần chứa dữ liệu truyền đi, có thể thay đổi từ 0 tới
2744bit/packet. Payload có thể là dữ liệu data hoặc voice.
https://lop7.net/
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 HC-06
Module Bluetooth HC-06 đượ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
- 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”
https://lop7.net/
- 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
- Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT
để giao tiếp với module Gaio tiếp với module bằng giao tiếp nối tiếp không đồng bộ qua
hai đường RX và TX Bằng cách thay đổ trạng thái chân KEY chúng ta có thể cấu hình
chế độ hoạt động cho Module
- Để module làm việc ở chế độ tự động kết nối: KEY phải ở trạng thái Floating (
trạng thái không kết nối )
- Để module làm việc ở chế độ đáp ứng theo lệnh : KEY=’0’, cấp nguồn cho
module, chuyển KEY = ‘1’, lúc này có thể giao tiếp với modul bằng tập lệnh AT Ở chế
độ SLAVE: chúng ta cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để dò tìm
module và ghép nối với pincode mặc định ”1234”
Module tương thích với các vi diều khiển 5V mà không cần chuyển đổ mứ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
Module Bluetooth HC-06 được thiết kế để chuyển đổi giao tiếp nối tiếp không
đồng bộ và thành giao tiếp không dây Bluetooth và ngược lại
Hình 3.3.7: Sơ đồ chân HC - 06
Tên Chân STT Loại Chân Mô Tả Chân
https://lop7.net/
Chân
GND
13,
21,22
VSS Chân nối đất
3.3v VCC 12 Chân 3,3v Chân nguồn
AIO0 9 2 Hướng Lập trình I/O
AIO1 10 2 Hướng Lập trình I/O
PIO0 23 2 Hướng RX EN
Lập trình I/O, điều
khiển output cho
LNA nếu được trang
bị.
PIO1 24 2 Hướng RT EN
Lập trình I/O, điều
khiển LA nếu được
trang bị.
PIO2 25 2 Hướng Lập trình I/O
PIO3 26 2 Hướng Lập trình I/O
PIO4 27 2 Hướng Lập trình I/O
PIO5 28 2 Hướng Lập trình I/O
PIO6 29 2 Hướng Lập trình I/O
PIO7 30 2 Hướng Lập trình I/O
PIO8 31 2 Hướng Lập trình I/O
PIO9 32 2 Hướng Lập trình I/O
PIO10 33 2 Hướng Lập trình I/O
PIO11 34 2 Hướng Lập trình I/O
ResetB 11
Cmos input with weak
internal pull-up
Reset nếu LOW
UART_RST 4
Cmos output, tri-stable with
weak internal pullup.
UART yêu cầu khi
gửi, hoạt động LOW.
UART_CTS 3
Cmos input with weak
internal pull-down.
UART xóa khi gửi,
hoạt động LOW.
https://lop7.net/
UART_RX 2
Cmos input with weak
internal pull-down
Dữ liệu vào UART
UART_TX 1
Cmos output, tri-stable with
weak internal pullup.
Dữ liệu ra UART
SPI_MOSI 17
Cmos input with weak
internal pull-down
Serial peripheral
interface data input
SPI_CSB 16
Cmos input with weak
internal pull-up.
Chip select for serial
peripheral interface,
active low.
SPI_CLK 19
Cmos input with weak
internal pull-down.
Serial peripheral
interface clock.
SPI_MISO 18
Cmos input with weak
internal pull-down.
Serial peripheral
interface data output
USB - 15 2 Hướng
USB + 20 2 Hướng
NC 14 2 Hướng
PCM_CLK 5 2 Hướng
Synchronous PCM
data clock
PCM_OUT 6 Cmos output
Synchronous PCM
data output
PCM_IN 7 Cmos input
Synchronous PCM
data input
PCM_SYNC 8 2 Hướng
Synchronous PCM
data strobe
https://lop7.net/
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: <Param>
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:<Param> OK
Bluetooth
address
Địa chỉ
Bluetooth
AT+NAME=<param> OK
Đặt tên cho
module
AT+NAME?
1. +NAME:<Param >
OK---success
2. FAIL---failure
Bluetooth
device name
Tên thiết bị
(mặc định:HC-
06)
AT+RNAME?<param
1>
1. +NAME:<Param 2>
OK---success 2. FAIL-
--failur
Tên thiết bị
Bluetooth
Đô trên modul
AT+ROLE? +ROLE:<Param> OK
0---Slave role
1---Master
role 2---
Slaver-Loop
role
Truy vấn chức
năng modul
Mặc định :0
AT+PSWD=<param> OK Pincode
Đặt mã Pin
Mặc
định:”1234”
AT+PSWD? +PSWD:<Param> Pincode
Truy vấn mã
PIN
AT+UART=<Param>
,
<Param2>,<Param3>
OK
Param1: Baud
rate Param2:
stop bit
Param: parity
bit
Cấu hình cho
cổg UART
AT+UART?
UART=<Param>,<Par
a m2>,<Param3> OK
Param1: Baud
rate Param2:
stop bit
Param: parity
bit
Truy vấn thông
tin cổg UART
https://lop7.net/
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
Hình 4.1.1 : Giao diện điều khiển Android trên Smartphone
https://lop7.net/
Hình 4.1.2: Cho Phép bật Bluetooth trước khi kết nối với Arduino
https://lop7.net/
Hình 4.1.3: Chế độ điều khiển 1
Hình 4.1.4: Chế độ điều khiển 2
https://lop7.net/
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.
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
Khi nhấn nút ngắt kết nối. ứng dụng sẽ disconnect với thiết bị để kết nối với thiết
bị khác hoặc ngừng hoạt động
Khi nhấn nút close, phần mềm sẽ ngắt kết nối thiết bị và thoát khỏi ứng dụng đưa
ra màn hình chính.
https://lop7.net/
Ứ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 độ nghiêng, ẩn phần khung
hình cảm biến… Nếu ta nhấn nút tự động, khung điều 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
Nếu click vào nút lên và Bluetooth hoạt động thì truyền thong chữ F và HC-06 sẽ
nhận. tương tự nhấn nút xuống thì sẽ truyền chữ B, nút trái sẽ truyền chữ L và nút phải sẽ
truyền chữ R. bên Điện thoại sẽ truyền ra ký tự. còn lại 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 cho xe, và
bên cảm biến cũng có 1 nút dừng. Arduino nhận được chữ S thì sẽ cho dừng động cơ
https://lop7.net/
Nhóm có phát triển thêm cho để tài cánh tay robot. điều khiển động cơ servo…
nếu nhấn thanh trượt servo thì sẽ truyền xuống ARN chữ H là bắt đầu 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
Tương tự phần điều khiển tốc độ và gá biến cho động cơ
https://lop7.net/
Cảm biến gia tốc accenmecto cái này cảm biến độ nghiêng tương ứng trên điện
thoại và sẽ truyền ký 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 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
https://lop7.net/
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 cơ chạy ngược.
4.1.4 Mạch Tổng
https://lop7.net/
https://lop7.net/
Hình 4.1.7 : Mạch in
Hình 4.1.8: Mạch sau khi hoàn thành
https://lop7.net/
4.1.5 Chức Năng Linh Kiện Trong Mạch
- Rơle
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 3-4 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
https://lop7.net/
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 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: Emitter-Phát
Chân 4: Collector -Thu
- Transitor
Có 2 điểm tiếp giáp P-N
Tranzitor thuận P-N-P
thuận ngược
J1 tiếp giáp phát (luôn được phân cực thuận)
J2 tiếp giáp góp, luôn được phân cực ngược.
https://lop7.net/
Xung âm (mở) Xung dương (mở)
Hình 4.1.11: Transistor A1013
https://lop7.net/
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 P-N để 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.
Điều kiện mở Transistor công suất UCE ≥ 0,UBE ≥0, IB ≥ IBS-Ic/β ( β là hệ số khuyếch đại
dòng)
https://lop7.net/
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 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 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 cấp điện nhưng vẫn không có dòng điện chạy qua mối C E
( lúc này dòng IC = 0 )
https://lop7.net/
Khi công tắc đóng, mối P-N được phân cực thuận do đó có 1 dòng điện chạy từ
(+) nguồn UBE qua công tắc => qua R hạn dòng => qua mối BE về cực (-) 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 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 hoàn toàn phụ thuộc vào dòng IB và phụ thuộc theo 1 công thức .
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 <Servo.h>//thư viện động cơ servo
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()
{
SV1.attach(11); //chan su dung bam xung cho servo la chan 11
pinMode(role1, OUTPUT);//thiet lap chan ra
https://lop7.net/
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()
{
if(Serial.available() > 0){
state = Serial.read();
switch (state) {
https://lop7.net/
case 'M'://neu nhan thanh truot toc do
toc_do = Serial.parseInt(); //bien toc do = gia tri thanh truot goi ve hc-06
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);
break;
case'B'://chay lui- 4 típ dẫn- 4 rơle dẫn đảo chiều
digitalWrite(role1, LOW);
digitalWrite(role2, LOW);
https://lop7.net/
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;
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);
https://lop7.net/
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;
}
}
}
https://lop7.net/
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 “ Xe Điều Khiển Từ Xa Thông Qua SmartPhone” , là một đề tài có tính 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:
- Xe thiết kế khá đơn giản, chưa nhiều tính năng
https://lop7.net/
5.2 Hướng phát triển đề tài
Đề tài đã đạt được một số kết quả nhất định, song để đáp ứng cho một bài toán 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
- Phản hồi được các sự cố về ứng dụng android
https://lop7.net/
Tài Liệu Tham Khảo
http://www.alldatasheet.com/
https://vi.wikipedia.org
……………………………………

Contenu connexe

Tendances

Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidĐồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidlaonap166
 
Xây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyếnXây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyếntrương dũng
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnhTùng Trần
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
250 bai tap_kt_dien_tu_0295
250 bai tap_kt_dien_tu_0295250 bai tap_kt_dien_tu_0295
250 bai tap_kt_dien_tu_0295Con Khủng Long
 
Công thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiềuCông thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiềuMan_Ebook
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logicwww. mientayvn.com
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử líHong Phuoc Nguyen
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Sốviethung094
 
Multimedia
MultimediaMultimedia
Multimediaktvinh
 
File báo cáo đồ án smarthome
File báo cáo đồ án smarthomeFile báo cáo đồ án smarthome
File báo cáo đồ án smarthomeKim Long
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logicAnh Ngoc Phan
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...The Boss
 

Tendances (20)

Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền androidĐồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
Đồ án tốt nghiệp Xây dựng ứng dụng fastfood trên nền android
 
Xây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyếnXây dựng website tìm kiếm phòng trọ trực tuyến
Xây dựng website tìm kiếm phòng trọ trực tuyến
 
Giáo trình xử lý ảnh
Giáo trình xử lý ảnhGiáo trình xử lý ảnh
Giáo trình xử lý ảnh
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
ĐỒ ÁN: Thiết kế mạch đếm sản phẩm dùng cảm biến hồng ngoại!
 
Thiết kế mạng cảm biến không dây cho giám sát sức khỏe, HAY
Thiết kế mạng cảm biến không dây cho giám sát sức khỏe, HAYThiết kế mạng cảm biến không dây cho giám sát sức khỏe, HAY
Thiết kế mạng cảm biến không dây cho giám sát sức khỏe, HAY
 
250 bai tap_kt_dien_tu_0295
250 bai tap_kt_dien_tu_0295250 bai tap_kt_dien_tu_0295
250 bai tap_kt_dien_tu_0295
 
Công thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiềuCông thức Máy điện 1 - Chương 3 - Máy điện một chiều
Công thức Máy điện 1 - Chương 3 - Máy điện một chiều
 
Truyền số liệu và mạng máy tính
Truyền số liệu và mạng máy tínhTruyền số liệu và mạng máy tính
Truyền số liệu và mạng máy tính
 
Đại số boolean và mạch logic
Đại số boolean và mạch logicĐại số boolean và mạch logic
Đại số boolean và mạch logic
 
Đề tài: Xe tự hành tránh vật cản, HAY
Đề tài: Xe tự hành tránh vật cản, HAYĐề tài: Xe tự hành tránh vật cản, HAY
Đề tài: Xe tự hành tránh vật cản, HAY
 
[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí[Cntt] bài giảng kĩ thuật vi xử lí
[Cntt] bài giảng kĩ thuật vi xử lí
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
 
Multimedia
MultimediaMultimedia
Multimedia
 
File báo cáo đồ án smarthome
File báo cáo đồ án smarthomeFile báo cáo đồ án smarthome
File báo cáo đồ án smarthome
 
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PIDĐề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
Đề tài: Hệ thống điều khiển tốc độ động cơ DC sử dụng bộ PID
 
Đề tài: Điều khiển thiết bị bằng giọng nói qua Google Asstiant, 9đ
Đề tài: Điều khiển thiết bị bằng giọng nói qua Google Asstiant, 9đĐề tài: Điều khiển thiết bị bằng giọng nói qua Google Asstiant, 9đ
Đề tài: Điều khiển thiết bị bằng giọng nói qua Google Asstiant, 9đ
 
Chuong 04 mach logic
Chuong 04 mach logicChuong 04 mach logic
Chuong 04 mach logic
 
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩmĐề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
Đề tài: Ứng dụng xử lý ảnh trong hệ thống phân loại sản phẩm
 
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
Báo cáo đồ án tốt nghiệp "Ứng dụng trí tuệ nhân tạo nhận dạng chữ viết tay xâ...
 

Similaire à Thiết kế và thi công mạch xe điều khiển từ xa thông qua Smartphone

Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601
Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601
Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601jackjohn45
 
Bài giảng Rôbôt công nghiệp.pdf
Bài giảng Rôbôt công nghiệp.pdfBài giảng Rôbôt công nghiệp.pdf
Bài giảng Rôbôt công nghiệp.pdfMan_Ebook
 
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Chu Quang Thảo
 
Robot download com_vn_split_1_0563
Robot download com_vn_split_1_0563Robot download com_vn_split_1_0563
Robot download com_vn_split_1_0563trangvinatex
 
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Man_Ebook
 
352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdf352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdfKhiVu2
 
352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdf352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdfKhiVu2
 
Slide bài giảng số 1.pdf
Slide bài giảng số 1.pdfSlide bài giảng số 1.pdf
Slide bài giảng số 1.pdfNguynTngLinh2
 
00 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_3002
00 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_300200 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_3002
00 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_3002Dat Than
 
Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...
Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...
Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...mokoboo56
 
Thiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdf
Thiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdfThiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdf
Thiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdfMan_Ebook
 

Similaire à Thiết kế và thi công mạch xe điều khiển từ xa thông qua Smartphone (20)

Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601
Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601
Nghiên cứu điều khiển mờ cho chuyển động của robot hai bậc tự do 4150601
 
NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP - TẢI FREE ZALO: 0934 573 149
NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP  - TẢI FREE ZALO: 0934 573 149NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP  - TẢI FREE ZALO: 0934 573 149
NGHIÊN CỨU, THIẾT KẾ, MÔ PHỎNG ROBOT CÔNG NGHIỆP - TẢI FREE ZALO: 0934 573 149
 
Đề tài: Bộ điều khiển trượt cho tay máy Robot 2 bậc tự do, HAY
Đề tài: Bộ điều khiển trượt cho tay máy Robot 2 bậc tự do, HAYĐề tài: Bộ điều khiển trượt cho tay máy Robot 2 bậc tự do, HAY
Đề tài: Bộ điều khiển trượt cho tay máy Robot 2 bậc tự do, HAY
 
Bài giảng Rôbôt công nghiệp.pdf
Bài giảng Rôbôt công nghiệp.pdfBài giảng Rôbôt công nghiệp.pdf
Bài giảng Rôbôt công nghiệp.pdf
 
Luận văn: Bộ điều khiển lai mờ Nơron cho cánh tay robot hai thanh
Luận văn: Bộ điều khiển lai mờ Nơron cho cánh tay robot hai thanhLuận văn: Bộ điều khiển lai mờ Nơron cho cánh tay robot hai thanh
Luận văn: Bộ điều khiển lai mờ Nơron cho cánh tay robot hai thanh
 
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
Robot bám đường ứng dụng thuật toán PID - Line follow robot with PID . Chu Qu...
 
Robot download com_vn_split_1_0563
Robot download com_vn_split_1_0563Robot download com_vn_split_1_0563
Robot download com_vn_split_1_0563
 
LẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.doc
LẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.docLẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.doc
LẬP TRÌNH CHO XE BỐN BÁNH ĐIỀU KHIỂN BẰNG BLUETOOTH.doc
 
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
Thiết kế và chế tạo cánh tay robot 3 bậc tự do ứng dụng trong phân loại sản p...
 
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAYĐề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
Đề tài: Chế tạo và điều khiển cánh tay robot 3 bậc tự do, HAY
 
352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdf352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản (1).pdf
 
352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdf352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdf
352763585-Đồ-An-Xe-Tranh-Vật-Cản.pdf
 
Slide bài giảng số 1.pdf
Slide bài giảng số 1.pdfSlide bài giảng số 1.pdf
Slide bài giảng số 1.pdf
 
00 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_3002
00 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_300200 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_3002
00 su dung_plc_dieu_khien_he_thong_truyen_dong_trong_robot_cong_nghiep_3002
 
Btl cơ điện tử 1
Btl cơ điện tử 1 Btl cơ điện tử 1
Btl cơ điện tử 1
 
Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...
Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...
Đồ Án Tốt Nghiệp Về Thiết Kế, Chế Tạo Và Điều Khiển Cánh Tay Robot 3 Bậc Tự D...
 
Chương 1 tq kt robot new
Chương 1 tq kt robot newChương 1 tq kt robot new
Chương 1 tq kt robot new
 
Luận văn thạc sĩ - Hệ nơron mờ và ứng dụng cho robot 5 bậc tự do.doc
Luận văn thạc sĩ - Hệ nơron mờ và ứng dụng cho robot 5 bậc tự do.docLuận văn thạc sĩ - Hệ nơron mờ và ứng dụng cho robot 5 bậc tự do.doc
Luận văn thạc sĩ - Hệ nơron mờ và ứng dụng cho robot 5 bậc tự do.doc
 
Thiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdf
Thiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdfThiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdf
Thiết kế và chế tạo mô hình phân loại sản phẩm sử dụng cánh tay robot.pdf
 
Bai giang ROBOT cong nghiep
Bai giang ROBOT cong nghiepBai giang ROBOT cong nghiep
Bai giang ROBOT cong nghiep
 

Plus de Howard Brakus

Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...
Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...
Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...Howard Brakus
 
Bài tập lớn môn Hệ thống quản lý vật tư - Mai Long Nhật
Bài tập lớn môn Hệ thống quản lý vật tư - Mai Long NhậtBài tập lớn môn Hệ thống quản lý vật tư - Mai Long Nhật
Bài tập lớn môn Hệ thống quản lý vật tư - Mai Long NhậtHoward Brakus
 
Đề tài Phần mềm quản lý kho sách
Đề tài Phần mềm quản lý kho sáchĐề tài Phần mềm quản lý kho sách
Đề tài Phần mềm quản lý kho sáchHoward Brakus
 
Báo cáo thực tập Lập trình game trên Unity
Báo cáo thực tập Lập trình game trên UnityBáo cáo thực tập Lập trình game trên Unity
Báo cáo thực tập Lập trình game trên UnityHoward Brakus
 
Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...
Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...
Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...Howard Brakus
 
Đề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tức
Đề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tứcĐề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tức
Đề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tứcHoward Brakus
 
Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...
Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...
Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...Howard Brakus
 
Hướng dẫn cài đặt phần mềm PRTG Network Monitor
Hướng dẫn cài đặt phần mềm PRTG Network MonitorHướng dẫn cài đặt phần mềm PRTG Network Monitor
Hướng dẫn cài đặt phần mềm PRTG Network MonitorHoward Brakus
 
Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...
Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...
Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...Howard Brakus
 

Plus de Howard Brakus (9)

Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...
Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...
Phân tích và thiết kế hệ thống quản lý chẩn đoán và xét nghiệm Covid19 tại Bệ...
 
Bài tập lớn môn Hệ thống quản lý vật tư - Mai Long Nhật
Bài tập lớn môn Hệ thống quản lý vật tư - Mai Long NhậtBài tập lớn môn Hệ thống quản lý vật tư - Mai Long Nhật
Bài tập lớn môn Hệ thống quản lý vật tư - Mai Long Nhật
 
Đề tài Phần mềm quản lý kho sách
Đề tài Phần mềm quản lý kho sáchĐề tài Phần mềm quản lý kho sách
Đề tài Phần mềm quản lý kho sách
 
Báo cáo thực tập Lập trình game trên Unity
Báo cáo thực tập Lập trình game trên UnityBáo cáo thực tập Lập trình game trên Unity
Báo cáo thực tập Lập trình game trên Unity
 
Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...
Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...
Nghiên cứu ứng dụng phần mềm thiết kế 3D mã nguồn mở FreeCAD trong quá trình ...
 
Đề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tức
Đề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tứcĐề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tức
Đề tài Tìm hiểu HTML5, CSS3, thiết kết website tin tức
 
Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...
Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...
Thiết kế ứng dụng quản lí vận chuyển hàng hóa cho Công Ty TNHH Phần Mềm BSM t...
 
Hướng dẫn cài đặt phần mềm PRTG Network Monitor
Hướng dẫn cài đặt phần mềm PRTG Network MonitorHướng dẫn cài đặt phần mềm PRTG Network Monitor
Hướng dẫn cài đặt phần mềm PRTG Network Monitor
 
Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...
Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...
Đề tài Phát triển Plug-in trong wordpress cho phép chia sẻ bài viết trên mạng...
 

Dernier

kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhdtlnnm
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...Nguyen Thanh Tu Collection
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...Nguyen Thanh Tu Collection
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................TrnHoa46
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxhoangvubaongoc112011
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanmyvh40253
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngYhoccongdong.com
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...Nguyen Thanh Tu Collection
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh chonamc250
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdfTrnHoa46
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docxTHAO316680
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfTrnHoa46
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...Nguyen Thanh Tu Collection
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgsNmmeomeo
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...Nguyen Thanh Tu Collection
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...Nguyen Thanh Tu Collection
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIĐiện Lạnh Bách Khoa Hà Nội
 

Dernier (20)

kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhhkinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
kinh tế chính trị mác lênin chương hai và hàng hoá và sxxhh
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 7 GLOBAL SUCCESS (2 CỘ...
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI KỸ NĂNG VIẾT ĐOẠN VĂN NGHỊ LUẬN XÃ HỘI 200 C...
 
Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................Đề cương môn giải phẫu......................
Đề cương môn giải phẫu......................
 
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
3-BẢNG MÃ LỖI CỦA CÁC HÃNG ĐIỀU HÒA .pdf - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptxNhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
Nhiễm khuẩn tiêu hóa-Tiêu chảy do vi khuẩn.pptx
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quanGNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
GNHH và KBHQ - giao nhận hàng hoá và khai báo hải quan
 
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng ĐồngGiới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
Giới thiệu Dự án Sản Phụ Khoa - Y Học Cộng Đồng
 
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
SÁNG KIẾN ÁP DỤNG CLT (COMMUNICATIVE LANGUAGE TEACHING) VÀO QUÁ TRÌNH DẠY - H...
 
CD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh choCD21 Exercise 2.1 KEY.docx tieng anh cho
CD21 Exercise 2.1 KEY.docx tieng anh cho
 
sách sinh học đại cương - Textbook.pdf
sách sinh học đại cương   -   Textbook.pdfsách sinh học đại cương   -   Textbook.pdf
sách sinh học đại cương - Textbook.pdf
 
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
1.DOANNGOCPHUONGTHAO-APDUNGSTEMTHIETKEBTHHHGIUPHSHOCHIEUQUA (1).docx
 
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdfCampbell _2011_ - Sinh học - Tế bào - Ref.pdf
Campbell _2011_ - Sinh học - Tế bào - Ref.pdf
 
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
 
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgspowerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
powerpoint mẫu họp phụ huynh cuối kì 2 học sinh lớp 7 bgs
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
ĐỀ CHÍNH THỨC KỲ THI TUYỂN SINH VÀO LỚP 10 THPT CÁC TỈNH THÀNH NĂM HỌC 2020 –...
 
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
1 - MÃ LỖI SỬA CHỮA BOARD MẠCH BẾP TỪ.pdf
 
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘIGIÁO TRÌNH  KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
GIÁO TRÌNH KHỐI NGUỒN CÁC LOẠI - ĐIỆN LẠNH BÁCH KHOA HÀ NỘI
 

Thiết kế và thi công mạch xe điều khiển từ xa thông qua Smartphone

  • 1. https://lop7.net/ MỤC LỤC LỜI NÓI ĐẦU 6 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 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.2. Các loại Arduino 3.1.3 Arduino Nano 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
  • 2. https://lop7.net/ 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 5.2 Hướng phát triển
  • 3. https://lop7.net/ PHỤ LỤC HÌNH VẼ 1.1.1: Robot Shakey 7 1.1.2: Robot hàn điểm 8 1.1.3: Robot phẫu thuật 8 1.1.4: Mobile Robot kỹ thuật sử lý hình ảnh 9 1.1.5: Robot song song 6 bậc tự do Merlet 10 1.1.6: Nguyên Bản của Robot Hexapod TU Munich 10 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 11 1.1.9: Robot được sử dụng trong công đoạn cấp vật liệu và lắp ráp 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 13 1.3.1: Arduino Mega 15 1.4.1: Logo Android 16 1.5.1: Logo Bluetooth 17 1.5.2: Bluetooth và kết nối với thiết bị 17 2.1.1: Giao diện điều khiển trên smartphone 18 2.1.2: Arduino nano 19 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 22 3.1.6: Arduino Micro 22
  • 4. https://lop7.net/ 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 23 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 24 3.2.1: Biểu tượng Android phiên bản 5.0 Lollipop 33 3.2.2: Giao diện của phần mềm tạo giao diện trên wed 36 3.2.3: Giao diện viết chương trình trên wed 36 3.3.1: Bluetooth phiên bản 4.0 38 3.3.2: Một số thiết bị sử dụng công nghệ Bluetooth 41 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 44 3.3.5: Cấu tạo của packet 45 3.3.6: Module Bluetooth HC-06 46 3.3.7: Sơ đồ chân HC-06 48 4.1.1: Giao diện điều khiển android trên Smartphone 53 4.1.2: Cho Phép bật Bluetooth trước khi kết nối với Arduino 54 4.1.3: Chế độ điều khiển 1 55
  • 5. https://lop7.net/ 4.1.4: Chế độ điều khiển 2 55 4.1.5: Sơ đồ mạch kết nối Bluetooth với Arduino 60 4.1.6: Sơ đồ mạch động lực 60 4.1.7: Mạch in 62 4.1.8: Mạch sau khi hoàn thành 63 4.1.9: Rơle 63 4.1.10: PC817 64 4.1.11: Transistor A1013 66 4.1.12: Transistor công suất TIP41C 68
  • 6. https://lop7.net/ 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! Đà nẵng, ngày… tháng… năm 2015
  • 7. https://lop7.net/ CHƯƠNG 1 GIỚ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 ả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.
  • 8. https://lop7.net/ 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 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).
  • 9. https://lop7.net/ 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 của nó : Robot nối tiếp (series robot) và robot song song (parallel robot).
  • 10. https://lop7.net/ 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. Hình 1.1.6 : Nguyên Bản của Robot Hexapod TU Munich
  • 11. https://lop7.net/ 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 sản xuất ôtô, sản xuất các loại vỏ bọc cơ khí…
  • 12. https://lop7.net/ 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 được tự động hoá bởi các robot được gia công chính xác và mức độ tin cậy cao
  • 13. https://lop7.net/ 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ự, vệ tinh
  • 14. https://lop7.net/ 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ế. Động cơ DC. Phần mền điều khiển Android. Modul Bluetooth HC – 06.
  • 15. https://lop7.net/ 1.2.3.1Hướ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++. Hình 1.3.1 : Arduino Mega
  • 16. https://lop7.net/ 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ợ Native-C. Hình 1.4.1. : Logo Android
  • 17. https://lop7.net/ 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. Hình 1.5.2 : Bluetooth và kết nối với thiết bị
  • 18. https://lop7.net/ 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. Hình 2.1.1. Giao diện điều khiển trên smartphone
  • 19. https://lop7.net/ 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). Hình 2.1.2. Arduino nano
  • 20. https://lop7.net/ 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 − Nhận xét và hướng phát triển đề tài
  • 21. https://lop7.net/ 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.1Khá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 arduino tại trường Interaction Design Instisture Ivrea (IDII). 3.1.2. Các loại Arduino
  • 22. https://lop7.net/ 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 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
  • 23. https://lop7.net/ Hình 3.1.9: Arduino Mega Hình 3.1.10: Arduino Ethernet 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
  • 24. https://lop7.net/ Hình 3.1.15: Arduino Nano Hình 3.1.16: Arduino Pro Mini 3.1.3 Arduino Nano 3.1.3.1. Cấu trúc phần cứng
  • 25. https://lop7.net/ Hình 3.1.17: Sơ đồ chân Arduino Nano Vi điều khiển Atmega328(16 bit) hoặc 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) 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 Bộ nhớ flash 16 KB (Atmega168) hoặc 32 KB (Atmega328) với 2 KB dùng bởi bootloader SRAM 1 KB (Atmega168) hoặc 2 KB (Atmega328) EEPROM 512 bytes (Atmega168) hoặc 1 KB (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.
  • 26. https://lop7.net/ ● 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. - 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ết chương trình và biên dịch 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. 3.1.3.2.2.Cấu trúc chương trình - 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
  • 27. https://lop7.net/ - if - 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) - /* */ (multi-line 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) - <= (bé hơn hoặc bằng)
  • 28. https://lop7.net/ 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 - 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)
  • 29. https://lop7.net/ - 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ể int, tuy nhiên có điều trên mọi mạch Arduino nó đều chiếm 4 byte bộ nhớ và biểu thị giá trị trong khoảnf -32,768 đến 32,767 (-215 đến 215-1) (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 float. Nhưng trên mạch Arduino Due thì 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ị về kiểu char) - 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ề 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 byte thành 1 giá trị kiểu 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
  • 30. https://lop7.net/ - 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 là INPUT). Trả về 2 giá trị HIGH 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 giây) kể từ lúc mạch Arduino bắt đầu chương trình) - 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.)
  • 31. https://lop7.net/ - 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à true nếu giá trị cần kiểm tra không phải là một biểu thức toán học đúng đắn. Chữ nan có nghĩa là Not-A-Number) - 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.) 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 byte (gồm 8 bit) ra ngoài từng bit một.)
  • 32. https://lop7.net/ - 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/LOW) và trả về chu 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.) - 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)
  • 33. https://lop7.net/ 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.1Lị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, 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, T-Mobile, 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.
  • 34. https://lop7.net/ 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ị 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
  • 35. https://lop7.net/ - Android 4.1 Jelly Bean : 9/7/2012 - Android 4.2 Jelly Bean : 11/2012 - Android 4.3 Jelly Bean : 24/7/2013 - 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 Hình 3.2.2 :Giao diện của phần mềm tạo giao diện trên wed
  • 36. https://lop7.net/ Hình 3.2.3 : Giao diện viết chương trình trên wed
  • 37. https://lop7.net/ Các biểu tượng cơ bản để tạo giao diện Chức năng 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ự xuất hiện của nó có thể được thay đổi, cũng như cho dù đó là click ( Bật) , có thể được thay đổi trong thiết kế hoặc trong các khối Editor. Một hộp cho người sử dụng để nhập văn bản . Các giá trị văn bản ban đầu hoặc ngườ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ị. Danh sách này có thể được thiết lập bằng cách sử dụng tài sản ElementsFromString hoặc sử dụng khối Elements trong trình soạn thảo các khối . khi nhấp vào , ra mắt một hộp thoại popup để cho phép người dùng lựa chọn một ngày khi nhấp vào, ra mắt một hộp thoại popup để cho phép người dùng lựa chọn một thời điểm. Checkbox đó đặt ra một sự kiện khi người dùng nhấp chuột vào nó . Có rất nhiều tính ảnh hưởng đến sự xuất hiện của nó có thể được đặt trong các thiết kế hoặc Blocks Editor Một Label sẽ hiển thị một đoạn văn bản , được xác định thông qua thuộc tính Text. Các tài sản khác , tất cả đều có thể được thiết lập trong thiết kế hoặc Blocks Editor, kiểm soát sự xuất hiện và vị trí của văn bản khi nhấp vào , hiển thị một danh sách các văn bản cho người sử dụng để lựa chọn giữa . Các văn bản có thể được xác định thông qua các thiết kế hoặc Blocks Editor bằng cách thiết lập thuộc tính ElementsFromString để nối của chuỗi cách nhau hoặc bằng cách thiết lập thuộc tính yếu tố cho một danh sách trong trình soạn thảo Blocks. Một Slider là một thanh tiến trình cho biết thêm rằng một ngón tay 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 lập vị trí thanh trượt ngón tay cái . Khi ngón tay cái trượt được kéo , nó sẽ kích hoạt các sự kiện PositionChanged , báo cáo vị trí của ngón cái trượt . Các vị trí báo cáo của ngón cái trượt có thể được sử dụng để tự động cập nhật các thành phần khác thuộc tính , chẳng hạn như kích thước font chữ của một TextBox hoặc 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.
  • 38. https://lop7.net/ 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 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
  • 39. https://lop7.net/ 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ợ. 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
  • 40. https://lop7.net/ 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 - Blutooth 1.0 ( 7/1999 ): là phiên bản đầu tiên được đưa ra thị trường với tốc độ kết nối ban đầu là 1Mbps. Tuy nhiên, trên thực tế tốc độ kết nối của thế hệ này chưa bao giờ đạt quá mức 700Kbps - Bluetooth 1.1 ( 2001 ): Đánh dấu bước phát triển mới của công nghệ Bluetooth trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sản xuất mới. - Bluetooth 1.2 ( 11/2003 ): Bắt đầu có nhiều tiến bộ đáng kể. Chuẩn này hoạt động dựa trên băng tần 2.4GHz và tăng cường kết nối thoại. 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à T-Mobile’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
  • 41. https://lop7.net/ - 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 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ó được tốt hơn, 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ước. Không những cải thiện tốc độ mà Bluetooth 4.2 còn 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ỗi hơn. Ngoài ra, Bluetooth 4.2 cũng đã đượ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.
  • 42. https://lop7.net/ 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.
  • 43. https://lop7.net/ 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 thiế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 người không hợp lệ có thể xâm nhập. - Sử dụng Bluetooth trong chế độ ẩn – khi kích hoạt Bluetooth hãy đặt nó trong trạng thái “ không thể phát hiện “. Chế độ ẩn nhằm ngăn chặn các thiết bị khác nhận ra thiết bị của bạn. Điều này không ngăn cản bạn kết nối đến các thiết bị Bluetooth khác. Thậm chí cả hai 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 cần tìm kiếm lại kết nối nữa cho lần tiếp theo. - 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 - Đá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.
  • 44. https://lop7.net/ 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: - Inquiring device (inquiry mode): thiết bị đang phát tín hiệu tìm thiết bị Bluetooth khác. - Inquiry scanning device (inquiry scan mode): thiết bị nhận tín hiệu inquiry của thiết bị đang thực hiện inquiring và trả lời. - Paging device (page mode): thiết bị phát tín hiệu yêu cầu kết nối với thiết bị đã inquiry từ trước. - Page scanning device (page scan mode): thiết bị nhận yêu cầu kết nối từ paging device và trả lời. 3.3.7 Các chế độ kết nối - Active mode trong chế độ này, thiết bị Bluetooth tham gia vào hoạt động của mạng. 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. - Sniff mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng thái active. Ở Sniff mode, thiết bị slave lắng nghe tín hiệu từ mạng với tần số giảm hay 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. - Hold mode: là 1 chế độ tiết kiệm năng lượng của thiết bị đang ở trạng 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. - Park mode: là chế độ tiết kiệm năng lượng của thiết bị vẫn còn trong 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
  • 45. https://lop7.net/ 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 Spectrum-FHSS), 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 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. Ở một vài nước, chẳng hạn
  • 46. https://lop7.net/ 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, 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 :
  • 47. https://lop7.net/ 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 Correction ) để có được 54 bits PayLoad : phần chứa dữ liệu truyền đi, có thể thay đổi từ 0 tới 2744bit/packet. Payload có thể là dữ liệu data hoặc voice.
  • 48. https://lop7.net/ 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 HC-06 Module Bluetooth HC-06 đượ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 - 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”
  • 49. https://lop7.net/ - 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 - Đáp ứng theo lệnh: khi làm việc ở chế độ này, chúng ta có thể gửi các lệnh AT để giao tiếp với module Gaio tiếp với module bằng giao tiếp nối tiếp không đồng bộ qua hai đường RX và TX Bằng cách thay đổ trạng thái chân KEY chúng ta có thể cấu hình chế độ hoạt động cho Module - Để module làm việc ở chế độ tự động kết nối: KEY phải ở trạng thái Floating ( trạng thái không kết nối ) - Để module làm việc ở chế độ đáp ứng theo lệnh : KEY=’0’, cấp nguồn cho module, chuyển KEY = ‘1’, lúc này có thể giao tiếp với modul bằng tập lệnh AT Ở chế độ SLAVE: chúng ta cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để dò tìm module và ghép nối với pincode mặc định ”1234” Module tương thích với các vi diều khiển 5V mà không cần chuyển đổ mứ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 Module Bluetooth HC-06 được thiết kế để chuyển đổi giao tiếp nối tiếp không đồng bộ và thành giao tiếp không dây Bluetooth và ngược lại Hình 3.3.7: Sơ đồ chân HC - 06 Tên Chân STT Loại Chân Mô Tả Chân
  • 50. https://lop7.net/ Chân GND 13, 21,22 VSS Chân nối đất 3.3v VCC 12 Chân 3,3v Chân nguồn AIO0 9 2 Hướng Lập trình I/O AIO1 10 2 Hướng Lập trình I/O PIO0 23 2 Hướng RX EN Lập trình I/O, điều khiển output cho LNA nếu được trang bị. PIO1 24 2 Hướng RT EN Lập trình I/O, điều khiển LA nếu được trang bị. PIO2 25 2 Hướng Lập trình I/O PIO3 26 2 Hướng Lập trình I/O PIO4 27 2 Hướng Lập trình I/O PIO5 28 2 Hướng Lập trình I/O PIO6 29 2 Hướng Lập trình I/O PIO7 30 2 Hướng Lập trình I/O PIO8 31 2 Hướng Lập trình I/O PIO9 32 2 Hướng Lập trình I/O PIO10 33 2 Hướng Lập trình I/O PIO11 34 2 Hướng Lập trình I/O ResetB 11 Cmos input with weak internal pull-up Reset nếu LOW UART_RST 4 Cmos output, tri-stable with weak internal pullup. UART yêu cầu khi gửi, hoạt động LOW. UART_CTS 3 Cmos input with weak internal pull-down. UART xóa khi gửi, hoạt động LOW.
  • 51. https://lop7.net/ UART_RX 2 Cmos input with weak internal pull-down Dữ liệu vào UART UART_TX 1 Cmos output, tri-stable with weak internal pullup. Dữ liệu ra UART SPI_MOSI 17 Cmos input with weak internal pull-down Serial peripheral interface data input SPI_CSB 16 Cmos input with weak internal pull-up. Chip select for serial peripheral interface, active low. SPI_CLK 19 Cmos input with weak internal pull-down. Serial peripheral interface clock. SPI_MISO 18 Cmos input with weak internal pull-down. Serial peripheral interface data output USB - 15 2 Hướng USB + 20 2 Hướng NC 14 2 Hướng PCM_CLK 5 2 Hướng Synchronous PCM data clock PCM_OUT 6 Cmos output Synchronous PCM data output PCM_IN 7 Cmos input Synchronous PCM data input PCM_SYNC 8 2 Hướng Synchronous PCM data strobe
  • 52. https://lop7.net/ 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: <Param> 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:<Param> OK Bluetooth address Địa chỉ Bluetooth AT+NAME=<param> OK Đặt tên cho module AT+NAME? 1. +NAME:<Param > OK---success 2. FAIL---failure Bluetooth device name Tên thiết bị (mặc định:HC- 06) AT+RNAME?<param 1> 1. +NAME:<Param 2> OK---success 2. FAIL- --failur Tên thiết bị Bluetooth Đô trên modul AT+ROLE? +ROLE:<Param> OK 0---Slave role 1---Master role 2--- Slaver-Loop role Truy vấn chức năng modul Mặc định :0 AT+PSWD=<param> OK Pincode Đặt mã Pin Mặc định:”1234” AT+PSWD? +PSWD:<Param> Pincode Truy vấn mã PIN AT+UART=<Param> , <Param2>,<Param3> OK Param1: Baud rate Param2: stop bit Param: parity bit Cấu hình cho cổg UART AT+UART? UART=<Param>,<Par a m2>,<Param3> OK Param1: Baud rate Param2: stop bit Param: parity bit Truy vấn thông tin cổg UART
  • 53. https://lop7.net/ 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 Hình 4.1.1 : Giao diện điều khiển Android trên Smartphone
  • 54. https://lop7.net/ Hình 4.1.2: Cho Phép bật Bluetooth trước khi kết nối với Arduino
  • 55. https://lop7.net/ Hình 4.1.3: Chế độ điều khiển 1 Hình 4.1.4: Chế độ điều khiển 2
  • 56. https://lop7.net/ 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. 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 Khi nhấn nút ngắt kết nối. ứng dụng sẽ disconnect với thiết bị để kết nối với thiết bị khác hoặc ngừng hoạt động Khi nhấn nút close, phần mềm sẽ ngắt kết nối thiết bị và thoát khỏi ứng dụng đưa ra màn hình chính.
  • 57. https://lop7.net/ Ứ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 độ nghiêng, ẩn phần khung hình cảm biến… Nếu ta nhấn nút tự động, khung điều 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 Nếu click vào nút lên và Bluetooth hoạt động thì truyền thong chữ F và HC-06 sẽ nhận. tương tự nhấn nút xuống thì sẽ truyền chữ B, nút trái sẽ truyền chữ L và nút phải sẽ truyền chữ R. bên Điện thoại sẽ truyền ra ký tự. còn lại 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 cho xe, và bên cảm biến cũng có 1 nút dừng. Arduino nhận được chữ S thì sẽ cho dừng động cơ
  • 58. https://lop7.net/ Nhóm có phát triển thêm cho để tài cánh tay robot. điều khiển động cơ servo… nếu nhấn thanh trượt servo thì sẽ truyền xuống ARN chữ H là bắt đầu 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 Tương tự phần điều khiển tốc độ và gá biến cho động cơ
  • 59. https://lop7.net/ Cảm biến gia tốc accenmecto cái này cảm biến độ nghiêng tương ứng trên điện thoại và sẽ truyền ký 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 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
  • 60. https://lop7.net/ 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 cơ chạy ngược. 4.1.4 Mạch Tổng
  • 62. https://lop7.net/ Hình 4.1.7 : Mạch in Hình 4.1.8: Mạch sau khi hoàn thành
  • 63. https://lop7.net/ 4.1.5 Chức Năng Linh Kiện Trong Mạch - Rơle 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 3-4 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
  • 64. https://lop7.net/ 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 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: Emitter-Phát Chân 4: Collector -Thu - Transitor Có 2 điểm tiếp giáp P-N Tranzitor thuận P-N-P thuận ngược J1 tiếp giáp phát (luôn được phân cực thuận) J2 tiếp giáp góp, luôn được phân cực ngược.
  • 65. https://lop7.net/ Xung âm (mở) Xung dương (mở) Hình 4.1.11: Transistor A1013
  • 66. https://lop7.net/ 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 P-N để 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. Điều kiện mở Transistor công suất UCE ≥ 0,UBE ≥0, IB ≥ IBS-Ic/β ( β là hệ số khuyếch đại dòng)
  • 67. https://lop7.net/ 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 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 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 cấp điện nhưng vẫn không có dòng điện chạy qua mối C E ( lúc này dòng IC = 0 )
  • 68. https://lop7.net/ Khi công tắc đóng, mối P-N được phân cực thuận do đó có 1 dòng điện chạy từ (+) nguồn UBE qua công tắc => qua R hạn dòng => qua mối BE về cực (-) 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 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 hoàn toàn phụ thuộc vào dòng IB và phụ thuộc theo 1 công thức . 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 <Servo.h>//thư viện động cơ servo 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() { SV1.attach(11); //chan su dung bam xung cho servo la chan 11 pinMode(role1, OUTPUT);//thiet lap chan ra
  • 69. https://lop7.net/ 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() { if(Serial.available() > 0){ state = Serial.read(); switch (state) {
  • 70. https://lop7.net/ case 'M'://neu nhan thanh truot toc do toc_do = Serial.parseInt(); //bien toc do = gia tri thanh truot goi ve hc-06 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); break; case'B'://chay lui- 4 típ dẫn- 4 rơle dẫn đảo chiều digitalWrite(role1, LOW); digitalWrite(role2, LOW);
  • 71. https://lop7.net/ 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; 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);
  • 72. https://lop7.net/ 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; } } }
  • 73. https://lop7.net/ 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 “ Xe Điều Khiển Từ Xa Thông Qua SmartPhone” , là một đề tài có tính 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: - Xe thiết kế khá đơn giản, chưa nhiều tính năng
  • 74. https://lop7.net/ 5.2 Hướng phát triển đề tài Đề tài đã đạt được một số kết quả nhất định, song để đáp ứng cho một bài toán 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 - Phản hồi được các sự cố về ứng dụng android
  • 75. https://lop7.net/ Tài Liệu Tham Khảo http://www.alldatasheet.com/ https://vi.wikipedia.org ……………………………………