Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐
ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG BLUETOOTH Huỳnh Nil Giang, Ngụy Như Thành Lớp D19EVT, Khoa Điện - Điện tử, Trường Đại học Duy Tân Đà Nẵng, Việt Nam Email:
[email protected],
[email protected] GVHD: ThS. Võ Minh Thông Khoa Điện - Điện tử, Trường Đại học Duy Tân Tóm tắt — Ngày nay trên thế giới với sự bùng nổ của các ngành công nghệ thông tin, điện tử đã làm cho đời sống của con người ngày càng hoàn thiện. Các thiết bị thông minh đã ngày càng được ứng dụng vào cuộc sống sinh hoạt hằng ngày của mỗi con người. Đặc biệt, smartphone đã trở thành một phần quen thuộc trong cuộc sống thường nhật của mỗi cá nhân và nhu cầu ứng dụng các ứng dụng của smartphone vào đời sống ngày càng thiết thực. Bài viết này giới thiệu một cách ngắn gọn một đề tài ứng dụng thực tế điều khiển thiết bị bằng điện thoại Android qua sóng Bluetooth để nâng cao chất lượng cuộc sống con người và đáp ứng các nhu cầu ngày càng mạnh mẽ trong thời đại công nghệ số. Từ khóa — Điều khiển, giám sát thiết bị điện, Bluethooth, Android I. GIỚI THIỆU Với sự phát triển ngày càng mạnh mẽ của khoa học công nghệ, 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ữ lập trình trên nền Java lại vô cùng dễ sử dụ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 nên Arduino hiện đang dần phổ biến và được phát triển ngày càng mạnh mẽ trên toàn thế giới. Mạng trong đề tài được thiết kế theo mô hình Master/Slaver, trong đó điện thoại đóng vai trò là Master, Kit Arduino đóng vai trò Slaver. Khoảng cách truyền trong mạng này là mười 10m, đó cũng là mặt hạng chế của sóng Bluetooth. Trong đề tài này nhóm chúng tôi sử dụng thêm 4 công tắc 3 cực để thuận tiện cho việc điều khiển bằng điện thoại và điều khiển bằng tay. II. THIẾT KẾ THI CÔNG HỆ THỐNG 1. Sơ đồ khối hệ thống:
Hình 1: Sơ đồ khối hệ thống A. Khối nguồn
1
Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐ 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 đi qua và IC ổn áp 7805 để tạo nguồn 5v cung cấp cho mạch.
Hình 2: Sơ đồ mạch nguồn B. Khối điện thoại Android 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 của chúng tôi, ứ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 6 thiết bị, ngoài ra còn chức năng điều khiển độ sáng đèn thông qua SeekBar.
Hình 3: Giao diện ứng dụng trên Android C. Module Bluetooth HC-05 Dùng để thu phát sóng Bluetooth từ Mạch điều khiển trung tâm kết nối qua điện thoại Android, sử dụng Modul HC-05
2
Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐
Hình 4: Sơ đồ mạch module HC-05 D. Khối Relay Thiết kế bảo vệ sử dụng opto cách ly với mạch điều khiển. Dễ dàng điều khiển bởi hầu hết các dòng vi điều khiển Arduino, 8051, AVR, PIC, DSP, ARM, PLC, MSP430, TTL, logic ... Relay hiệu suất cao: 250VAC/10A; 30VDC/10A. Mỗi kênh chỉ cần dòng 15-20mA để điều khiển Relay được tác động ở mức thấp (LOW) Khối Công suất gồm: Rơle 5V. 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. Kết cấu relay gồm có một lõi sắt, một cuộn từ và một tiếp điểm.
Hình 5: Mạch Relay thực tế E. Khối công tắc 3 cực:
Hình 6: Công tắc 3 cực Công tắc 3 cực làm nhiệm vụ kết hợp cới relay 3 chân, cho việc điều khiển các thiết bị cơ động hơn. Tạo mối liên kết chặt chẽ giữa phần mềm điều khiển trên điện thoại và thao tác phần cứng. Điều khiển bằng tay và điều khiển bằng phần mềm. 2. Nguyên lý hoạt động của hệ thống Đầu tiên, khởi động phần mềm Android "Điều khiển thiết bị". 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ị Toast thông báo là đã kết nối. Phần mềm gồm 6 Button dùng để điều khiển bật tắt 6 thiết bị trong nhà và 1 seekbar dùng để điều khiển độ sáng của đèn hoặc tốc
3
Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐ độ quay của quạt máy. Phần cứng còn kết nối với 4 công tắc 3 cực để bật hoặc tắt thiết bị( bật bằng công tắc và tắt bằng điện thoại hoặc tắt bằng điện thoại và bật bằng công tắc), phòng trường hợp điện thoại hết pin hay bị trục trặc. 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 các Opto làm cấp điện cho các Relay đóng. 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ở các Opto làm mất điện cho các Relay mở. 3. Lưu đồ thuật toán: A. Thuật toán chương trình trên Smart Phone
Hình 7. Lưu đồ Thuật toán chương trình trên Smart Phone ¬ Giải thích lưu đồ hình 7:
4
Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐ Hiển thị hộp thoại thông báo ứng dụng muốn bật Bluetooth. Chọn Yes để bật Bluetooth, chọn No để thoát ứng dụng. Nếu chọn Yes phần mềm tìm kiếm thiết bị và kết nối đến địa chỉ Mac của thiết bị đã lưu trên code. Kết nối thành công sẽ xuất hiện Toast (Một dòng thông báo nhanh) thiết bị đã được ghép nối. Kết nối không thành công sẽ quay lên tìm kiếm lại thiệt bị. Giao diện ứng dụng chờ có sự kiện nào được chọn. Nếu có thì gửi đi một kí tự (nếu ấn button) hoặc 1 byte dữ liệu(nếu điều chỉnh độ sáng đèn). B. Thuật toán chương trình trên Vi điều khiển
Hình 8. Lưu đồ Thuật toán chương trình trên Vi điều khiển ¬ Giải thích lưu đồ hình 8: Thiết lập các thông số ban đầu, cài đặt tốc độ baud là 9600. Kiểm tra liên tục có kí tự hoặc byte nào được nhận. Nếu có, tùy vào ký tự nhận được chương trình chính sẽ gọi đến chương trình con điều khiển. Tương tự nếu nhận được byte dữ liệu chương trình chính sẽ gọi đến gọi đến chương trình con điều chỉnh độ sáng đèn. C. Chương trình con điều chỉnh độ sáng đèn: ¬ Giải thích lưu đồ hình 9: Kiểm tra nếu giá trị pIndex đã tăng từ 0 đến 2 chưa nếu chưa thì quay lại kiểm tra pIndex, bằng 2 thì thực hiện kiểm tra gói tin có mang mã là ‘r’ hay không, nếu có thì gán giá trị của gói tin vào biến giá trị rValue, nếu không thì bỏ qua bước gán dự liệu. Xuất giá trị điện áp ra các chân I/O đã định nghĩa (giá trị điện áp thay đổi từ 0V đến 5V, tương ứng giá trị nhận được từ ứng dụng android là 0 đến 255 trong 8 bít dữ liệu). Xóa giá trị pIndex về 0 và cuối cùng thoát chương trình con.
5
Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐
Hình 9. Lưu đồ Chương trình con điều chỉnh độ sáng đèn D. Chương trình con điều khiển đóng ngắt thiết bị ¬ Giải thích lưu đồ hình 10: Dùng câu lệnh switch, care kiểm tra các kí tự từ ứng dụng android gửi đến, ứng với mỗi kí tự sẽ được gán sự kiện mức cao hoặc mức thấp của các chân I/O. Cuối cùng là thoát chương trình con. 4. Mô hình hoàn thiện Mô hình hoàn thiện của hệ thống gồm các phần như ở hình số 11. Các thông số kỹ thuật: • Điều khiển đóng ngắt 5 thiết bị • Tốc độ truyền tải dữ liệu: 3Mbps(version 2.0+EDR). • Cự ly truyền tín hiệu thực tế là 18-20m không vật cản, và 15-17m có vật cản. • Relay có thể đóng mở cho tải DC or AC + DC: 10A-30V + AC: 10A-250V • Điện áp 220V-0.2A. • Có tính bảo mật cao vì địa chỉ ID module Bluetooth được gắn cố định trong ứng dụng android. • Thay đổi được độ sáng của đèn thông quá SeekBar trên phần mềm Android.
6
Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐
Hình 10. Lưu đồ Chương trình con điều chỉnh độ sáng đèn
Module Bluetooth
Đèn thay đổi độ sáng. Thiết bị điện được Điều khiển
Module Arduino Công tắc Trực tếp Khối Nguồn
Mạch Relay
Hình 11. Mô hình hoàn thiện của hệ thống
7
Tuyển tập đề tài nghiên cứu khoa học sinh viên Khoa Điện – Điện tử giai đoạn 2011-‐2015 -‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐-‐ III. KẾT LUẬN Sau 4 tháng nổ lực chúng tôi đã hoàn thành đề tài “ĐIỀU KHIỂN THIẾT BỊ BẰNG ĐIỆN THOẠI ANDROID QUA SÓNG BLUETOOTH” đúng thời gian quy định. Về cơ bản đã giải quyết được các vấn đề đặt ra về nội dung cũng như hình thức. Đây là một đề tài mang tính tổng hợp bao gồm cả thiết kế thi công mạch và kỹ thuật lập trình. Mặc dầu, chúng tôi đã tìm hiểu được các hoạt động các đặc trưng về phần cứng cũng như phần mềm lập trình module Arduino, nắm bắt được các tính năng ưu việt của module điều khiển này trong việc ứng dụng đo lường giám sát, điều khiển và đã có nhiều cố gắng tìm tòi nghiên cứu, tuy nhiên đề tài cũng có một số mặt hạn chế cần phát triển tiếp. Ưu điểm: - Giao diện Android đẹp, dễ dàng cài đặt trên hầu hết các điện thoại và máy tính bảng chạy android. - Tốc độ xử lý nhanh. Nhược điểm: - Cự ly truyền dữ liệu giữa điện thoại đến module Bluetooth còn hạng chế. - Chưa nắm được trạng thái của thiết bị khi điều khiển. TÀI LIỆU THAM KHẢO [1] Phạm Minh Hà, 1997. Kỹ thuật mạch điện tử. Nhà xuất bản Khoa Học và Kỹ Thuật. Hà Nội. [2] Nguyễn Hữu Phương, 2001. Mạch số. Nhà xuất bản Thống Kê. [3] Phạm Minh Hà, 1997. Kỹ thuật mạch điện tử, Nhà xuất bản Khoa Học- Kỹ Thuật. [4] Hoàng Minh Sơn, 2007. Mạng truyền thông công nghiệp. Nhà xuất bản Khoa Học- Kỹ Thuật. [5] http://developer.android.com [6] http://www.alldatasheet.com [7] http://blogembarcado.blogspot.de/ [8] http://stackoverflow.com/
8