Việc nghiên cứu và thiết kế một bộ sản phẩm điều khiển thiết bị không dây có một ý nghĩa lớn, giúp tăng thêm sự lựa chọn cho người sử dụng, sản phẩm được sản xuất trong nước nên giá thàn
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG CƠ SỞ THÀNH PHỐ HỒ CHÍ MINH
KHOA KỸ THUẬT ĐIỆN TỬ 2
BÁO CÁO MÔN THỰC HÀNH CƠ SỞ
Đề tài : Mạch điều khiển thiết bị điện bằng Android qua sóng
Bluetooth
Giáo viên hướng dẫn : Th.s Trần Quang Thuận
Nhóm sinh viên thực hiện : Nhóm 3
Lớp : D14CQDT01-N
Trang 2TP.HCM KHOA KỸ THUẬT ĐIỆN TỬ 2
NHIỆM VỤ ĐỒ ÁN THỰC HÀNH CƠ SỞ
Nhóm 03:
Họ và tên SV: Phan Huy Cường MSSV:N14DCDT028
Họ và tên SV: Nguyễn Văn Khánh Anh MSSV:N14DCDT030
Ngành : Kỹ thuật điện tử Lớp: D14CQDT01-N
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA
SÓNG BLUETOOTH
Trang 31- Tìm hiểu về nguyên tắc thu phát hồng ngoại + Khái niệm
4- Mô phỏng mạch dùng phần mềm Proteus 8.1 5- Thi công mạch
+ Sơ đồ Layout + Chạy thực tế 6-Ngày giao đồ án :
Trang 48-Ngày bào cáo đồ án:
9-Họ tên người hướng dẫn: Th.S Trần Quang Thuận
Nội dung và yêu cầu của ĐA đã được thông qua
Trang 5
không truyền nhận dữ liệu không dây như RF, Wifi, Bluetooth, NFC, Trong đó, Bluetooth
là một trong những công nghệ được phát triển từ lâu và luôn được cải tiến để nâng cao tốc
độ cũng như khả năng bảo mật Trên thị trường Việt Nam hiện nay chưa có nhiều sản phẩm điều khiển thiết bị không dây, đa số những sản phẩm hiện có đều là nhập khẩu từ nước
ngoài với giá thành cao Việc nghiên cứu và thiết kế một bộ sản phẩm điều khiển thiết bị không dây có một ý nghĩa lớn, giúp tăng thêm sự lựa chọn cho người sử dụng, sản phẩm được sản xuất trong nước nên giá thành rẻ và góp phần phát triển các hệ thống điều khiển thông minh Do đó, nhóm quyết định thực hiện đề tài: “Mạch điều khiển thiết bị bằng
Android qua Bluetooth” Đề tài ứng dụng công nghệ Bluetooth phổ biến trên nhiều thiết bị, đặc biệt điểm mới của đề tài so với các sản phẩm hiện có là điều khiển thông qua hệ điều hành Android giúp tận dụng những thiết bị sử dụng hệ điều hành Android có sẵn của người dùng giúp giảm giá thành sản phẩm, ngoài ra với màn hình hiển thị lớn của điện thoại cho phép hiển thị nhiều thông tin hơn
Trân trọng và cảm ơn!
Nhóm sinh viên thực hiện đề tài:
Phan Huy Cường Nguyễn Văn Khánh Anh
N
Trang 6MỤC LỤC
LỜI MỞ ĐẦU 1
MỤC LỤC 2
MỤC LỤC HÌNH 4
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN 5
CHƯƠNG I: GIỚI THIỆU CHUNG 6
1.1 Đặt vấn đề: 6
1.2 Đối tượng nghiên cứu: 6
1.3 Giải pháp thiết kế: 7
CHƯƠNG 2: THIẾT KẾ HỆ THỐNG 8
2.1 Sơ đồ khối: 8
2.2 Nguyên lý hoạt động của hệ thống: 8
2.2 Các chức năng của từng khối (hoặc module) trong hệ thống: 9
2.2.1 Khối nguồn: 9
2.2.2 Khối module Bluetooth: 10
2.2.3 Khối ngõ ra/đèn báo/rơ-le 11
2.2.4 Khối xử lí trung tâm 11
2.2.5 Khối điều khiển thiết bị 12
2.3 Lựa chọn linh kiện: 12
2.3.1 Module Arduino Uno R3: 12
a) Thông số kĩ thuật: 12
b) Bộ nhớ: 13
c) Ngõ ra I/O: 14
2.3.2 Module Bluetooth HC05: 15
a) Sơ đồ chân HC-05 gồm có: 16
2.3.3 Module nguồn LM 2596: 17
2.3.4 IC ULN 2803: 17
2.3.5 Rơ-Le: 18
2.3.6 Điện trở: 19
Trang 7CHƯƠNG 3 XÂY DỰNG HỆ THỐNG 20
3.1 Thiết kế phần cứng: 20
3.2 Sơ đồ nguyên lí: 21
3.3 Mạch in: 22
3.4 Mạch 3D: 22
3.5 Thiết kế phần mềm: 23
3.5.1 Thiết kế giao diện điều khiển trên Android: 23
3.5.1.1) Hướng dẫn cơ bản sử dụng với App Inventor: 23
3.5.1.2) Xây dựng ứng dụng điều khiển thiết bị điện qua Bluetooth: 24
a) Thiết kế giao diện: 24
b) Viết CODE: 25
c) Đóng gói ứng dụng thành file *.apk: 28
3.5.2 Mô tả phần mềm nạp chương trình cho Arduino Uno R3: 28
3.5.3 Mã lập trình 31
3.5.4 Lưu đồ giải thuật của Arduino: 32
3.5.5 Lưu đồ giải thuật chương trình trên SmartPhone: 33
CHƯƠNG 4: KẾT QUẢ VÀ HƯỚNG PHÁT TRIỂN 34
Tài liệu tham khảo: 34
Trang 8MỤC LỤC HÌNH
Hình 1: Sơ đồ khối hệ thống 8
Hình 2 : Module khối nguồn 9
Hình 3 : Module Bluetooth HC05 10
Hình 4 : Khối ngõ ra 11
Hình 5: Module Arduino Uno R3 12
Hình 6 : Module Arduino Uno R3 13
Hình 7: Module Bluetooth HC05 15
Hình 8 : Module khối nguồn LM 2596 17
Hình 9 : IC ULN 2803 18
Hình 10: Rơ-le 5 chân 19
Hình 11 : Điện trở 20
Hình 12 : Sơ đồ nguyên lí 21
Hình 13 : Mạch in 22
Hình 14 : Giao diện thiết kế trên điện thoại 28
Hình 15: Giao diện chương trình viết Arduino 29
Hình 16: Vùng lệnh chương trình 29
Hình 17 : Vùng thông báo 30
Hình 18 : Mã lập trình cho Arduino 31
Hình 19 : Lưu đồ giải thuật Arduino 32
Trang 9NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Trang 10
thống hoàn thiện gồm phần mềm và phần cứng có thể sử dụng trong các hộ gia đình, các phòng nghiên cứu
1.2 Đối tượng nghiên cứu:
Sau khi tìm hiểu thông tin về đề tài, cùng với những hiểu biết sẵn có và tìm kiếm
thông tin liên quan, chúng tôi xác định các đối tượng cần nghiên cứu là:- Công nghệ Bluetooth: khái niệm về Bluetooth, các đặc điểm của công nghệ Bluetooth, liên kết vật lý trong công nghệ Bluetooth, các chế độ kết nối, cách thức hoạt động Nghiên cứu Module Bluetooth HC-05: các thông số kỹ thuật, nguyên lý hoạt động của
module HC-05
- Hệ điều hành Android: kiến trúc hệ điều hành Android, chu kỳ hoạt động các ứng dụng chạy trên hệ điều hành Android, phần mềm hỗ trợ lập trình Android Studio,
ngôn ngữ lập trình Java,viết phần mềm ứng dụng
Trang 11- Giao tiếp với ứng dụng trên thoại qua Bluetooth (truyền nhận dữ liệu);
- Điều khiển ngõ ra bằng nút nhấn trên bộ điều khiển hoặc bằng ứng dụng trên điện thoại;
- Ngõ ra nối với các thiết bị cần điều khiển có điện áp 220VAC, công suất tối đa
1000W; có kèm theo đèn báo (led) tương ứng với trạng thái từng ngõ ra;
- Lưu lịch sử điều khiển thiết bị khi không kết nối với điện thoại và cập nhật khi kết nối với điện thoại;
- Một bộ điều khiển có thể kết nối tối đa với ba điện thoại;
- Có nút RESET để đặt lại trạng thái ban đầu cho bộ điều khiển
Trang 12Hình 1: Sơ đồ khối hệ thống
2.2/ Nguyên lý hoạt động của hệ thống:
KHỐI ĐIỀU KHIỂN ( ĐIỆN THOẠI ANDROID
MODULE NGUỒN
KHỐI MODULE BLUETOOTH
KHỐI TRUNG TÂM XỬ
LÍ
KHỐI ĐÈN BÁO/RƠLE/NGÕ RA
Trang 13Đầu tiên, khởi động phần mềm Android "Control Light" Phần mềm xuất hiện thông báo bạn có muốn bật bluetooth không (yes or no) Click yes để bật bluetooth và thực hiện tự động kết nối đến module bluetooth Phần mềm tự động lấy địa chỉ Mac của Module Bluetooth (nhập vào khi lập trình) Khi kết nối thành công phần mềm hiện thị bảng thông báo là đã kết nối Phần mềm gồm 8 Button dùng để điều khiển bật tắt 8 thiết bị trong nhà
A Khi bật thiết bị
Khi click vào một button thì phần mềm android sẻ gởi gói tin (chứa lệnh mở thiết bị) thông qua thiết bị Bluetooth của điện thoại đến Module Bluetooth HC-05 Lúc này Module Bluetooth HC-05 sẽ nhận gói tin và truyền về module Arduino để đưa tín
hiệu ra đóng Relay
B Khi tắt thiết bị
Khi click một lần nữa vào một button thì phần mềm android sẻ gởi gói tin (chứa lệnh đóng thiết bị) thông qua thiết bị Bluetooth của điện thoại đến Module Bluetooth HC-
05 Lúc này Module Bluetooth HC-05 sẽ nhận gói tin và truyền về module Arduino
để đưa tín hiệu ra mở Relay
2.2/Các chức năng của từng khối (hoặc module) trong hệ thống:
2.2.1/ Khối nguồn:
Hình 2 : Module khối nguồn
Trang 14Khố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.Mạch
ổn áp có chức năng tạo ra điện áp nhỏ hơn điện áp đầu vào và luôn duy trì mức áp này mặc dù áp đầu vào tăng/giảm Module ổn áp LM2596S sử dụng các tụ có khả
năng lọc nhiễu cao và trữ điện tốt Ngoài ra trên module có sẵn đèn LED báo hiệu
hoạt động của mạch nguồn
2.2.2 Khối module Bluetooth:
Trên thị trường hiện nay có khá nhiều module Bluetooth hỗ trợ vi điều khiểu giao
tiếp với thiết bị khác thông qua kết nối Bluetooth, một số module Bluetooth thường được sử dụng trong thực tế như: module Bluetooth HC-05, module Bluetooth HC-06 Tuy nhiên, module Bluetooth HC-05 là lựa chọn tố ưu cho đồ án này vì: giá thành rẻ hơn so với các Module khác, tốc độ hoạt động phù hợp với truyền dữ liệu điều khiển thiết bị, dễ dàng mua ở thị trường Việt Nam, được nhiều người sử dụng và đánh giá
là rất ổn định
Hình 3 : Module Bluetooth HC05
Trang 15động thì đèn bật sáng và ngược lại đèn tắt khi Rơ-le thôi tác động Relay là một công tắc điều khiển từ xa đơn giản, nó dùng một dòng nhỏ để điều khiển một dòng lớn vì vậy nó được dùng để bảo vệ công tắc nên cũng được xem là một thiết bị bảo vệ Một Relay điển hình điều khiển mạch và cả điều khiển nguồn
2.2.4 Khối xử lí trung tâm
Mô tả: Arduino UNO R3 dùng vi điều khiển ATmega328 Bộ não này có thể xử lí những tác vụ đơn giản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điều khiển từ xa, điều khiển động cơ bước, điều khiển động cơ serve, làm một trạm đo
nhiệt độ – độ ẩm và hiển thị lên màn hình LCD,… hay những ứng dụng khác
Trang 16Hình 5: Module Arduino Uno R3
2.2.5 Khối điều khiển thiết bị
Tất cả các loại điện thoại chạy hệ điều hành android có thể cài ứng dụng android, ứng dụng được viết bằng ngôn ngữ Java nhằm tạo ra một giao diện trực quan, dễ sử dụng cho việc điều khiển và giám sát các thiết bị điện Có khả năng điều khiển, giám sát 8 thiết bị
2.3 Lựa chọn linh kiện:
2.3.1 Module Arduino Uno R3:
a) Thông số kĩ thuật:
+ Vi điều khiển: ATmega 328 họ 8 bit
+ Điện áp hoạt động: 5 VDC (chỉ được cấp qua cổng USB)
+ Tần số hoạt động: 16 MHz
+ Dòng tiêu thụ: 30 mA
+ Điện áp vào khuyên dùng: 7-12 VDC
+ Điện áp vào giới hạn: 6-20 VDC
+ Số chân Digital I/O: 14 ( 6 chân hardware PWM)
Trang 17+ Số chân analog: 6 ( độ phân giải 10 bit)
+ Dòng tối đa trên mỗi chân I/O: 30 mA
+ Dòng ra tối đa (5V): 500mA
+ Dòng ra tối đa (3.3V): 50mA
+ Bộ nhớ flash: 32KB với 0.5KB dùng để bootloader
Hình 6 : Module Arduino Uno R3
b) Bộ nhớ:
- 32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ được lưu trữ trong bộ nhớ
Flash của vi điều khiển Thường thì sẽ có khoảng vài KB trong số này sẽ được dùng cho bootloader
- 2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi lập trình sẽ lưu ở đây Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà bạn phải bận tâm Khi mất điện, dữ liệu trên SRAM sẽ bị mất
Trang 18- 1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây giống như một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào đây mà không phải lo bị mất khi cúp điện giống như dữ liệu trên SRAM
- Các cổng vào ra: Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là
40mA Ở mỗi chân đều có các điện trở pull-up từ được cài đặt ngay trong vi điều
khiển ATmega328 (mặc định thì các điện trở này không được kết nối)
c) Ngõ ra I/O:
+ 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth thường thấy nói nôm na chính là kết nối Serial không
dây Nếu không cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không cần thiết
+ Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V → 5V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác
+ Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác
+ LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng
Trang 19Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0
→ 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, bạn có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit Đặc biệt, Arduino UNO
có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác
2.3.2 Module Bluetooth HC05:
Bluetooth là chuẩn truyền thông không dây để trao đổi dữ liệu ở khoảng cách
ngắn.Chuẩn truyền thông này sử dụng sóng radio ngắn(UHF radio) trong dải tần số ISM (2.4 tới 2.485 GHz) Khoảng cách truyền của module này vào khoảng 15m
Hình 7: Module Bluetooth HC05
Trang 20- Synchronous: 1Mbps/1Mbps
- Bảo mật: Authentication and encryption
- Giao tiếp: Bluetooth serial port
- Nguồn hoạt động: +3.3VDC 30mA ( Hỗ trợ IC 5.0V)
GND nối với chân nguồn GND
TXD,RXD đây là hai chân UART để giao tiếp module hoạt động ở mức logic 3.3V STATE các bạn chỉ cần thả nổi và không cần quan tâm đến chân này
Trang 212.3.3 Module nguồn LM 2596:
Sử dụng trong các mạch chuyển đổi nguồn DC – DC Sử dụng trong các mạch điện tử
hạ điện áp cao xuống điện áp thấp
Thông số kĩ thuật :
- Điện Áp In: 3 - 40V DC (Khuyến cáo sử dụng
điện áp đầu vào < 30V DC)
- Điện Áp Out: 1.5 - 35V DC
- Dòng Ra Max: 3A
- Công suất :15W
- Kích Thước: 40x21.5x13.5MM Hình 8 : Module khối nguồn LM 2596
- Điều chỉnh điện áp đầu ra bằng biến trở
- Hiệu Suất: 92%
2.3.4 IC ULN 2803:
ULN 2803 là một vi mạch đệm, bản chất cấu tạo là các mảng darlington chịu được dòng đện lớn và điện áp cao, trong đó có chứa 8 cặp transistor NPN ghép darlington cực góp hở với cực phát chung Mỗi kênh của ULN 2803 có một diode chặn có thể sử dụng trong trường hợp tải có tính cảm ứng, ví dụ như các relay ULN 2803 có khả năng điều khiển 8 kênh riêng biệt, có thể nối trực tiếp với vi điều khiển 5V Bên cạnh
đó, mỗi kênh của ULN 2803 có thể chịu được dòng điện lớn trong một khoảng thời gian dài lên tới 500mA với biên độ đỉnh lên tới 600mA
Trang 22Hình 9 : IC ULN 2803
Thông số kĩ thuật:
- Điện áp ra max: 50V (Vce)
- Điện áo vào max: 30V (Vin)
- Dòng điện đầu ra liên tục: Ic = 500mA
- Dòng điện đầu vào liên tục: IIN = 25mA
- Công suất tiêu tán trên mỗi cặp darlington: 1W
2.3.5 Rơ-Le:
Rơ-le là một công tắc điều khiển từ xa đơn giản, nó dùng một dòng nhỏ để điều khiển một dòng lớn vì vậy nó được dùng để bảo vệ công tắc nên cũng được xem là một
thiết bị bảo vệ
Trang 23- Điện áp điều khiển: 12V
- Dòng điện cực đại: 10A
Trang 24Với đồ án thiết kế mạch điện tử với đề tài là “ Mạch điều khiển thiết bị bằng
Android qua sóng Bluetooth”, việc thiết kế phần cứng của mạch hệ thống cụ thể
chia làm 5 khối cơ bản:
Trang 273.5 Thiết kế phần mềm:
3.5.1 Thiết kế giao diện điều khiển trên Android:
Ngày 12/7/2010, Google chính thức giới thiệu công cụ lập trình trực quan App
Inventor dùng để phát triển phần mềm ứng dụng trên hệ điều hành Android App
Inventor là công cụ lập trình dành cho mọi người, kể cả trẻ em.Với công cụ App Inventor, Google tạo điều kiện để mọi người
có thể tự xây dựng phần mềm ứng dụng cho thiết bị di động dùng hệ điều hành
Android
3.5.1.1 Hướng dẫn cơ bản sử dụng với App Inventor:
Để sử dụng được App Inventor, các bạn truy cập vào địa chỉ
(ai2.appinventor.mit.edu.) Sau đó tiến hành đăng nhập bằng tài khoản Google của bạn để mở trang quản lí các project Bạn có thể xem, sửa, xóa các project của mình hay Publish những project ấy