1.1 Lịch sử phát triển và các dòng sản phẩm của Arduino 1.1.1 Dòng Arduino đầu tiên 2005 Khi nhìn lại lịch sử này, những mạch lập trình sử dụng vi điều khiển ATmega8 này được đặt tên l
Trang 1VIỆN ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGHỆ ĐIỆN TỬ - THÔNG TIN
Giảng viên hướng dẫn : TS NGUYỄN HOÀI GIANG Sinh viên thực hiện : DƯƠNG TUẤN ANH
Lớp : K16B Khoá : 2013-2017
Hà Nội, tháng 5 /2017
Trang 2GVHD: TS Nguyễn Hoài Giang 1 SV: Dương Tuấn Anh
VIỆN ĐẠI HỌC MỞ HÀ NỘI CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN TỪ XA
BẰNG ĐIỆN THOẠI ANDROID THÔNG QUA SÓNG BLETOOTH
TRƯỞNG KHOA GIẢNG VIÊN HƯỚNG DẪN
(Ký, ghi rõ họ tên) (Ký, ghi rõ họ tên)
TS Nguyễn Hoài Giang
Trang 3GVHD: TS Nguyễn Hoài Giang 2 SV: Dương Tuấn Anh
MỤC LỤC
LỜI NÓI ĐẦU 4
DANH MỤC HÌNH VẼ 5
DANH MỤC BẢNG BIỂU 7
DANH MỤC TỪ VIẾT TẮT 8
CHƯƠNG 1: TỔNG QUAN VỀ ARDUINO 10
1.1 Lịch sử phát triển và các dòng sản phẩm của Arduino 10
1.1.1 Dòng Arduino đầu tiên (2005) 10
1.1.2 Arduino USB (2005) 12
1.1.3 Arduino Extreme (2006) 12
1.1.4 Arduino NG (Nuova Generazione) (2006) 13
1.1.5 Arduino Diecimila (2007) 13
1.1.6 Arduino Duemilanove (2008 - 2009) 15
1.1.7 Arduino UNO (2010) 15
1.1.8 Những board Arduino Mega (2009 - 2011) 16
1.1.9 Arduino DUE (2012) 19
1.1.10 Những dòng Arduino khác 20
1.2 Ứng dụng của Arduino 21
CHƯƠNG 2: XÂY DỰNG HỆ THỐNG 25
2.1 Giới thiệu về hệ thống 25
2.1.1 Ý tưởng thiết kế 25
2.1.2 Yêu cầu thiết kế 25
2.1.3 Sơ đồ khối và nhiệm vụ của từng khối 25
2.2 Giới thiệu về hệ thống 27
2.2.1 Khối nguồn 27
2.2.2 Khối Modul Bluetooth HC05 Công nghệ truyền dẫn không dây Bluetooth. 27
2.2.3 Arduino Uno R3 35
2.2.4 Khối Relay và nút nhấn 39
Trang 4GVHD: TS Nguyễn Hoài Giang 3 SV: Dương Tuấn Anh
CHƯƠNG 3: THIẾT KẾ MẠCH NGUYÊN LÝ VÀ SẢN PHẨM 42
3.1 Nguyên lý hoạt động 42
3.2 Nguyên lý hoạt động chung 44
3.3 Thiết kế trên smartphone 47
3.3.1 Sơ đồ thuật toán 47
3.3.2 Giới thiệu chương trình App Inventor2 48
3.3.3 Phần mềm ArduinoControl 48
3.3.4 Mã nguồn ứng dụng Arduino Control 49
3.4 Thiết kế chương trình trên vi điều khiển 53
3.4.1 Lưu đồ thuật toán 54
3.4.2 Giới thiệu chương trình Arduino IDE 54
3.5 Mạch in 59
3.6 Sản phẩm thực tế 60
PHỤ LỤC 62
KẾT LUẬN CHUNG 66
TÀI LIỆU THAM KHẢO 67
Trang 5GVHD: TS Nguyễn Hoài Giang 4 SV: Dương Tuấn Anh
LỜI NÓI ĐẦU
Ngày nay khoa học công nghệ ngày càng phát triển, vi điều khiển AVR và
vi điều khiển PIC ngày càng thông dụng và hoàn thiện hơn, nhưng có thể nói
sự xuất hiện của Arduino vào năm 2005 tại Italia đã mở ra một hướng đi mới cho vi điều khiển Sự xuất hiện của Arduino đã hỗ trợ cho con người rất nhiều trong lập trình và thiết kế, nhất là đối với những người bắt đầu tìm tòi về vi điều khiển mà không có quá nhiều kiến thức, hiểu biết sâu sắc về vật lý và điện
tử Phần cứng của thiết bị đã được tích hợp nhiều chức năng cơ bản và là mã nguồn mở Ngôn ngữtương thích với ngôn ngữ C và hệ thư viện rất phong phú
và được chia sẻ miễn phí Chính vì những lý do như vậy mà Arduino đang dần phổ biến và phát triển mạch mẽ trên các cộng đồng điện tử trong và ngoài nước Trên cơ sở lý thuyết đã được học trong các môn: Lập trình C căn bản, vi
xử lí, vi điều khiển, em đã quyết định thực hiện đề tài: Thiết kế hệ thống điều
khiển các thiết bị điện từ xa bằng điện thoại Arduino qua sóng bletooth
Do kiến thức còn hạn hẹp và lần đầu được tiếp xúc với Arduino nên không tránh khỏi những sai sót, hạn chế Vì thế em rất mong có được sự góp ý từ thầy, cô để có thể hoàn thiện đề tài của mình
Em xin chân thành cảm ơn TS Nguyễn Hoài Giang đã giúp đỡem rất nhiều trong quá trình tìm hiểu, thiết kế và hoàn thành đề tài này
Trân trọng!
Sinh viên thực hiện
Dương Tuấn Anh
Trang 6GVHD: TS Nguyễn Hoài Giang 5 SV: Dương Tuấn Anh
DANH MỤC HÌNH VẼ
Hình 1.1 Arduino Serial 11
Hình 1.2 Modul PCB thủ công Severino (ak S3V3) 11
Hình 1.3 Mạch Arduino USB v2.0 12
Hình 1.4 Arduino Extreme version 1&2 13
Hình 1.5 phiên bản Arduino NG+ 13
Hình 1.6 Arduino Diecimila 14
Hình 1.7 Arduino Duemilanove 15
Hình 1.8 Arduino Uno R3 15
Hình 1.9 Dòng Arduino Leonardo và Arduino Ethernet 16
Hình 1.10 Dòng Arduino Micro và Arduino Yún 16
Hình 1.11 Board Arduino Mega 17
Hình 1.12 Board Arduino Mega 18
Hình 1.13 Arduino MeGA ADK 18
Hình 1.14 Arduino Due 20
Hình 1.15 Các dòng sản phầm của Arduno từ 2005 - 2013 21
Hình 1.16 Máy in 3D sử dụng Arduino 22
Hình 1.17 Một số robot DIY sử dụng Arduino 23
Hình 1.18 UAV sử dụng Arduino 23
Hình 1.19 Minh họa cho ứng dụng điều khiển thiết bị từ xa 24
Hình 2.1 Sơ đồ khối của hệ thống 25
Hình 2.2 Sơ đồ mạch nguồn 27
Hình 2.3 Khả năng kết nối các thiết bị qua Bluetooth 29
Hình 2.4 Modul HC-05 31
Hình 2.5 Sơ đồ chân HC-05 32
Hình 2.6 Sơ đồ nguyên lí modul Blutooth HC-05 33
Hình 2.7 Sơ đồ kết nối HC-05 với Arduino 34
Hình 2.8 Sơ đồ chân và chức năng của các chân trên chip Atmega 328 35
Hình 2.9 Hình ảnh thực tế board Arduino 36
Trang 7GVHD: TS Nguyễn Hoài Giang 6 SV: Dương Tuấn Anh
Hình 2.10 Tham khảo thêm một số chức năng của các chân trên Arduino
37
Hình 2.11 Relay 5V/ 10A 40
Hình 2.12 Công tắc MTS-103 40
Hình 2.13 Sơ đồ kết nối Relay và công tắc 3 cực 40
Hình 2.14 Mosfet IRF 540 41
Hình 2.15 Sơ đồ điều khiển thiết bị 12 VDC 41
Hình 3.1 Sơ đồ nguyên lý tổng quát 42
Hình 3.2 Giao diện của ứng dụng Arduino Control 45
Hình 3.3 Cài đặt thời gian cho chế độ hẹn giờ 46
Hình 3.4 Các thanh trượt điều khiển độ rộng xung dương 46
Hình 3.5 Sơ đồ thuật toán trên App Arduino Control 47
Hình 3.6 Khởi tạo chương trình lập trình ứng dụng cho smartphone 49
Hình 3.7 Giao diện thẻ chọn Designer 50
Hình 3.8 Xây dựng chương trình ghép nối Bluetooth 51
Hình 3.9 Chương trình con cho các nút nhấn 52
Hình 3.10 Chương trình con cho các thanh trượt 52
Hình 3 11 Lưu đồ thuật toán điều khiển thiết bị trên Arduino 53
Hình 3.12 Giao diện Arduino IDE 54
Hình 3.14 Hình ảnh thực tế của sản phẩm 61
Hình 3.13 Hình ảnh mạch in lớp Botton 59
Trang 8GVHD: TS Nguyễn Hoài Giang 7 SV: Dương Tuấn Anh
DANH MỤC BẢNG BIỂU
Bảng 2.1 Chức năng từng chân của modul HC-05 32
Bảng 2.2 Thông số Arduino Uno R3 38
Bảng 3 2 Các hàm trong thư viện Serial 59
Bảng 3 1 Các câu lệnh căn bản 56
Trang 9GVHD: TS Nguyễn Hoài Giang 8 SV: Dương Tuấn Anh
DANH MỤC TỪ VIẾT TẮT
CAD Computer Aided Draft Phần mền tạo hình bề mặt và hình
M
Electrically Erasable Programmable Read Only Memory
Bộ nhớ không mất dữ liệu khi ngừng cung cấp điện
PWM Pulse Width Modulation Phương pháp điều độ rộng xung
vuông
REPR
AP
Replicating prototype Máy tạo mẫu nhanh (máy in 3D)
Rapid-RISC Reduced Instructions Set
Access Memory Bộ nhớ truy xuất ngẫu nhiên tĩnh
UART Universal Asynchronous
Receiver Transmitter
Mạch tích hợp được sử dụng trong việc truyền dẫn dữ liệu nối tiếp giữa máy tính và các thiết bị ngoại
Trang 10GVHD: TS Nguyễn Hoài Giang 9 SV: Dương Tuấn Anh
khoảng 300 MHz tới 3 GHz (3,000 MHz)
ISM Industrial Scientific
Medical
Băng tần miễn phí cho các ứng dụng không dây
Trang 11GVHD: TS Nguyễn Hoài Giang 10 SV: Dương Tuấn Anh
CHƯƠNG 1: TỔNG QUAN VỀ ARDUINO
Dự án phát triển Arduino được khởi động vào năm 2005 như là một dự án dành cho sinh viên trại Interaction Design Institute Ivrea (Viện thiết kế tương tác Ivrea IDII) tại Ivrea, Italy Vào thời điểm đó các sinh viên sử dụng một board mạch "BASIC Stamp"
có giá khoảng $100, khá tốn kém đối với sinh viên Massimo Banzi, một trong những người sáng lập, hiện đang giảng dạy tại Ivrea đã đóng góp vào một thiết kế hệ thống kết nối điện dẫn của sinh viên người Colombia tên là Hernando Barragan Sau khi các nền tảng hệ thống điện dẫn đã được hoàn tất, các học viên đã tối ưu phần cứng để làm
cho hệ thống đó gọn nhẹ hơn, rẻ hơn, và có sẵn cho cộng đồng nguồn mở
Sau đó Trường Interaction Design Institute Ivrea bị đóng cửa Do đó, các nhà nghiên cứu, trong số họ là David Cuartielles, đã chủ động thúc đẩy ý tưởng phát triển
về Arduino Cái tên "Arduino" đến từ một quán bar tại Ivrea, nơi mà các sinh viên sáng lập dự án này thường xuyên gặp mặt Bản thân quán bar này cũng được lấy theo tên của một vị vua Italia vào thế kỉ thứ IV
1.1 Lịch sử phát triển và các dòng sản phẩm của Arduino
1.1.1 Dòng Arduino đầu tiên (2005)
Khi nhìn lại lịch sử này, những mạch lập trình sử dụng vi điều khiển ATmega8 này được đặt tên là Arduino Serial Và Arduino Serial là thuật ngữ để chỉ tất cả những mạch Arduino được thế kế bởi những nhà phát triển Arduino hay là những người phát triển tự do, mạch Arduino sử dụng cổng kết nối RS-232 (Serial) thay vì cổng USB TTL (transistor-transistor logic) như hiện tại
Khi những sản phẩm đầu tiên được xây dựng, Arduino vẫn chịu sự ảnh hưởngcủa các mạch lập trình AVR cùng thời điểm, đó là sử dụng cổng RS-232(cổng máy in của các dòng máy tính cũ) Điều đó cũng phù hợp với lịch sử lúc bấy giờ, các dòng máy tính để bàn khi được sản xuất vẫn còn cổng RS-232 này
Trang 12Hình 1.1 Arduino Serial
Module sử dụng vi điều khiển Atmel Atmega8 với 14 chân I/O trong đó có 6 chân đầu vào analog Vì lý do sử dụng cổng RS-232, nên việc xây dựng một môi trường giao tiếp giữa máy tính và mạch Arduino vô cùng đơn giản (giao thức RS-232 thời gian này
vô cùng phổ biến) Ngoài ra, các linh kiện trên chỉ để phục vụ cho việc duy nhất là lập trình cho ATmega8 qua máy tính Điều đặc biệt của Arduinotrong thời gian này, đó là
sự đơn giản hơn những mạch lập trình AVR khác có trên thị trường lúc bấy giờ như: ATMEL Programmer, mikroElektronika, Arduino sơ khai đã phân chia các hàng chân digital và analog Ngoài ra, các chi tiết khác là theo chuẩn thiết kế mạch lúc bấy giờ như: ISP, jack cắm 2.1mm (jack cắm nguồn ngoài), RS-232 connector, v.v
Qua thời gian, dòng mạch Arduino Serial đã được thiết kế đơn giản hơn, và chỉ cần dùng một mặt để mọi nhà phát triển có thể tự thiết kế một PCB bằng phương pháp thủ công Dòng sản phẩm này có tên là Arduino Signle-Sided Serial
Hình 1.2 Modul PCB thủ công Severino (ak S3V3)
Trang 13Hình 1.3 Mạch Arduino USB v2.0
Arduino đã thay thế cổng Serial (xuất hiện ở Arduino Serial) bằng cổng USB Type B
do sự phổ biến của máy tính xách tay Việc sử dụng cổng USB type B giúp thiết kết của Arduino trở lên nhỏ gọn và tiện lợi hơn rất nhiều và được duy trì cho tất cả các phiên bản arduino sau này
Trong hình 1.3, có thêm sự xuất hiện của cổng USB Type B.Do đó, nguồn điện nuôi Arduino không chỉ là 12V, mà còn có thể là 5V cấp từ cổng USB từ laptop
Như vậy, mạch Arduino USB vẫn không có nhiều sự thay đổi so với mạch Arduino Serial, nó có thể được xem như là một phiên bản Arduino không sử dụng cổng RS-232
mà dùng cổng USB Tiện dụng hơn cho người lập trình rất nhiều
1.1.3 Arduino Extreme (2006)
Phiên bản này, Arduino đã có thêm đèn RX, TX ở 2 chân TX và RX của Arduino Các linh kiện trên Arduino phần lớn được thay thế bằng linh kiện dán và điều đó có nghĩa
là Arduino cần phải được bán với đầy đủ các linh kiện đã được hàn đầy đủ
Ngoài ra, các chân header male đã được thay thế với chân header female.Về mặt thông
số kĩ thuật thì không có thay đổi gì đáng kể so với các phiên bản tiền nhiệm
Cũng trong năm đó, trang arduino.cc cũng chính thức được ra đời, và các dây nối giữa các phần trong mạch cũng được làm "âm" đất để hình thức boar mạch trở lên đẹp hơn
Trang 14Hình 1.4 Arduino Extreme version 1&2
1.1.4 Arduino NG (Nuova Generazione) (2006)
Trong mạch Arduino NG, Arduino đã thay thế con chip FT232BM bằng con chip FTDI FT232RL USB-to-Serial, điều đólàm cho thiết kế giao diện phần cứng của Arduino trở lên hài hòa hơn Ngoài ra, nhà sản xuất đã lắp thêm một đèn LED vào chân số 13, không những giúp debug được truyền dữ liệu SPI mà còn có "một công cụ" kiểm thử mạch (vì khi được xuất bán, Arduino đã được Arduino NG đã được upload chương trình Blink)
Ta chỉ cần gắn điện vào cổng USB hoặc nguồn ngoài là có thể kiểm thử được mạch
NG Và cũng trong năm 2006 Arduino NG được nâng cấp lên phiên bản Arduino NG+
sử dụng vi điều khiểnAtmega 168 với dung lượng bộ nhớ Flashlà 16KB Đi theo đó là các phiên bản sử dụnglinh kiện chân dán với kích thước nhỏhơn rất nhiều (Nano, Lily Pad…)
Hình 1.5 phiên bản Arduino NG+
1.1.5 Arduino Diecimila (2007)
Trang 15Hình 1.6 Arduino Diecimila
Điều thay đổi chính trong phiên bản này đó là việc đưa vào chức năng "tự động reset" bằng máy tính khi upload chương trình và chức năng này vẫn được sử dụng cho tất cả các phiên bản sau này.Arduino đã sử dụng một mạch "dropout voltage regulator" để khử nhiễu cho các chân Analog IN Do đó, sẽ không cần phải sử dụng tụ 103, 104 để lọc nhiễu cho các chân Analog nữa Trong phiên bản này, vẫn sử dụng vi điều khiển ATmega168
Trang 161.1.6 Arduino Duemilanove (2008 - 2009)
Hình 1.7 Arduino Duemilanove
Ở phiên bản này, Arduino đã sử dụng vi điều khiển ATmega328 thay vì ATmega168
từ tháng 1 năm 2009 Mạch Arduino đã có khả tự động nhận biết mỗi khi sử dụng nguồn tử cổng USB hay nguồn ngoài
Trang 17Từ phiên bản Arduino UNO R3, Arduino USB đã chính thức phân nhánh ra thành hai nhánh con, đó là Arduino Ethernet và Arduino Leonardo nhằm tối ưu hóa cho các dự
án sử dụng Internet (Arduino Ethernet)
Hình 1.9 Dòng Arduino Leonardo và Arduino Ethernet
Ở các phiên bản Arduino Leonardo, có thể kết nối mạch với các thiết bị ngoại vi qua
cổng usb như chuột, bàn phím Arduino Leonardo lại phân nhánh ra 2 phiên bản nhỏ
hơn là Arduino Micro và Arduino Yún
Hình 1.10 Dòng Arduino Micro và Arduino Yún
1.1.8 Những board Arduino Mega (2009 - 2011)
Các nhà sản xuất đã thấy được tiềm năng phát triến của Arduino nên học đã nghiên cứu và cho ra đời dòng arduino Mega nhằm phục vụ cho các project có quy mô lớn hơn
Trang 18Arduino Mega trở lên mạnh mẽ hơn với dung lượng bộ nhớ Flash là 128Kb (gấp bốn lần Arduino Uno),và nhiều hơn gấp ba lần số chân IO so với dòng Arduino Uno (54 chân digital IO và 16 analog IO )
Hình 1.11 Board Arduino Mega
Công nghệ không ngừng phát triển và Arduino cũng vậy Để đáp ứng yêu cầu ngày càng cao của người sử dụng Các dòng Arduino Mega có dung lượng bộ nhớ Flash và
số chân I/O ngày càng cao
Sự ra đời của Arduino Mega 2560 R3 sử dụng vi điều khieenrAtmega2560 cho tốc
độ ngoại vi cao nhất và số chân nhiều nhất, có thể mở rộng thêm nhiều chân bằng việc kết nối vớ các Arduino lại với nhau
Trang 19Hình 1.12 Board Arduino Mega
Năm 2011, Arduino MeGA ADK ra đời.Đây là phiên bản Arduino giúp người sử dụng
có thểgiao tiếp với các thiết bị chạy hệ điều hành Androidthông qua cổng USB micro của các thiết bị Android
Arduino Mega ADK vẫn sử dụng chipp Atmega2560 được bổ sung thêm cổng giao tiếp USB Host có thể kết nối đến các thiết bị Andriod như điện thoại di động, máy in, SmartTV… dựa vào chip MAX3421e Các thông số kĩ thuật khác tương đươngvới dòng Arduino Atmega 2560
Hình 1.13 Arduino MeGA ADK
Trang 20GVHD: TS Nguyễn Hoài Giang 19 SV: Dương Tuấn Anh
1.1.9 Arduino DUE (2012)
Arduino DUE là phiên bản Arduino đầu tiên sử dụng một vi điều khiển 32 bit thay vì con vi điều khiển 8 bit ATmega2560 trước đây Đây là một sự thay đổi mang tính cách mạng nhằm đưa Arduino trở lên mạnh mẽ hơn bao giờ hết Vì lúc này, Arduino có thể tính toán nhanh hơn 4 lần (nếu so sánh với mạch 8 bit cùng xung nhịp) Ngoài ra, xung nhịp của dòng sản phẩm này cũng cao hơn (84MHz), Arduino DUE hoạt động ở mức 3.3 vol cho tín hiệu điện tối đa (mức HIGH), nếu cao hơn có thể cháy hỏng và phá hủy board Như vậy, ta không cần một bộ chuyển tín hiệu điện để giúp Arduino giao tiếp với một mini computer như Raspberry Pi hay tương tự.Với Intel Galileo, có thể dùng tín hiệu ở mức 3.3 vol hay 5 vol đều được
Thông số kỹ thuật của Arduino Due:
o Vi điều khiển: AT91SAM3X8E
o Điện áp hoạt động: 3.3 V
o Điện áp đầu vào: 7-12V
o Điện áp đầu vào (giới hạn): 6-20V
o Kỹ thuật số I / O Pins: 54
o PWM Digital I / O Pins: 12
o Analog Input Pins: 12
o Analog Output Pins: 2 (DAC)
o DC hiện tại mỗi I / O Pin: 130 mA
o DC hiện tại cho Vcc: 800 mA
o SRAM: 96 KB
o Dao động clock: 84 MHz
Trang 21Hình 1.14 Arduino Due
1.1.10 Những dòng Arduino khác
Ngoài dòng Arduino trên, còn có những dòng Arduino khác có thể được liệt kê bằng hình ảnh dưới đây
Trang 22Hình 1.15 Các dòng sản phầm của Arduno từ 2005 - 2013
1.2 Ứng dụng của Arduino
Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với những
Trang 23người ít am hiểu về điện tử và lập trình Sự phổ biến của Arduino không chỉ ở mức giá rất hợp lí mà chính là tính chất nguồn mở từ phần cứng tới phần mềm Chính vì tính linh hoạt của Arduino đem lại mà việc mục đính sử dụng Arduino cũng rất đa dạng Arduino được chọn làm bộ não xử lý của rất nhiều thiết bị từ đơn giản đến phức tạp Trong số đó có một vài ứng dụng thực sự chứng tỏ khả năng vượt trội của Arduino do chúng có khả năng thực hiện nhiều nhiệm vụ rất phức tạp Sau đây là danh sách một số ứng dụng nổi bật của Arduino
Hình 1.16 Máy in 3D sử dụng Arduino
• Máy in 3D:
Một cuộc cách mạng khác cũng đang âm thầm định hình nhờ vào Arduino, đó là sự phát triển máy in 3D nguồn mở Reprap (Cộng đồng phát triển nền tảng Máy in 3D mã nguồn mở ) Máy in 3D là công cụ giúp tạo ra các vật thể thực trực tiếp từ các file CAD 3D Công nghệ này hứa hẹn nhiều ứng dụng rất thú vị trong đó có cách mạng hóa việc sản xuất cá nhân
Trang 24Hình 1.17 Một số robot DIY sử dụng Arduino
• Thiết bị bay không người lái:
UAV là một ứng dụng đặc biệt thích hợp với Arduino do chúng có khả năng xử lý nhiều loại cảm biến như Gyro, accelerometer, GPS…, điều khiển động cơ servo và cả khả năng truyền tín hiệu từ xa
Hình 1.18 UAV sử dụng Arduino
Trang 25• Game tương tác:
Việc đọc cảm biến và tương tác với PC là một nhiệm vụ rất đơn giản đối với Arduino
Do đó rất nhiều ứng dụng game tương tác có sử dụng Arduino
• Điều khiển ánh sáng:
Các tác vụ điều khiển đơn giản như đóng ngắt đèn LED hay phức tạp như điều khiển ánh sáng theo nhạc hoặc tương tác với ánh sáng laser đều có thể thực hiện với Arduino
Trong đồ án này, em sẽ nghiên cứu ứng dụng sử dụng Arduino điều khiển các thiết bị từ xa bằng điện thoại Android dựa trên phương thức truyền dẫn không dây bluetooth
Hình 1.19 Minh họa cho ứng dụng điều khiển thiết bị từ xa
Trang 26và tiết kiệm nhất
2.1.2 Yêu cầu thiết kế
Mạch phải có thiết kế tối giản, nhỏ gọn, dễ dàng lắp đặt, sửa chữa, phù hợp với mọi đối tượng người sử dụng
Hệ thống chạy ổn định, chính xác, bền bỉ và dễ dàng vận hành
Chi phí thiết kế , chất lượng sản phẩm phải được đảm bảo
Khoảng cách điều khiển thiết bị trong môi trường có vật cản phải đủ xa để đápứng cho hệ thống hoạt động chính xác
Đảm bảo tính bảo mật, an toàn, thân thiện và tính thẩm mỹ cao
2.1.3 Sơ đồ khối và nhiệm vụ của từng khối
Sơ đò khối:
Hình 2.1 Sơ đồ khối của hệ thống
Trang 27GVHD: TS Nguyễn Hoài Giang 26 SV: Dương Tuấn Anh
Hệ thống bao gồm: Khối nguồn, điện thoại thông minh chạy hệ điều hành
Android có kết nối Bluetooth, Module thu phát Bluetooth HC-05, Arduino Uno R3, khối relay và công tắc và khối phụ tải
• Khối nguồn:
Có chức năng tạo ra dòng điện một chiều có chuẩn điện áp đầu ra là 5V cung cấp nguồn nuôn cho trung tâm điều khiển là Arduino, module thu phát Bluetooth HC05 và khối Relay
• Thiết bị di động chạy hệ điều hành Android có kết nối bluetooth :
Ta có thể sử dụng điện thoại Smartphone hoặc máy tính bảng chạy hệ điều hành Android có hỗ trợ kết nối Bluetooth Máy sẽ được cài một ứng dụng có tên là Arduino Control do em phát triển thông qua công cụ lập trình Android của Google là App inventor 2 Khi có có sự ghép nối Bluetooth giữa hai thiết bị, thì ứng dụng trên điện thoại sẽ gửi tín hiệu Serial về bộ điều khiển Lúc này, Arduino sẽ xử lý và ra lệnh cho
hệ thống đóng ngắt relay nhằm bật tắt thiết bị theo ý muốn của người sử dụng
• Khối module HC05:
Module HC05 được kết nối với Arduino thông qua hai chân Serial là : TX ( Transmit ) và RX (receive) có tác dụng thu tín hiệu Serial nhận được từ Smartphone và gửi về vi điều khiển để được xử lý
• Khối Arduino Uno R3:
Arduino Uno R3 sẽ đóng vai trò và bộ xử lý trung tâm và đưa tín hiệu ra khối relay
• Khối Relay và công tắc:
Các Relay sẽ có tác dụng điều khiền các thiết bị xoay chiều cũng như cách li mạch điều khiển với mạch động lực nhằm bảo vệ người và thiết bị khỏi nguồn điện áp cao Các công tắc 3 cực có tác dụng bật tắt thiết bằng tay phòng trường hợp điện thoại hết pin hoặc hệ thống không hoạt động
• Khối thiết bị:
Là các thiết bị gia dụng mà người sử dụng muốn điều khiển như đèn chiếu sáng, bình nóng lạnh, máy giặt v.v Hệ thống cho phép người dùng điều khiển tối đa được 12 thiết bị Trong dự án demo này, khối thiết bị gồm năm đầu ra được kết nối với năm bóng đèn sợ đốt 220V-40W đại diện cho các thiết bị dân dụng Khi đưa vào thực tế ta có thể thay đổi thiết kế cho phù hợp một cách dễ dàng
Trang 282.2 Giới thiệu về hệ thống
2.2.1 Khối nguồn
Khối nguồn tạo ra dòng điện và điện thế ổn định cung cấp an toàn cho cả mạch Do dùng nguồn 5V DC nên ta dùng bốn diode để chỉnh lưu dòng xoay chiều từ cuộn thứ cấp của máy biến áp (220V-9V) đi qua và IC ổn áp 7805 để tạo nguồn 5V cung cấp cho mạch
Hình 2.2 Sơ đồ mạch nguồn.
2.2.2 Khối Modul Bluetooth HC05 Công nghệ truyền dẫn không dây Bluetooth
a Khái niệm Bluetooth
Bluetooth là thuật ngữ quen thuộc với người sử dụng các thiết bị công nghệ Tuy nhiên, không nhiều người hiểu rõ về tính năng rất thông dụng này
Bluetooth là một tiêu chuẩn công nghệ cho việc kết nối không dây ở khoảng cách ngắn (sử dụng bước sóng ngắn UHF sóng phát thanh trong băng tần ISM 2.4 - 2.485 GHz )
từ các thiết bị cố định và di động, và xây dựng vùng mạng cá nhân Được phát minh bởi nhà cung cấp viễn thông Ericsson vào năm 1994, ban đầu nó được hình thành như
là một thay thế không dây RS-232 cáp dữ liệu
Ngày nay, Bluetooth đã được công nhận bởi hơn 1800 công ty trên toàn thế giới Được thành lập đầu tiên bởi Sony Ericsson, IBM, Intel, Toshiba và Nokia, sau đó cùng có sự tham gia của nhiều công ty khác với tư cách cộng tác hay hỗ trợ Bluetooth có chuẩn
là IEEE 802.15.1 Thuật ngữ Btluetooth được đặt theo danh xưng của các vị vua Harald Bluethoot, một bộ tộc cổ ở Đan Mạch Logo Bluetooth phổ biến hiện nay là chữ cái B các điệu:
Trang 29GVHD: TS Nguyễn Hoài Giang 28 SV: Dương Tuấn Anh
• Ưu điểm :
o Tiêu thụ năng lượng thấp
o 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
o Giá thành rẻ, có mặt hầu hết trên các thiết bị di động
o Khoảng cách giao tiếp cho phép giữa hai thiết bị kết nối có thể lên đến 100m
o 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
o 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, do đó có thể độc lập về phần cứng cũng như hệ điều hành sử dụng
o Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phần mềm
hỗ trợ
• Nhược điểm
o 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
o Chỉ kết nối được hai thiết bị với nhau, không kết nối thành mạng
Phương thức hoạt động của Bluetooth: Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nối thiết bị cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz đến 2.485GHz Bluetooth được thiết kế hoạt động trên 79 tần số đơn lẻ Khi kết nối , nó sẽ tự độ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
Ứng dụng: Bluetooth cho phép kết nối nhằm trao đổi thông tin, điều khiển và giao tiếp giữa các thiết bị như điện thoại di động, điện thoại cố định, máy tính xách tay, PC, máy in, thiết bị định vị dùng GPS, máy ảnh
số, và video game console
Trang 30Hình 2.3 Khả năng kết nối các thiết bị qua Bluetooth
b Các tiêu chuẩn Bluetooth.
- Blutooth 1.0 (7/1999): Phiên bản đầu tiên được đưa ra thị trường với tốc
độ kết nối ban đầu là 1Mbps Tuy nhiên, trên thực tế tốc độ kết nối của thế
hệ này chưa bao giờ vượt quá 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
- 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)
- Bluetooth 2.1+ERD (2004): Đây chính là thế hệ nâng cấp của Bluetooth 2.0 có hiệu năng cao hơn và tiết kiệm năng lượng hơn
- Bluetooth 3.0+HS (2008): Có tốc độ truyền dữ liệu đạt mức 24Mbps – bằng sóng Blutooth – High Speed, tương đương chuẩnWifi 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
Trang 31GVHD: TS Nguyễn Hoài Giang 30 SV: Dương Tuấn Anh
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 4.1 (2014 ): 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 Khả năng kết nối thật sự thông minh, 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 Khả năng truyền dữ liệu: Các thiết bị Bluetooth 4.1 có thể giao tiếp một cách độc lập mà không cần phải phụ thuộc vào trung tâm điều khiển
- Bluetooth 4.2 (2014): Với các cải tiến: Nâng tốc độ lên 2.5 lần so với phiên bản trước, hỗ trợ tốc độ tối đa là 1 Mbps, nâng cao tính bảo mật, tiêu thụ ít năng lượng hơn và hỗ trợ kết nối Internet trực tiếp thông qua IPv6 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 (packet capacity), nhờ đó mà
nó sẽ tiêu thụ năng lượng pin ít hơn và ít bị lỗi hơn trong khi kết nối Tính bảo mật được nâng cao hơn khi ngăn không cho các thiết bị khác theo dõi điện thoại của ta mà chưa được sự cho phép trong quá trình chờ kết nối Còn tính năng kết nối Internet giúp các thiết bị Bluetooth sau khi kết nối xong sẽ có thể kết nối tiếp vào Internet
- Bluetooth 5 (cuối năm 2016): Đây là chuẩn Bluetooth mới nhất cho tới nay, kết nối không dây này sẽ là bước đệm để Internet of Things (Mạng lưới thiết bị kết nối Internet) tạo ra sự đột phá về công nghệ trong tương lai Chuẩn Bluetooth 5 sẽ có phạm vi kết nối rộng gấp 4 lần (có thể lên đến 300m ), tốc độ nhanh hơn gấp đôi lên đến 2Mbps và sử dụng năng lượng hiệu quả hơn 2.5 lần so với chuẩn Bluetooth 4.2 Do chuẩn Bluetooth 5.0 chỉ mới được ban hành cách đây không lâu Vì thế chưa có nhiều thiết bị hiện nay không hỗ trợ chuẩn mới này
Trang 32c Module HC-05.
+ Giới thiệu:HC-05Là module thu phát không dây thông qua sóng bluetooth, có
thể thu phát sóng bluetooth từ các thiết bị đi động và máy tính
+ Thông số kỹ thuật HC-05
- Điện áp hoạt động:5V-3.3v
- Chuẩn giao tiếp UART (truyền thông nối tiếp khôngđồng bộ)
- Khoảng cách thu phát không dây: Bán kính 12 m
- Hỗ trợ chế độ Master, Slave (có thểlựa chọn chế độ bằng các lệnh AT)
- Chế độ đặt lệnh AT từ máy tính, vi điều khiển
Hình 2.1 Modul HC-05
+ Sơ đồ chân và chức năng:
Trang 33Hình 2.2 Sơ đồ chân HC-05
+ Chức năng các chân:
TXD Kết nối với chân RXD của vi điều khiển
RXD Kết nối với chân TXD của vi điều khiển
KEY
Nếu đầu vào là mức thấp hoặc để hở, modul hoạt động ở chế độ ghép nối hoặc truyền thông Nếu ở mức cao sẽ hoạt động ở chế độ AT
Bảng 2.1 Chức năng từng chân của modul HC-05
Trang 34+ Sơ đồ nguyên lí modul Blutooth HC-05: hình 2.6
Hình 2.3 Sơ đồ nguyên lí modul Blutooth HC-05
HC-05 có hai chế độ hoạt động là Command Mode và Data Mode Ở chế độ
Command Mode ta có thể giao tiếp với module thông qua cổng serial trên module bằng tập lệnh AT quen thuộc Ở chế độ Data Mode module có thể truyền nhận dữ liệu tới module bluetooth khác Chân KEY dùng để chuyển đổi qua lại giữa hai chế độ này
Có hai cách để bạn có thể chuyển module hoạt động trong chế độ Data Mode (đọc tài liệu Tiếng Việt trên một số Web thấy chỗ này thường bị viết sai)
- Nếu đưa chân này lên mức logic cao trước khi cấp nguồn module sẽ đưa vào chế độ Command Mode với baudrate mặc định 38400 Chế độ này khá hữu ích khi bạn không biết baudrate trong module được thiết lập ở tốc độ bao nhiêu Khi chuyển sang chế độ này đèn led trên module sẽ nháy chậm (khoảng 2s) và ngược lại khi chân KEY nối với mức logic thấp trước khi cấp nguồn module sẽ hoạt động chế độ Data Mode