1. Trang chủ
  2. » Luận Văn - Báo Cáo

Thiết kế và thi công hệ thống điều khiển tốc độ động cơ của quạt máy thông qua ứng dụng điện thoại android

85 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 85
Dung lượng 3,89 MB

Nội dung

MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP ii LỜI CAM ĐOAN iv LỜI CẢM ƠN v MỤC LỤC vi DANH MỤC HÌNH ẢNH viii DANH MỤC BẢNG x TÓM TẮT xi Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU .2 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN .3 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT .4 2.1 QUY TRÌNH ĐIỀU KHIỂN ĐỘNG CƠ CỦA HỆ THỐNG 2.2 CƠ SỞ LÝ THUYẾT 2.2.1 Arduino Uno R3 2.2.2 Module HC - 05 2.2.3 LCD 16x2 2.2.4 Mạch chuyển đổi I2C cho LCD 2.2.5 Giao tiếp I2C 2.2.6 Giao tiếp UART 2.2.7 IC cách ly quang TLP250 2.2.8 IGBT 25N120 2.2.9 Encoder KY - 040 Chương TÍNH TỐN VÀ THIẾT KẾ 12 3.1 GIỚI THIỆU 12 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 12 3.2.1 Thiết kế sơ đồ khối hệ thống 12 3.2.2 Lựa chọn, tính tốn thiết kế mạch .13 3.2.3 Sơ đồ nguyên lý toàn mạch .21 Chương THI CÔNG HỆ THỐNG .22 4.1 GIỚI THIỆU 22 4.2 THI CÔNG HỆ THỐNG 22 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vi 4.2.1 Thi công bo mạch .22 4.2.2 Lắp ráp kiểm tra 24 4.3 ĐĨNG GĨI VÀ THI CƠNG MƠ HÌNH 25 4.3.1 Đóng gói điều khiển 25 4.3.2 Thi cơng mơ hình .25 4.4 LẬP TRÌNH HỆ THỐNG 28 4.4.1 Lưu đồ giải thuật 28 4.4.2 Phần mềm lập trình cho vi điều khiển 32 4.4.3 Phần mềm lập trình cho điện thoại, máy tính, … 36 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC .39 4.5.1 Viết tài liệu hướng dẫn sử dụng .39 4.5.2 Quy trình thao tác .40 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 43 5.1 ĐÁNH GIÁ SẢN PHẨM 43 5.1.1 Đánh giá khả điều khiển kỹ thuật đề xuất 43 5.1.2 Đánh giá chức vận hành phần mềm xây dựng 47 5.2 ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC 53 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 54 6.1 KẾT LUẬN 54 6.2 HƯỚNG PHÁT TRIỂN 54 TÀI LIỆU THAM KHẢO 55 PHỤ LỤC 56 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH vii DANH MỤC HÌNH ẢNH Hình 2.1 Hình ảnh minh họa cho Ardunio UNO R3 Hình 2.2 Hình minh họa cho Module Bluetooth HC-05 .5 Hình 2.3 LCD 16x2 Hình 2.4 Hình minh họa mạch chuyển đổi I2C cho LCD Hình 2.5 Sơ đồ kết nối giao tiếp UART .7 Hình 2.6 Hình ảnh minh họa cho IC cách quang TLP250 Hình 2.7 Hình minh họa sơ đồ chân IC cách quang TLP250 Hình 2.8 IGBT 25N120 Hình 2.9 Sơ đồ chân IGBT 25N120 Hình 2.10 Hình minh họa cho Encoder 040 Hình 2.11 Hình ảnh minh họa Encoder 10 Hình 2.12 Hình minh họa cho cấu tạo Encoder 10 Hình 2.13 Hình minh họa cho hình dạng Encoder 11 Hình 3.1 Sơ đồ khối hệ thống 12 Hình 3.2 Sơ đồ nguyên lý tổng quát Arduino Uno R3 13 Hình 3.3 Sơ đồ kết nối Arduino Uno R3 với Encoder Ky-040 HC-05 14 Hình 3.4 Kết nối LCD với mạch chuyển giao tiếp I2C .15 Hình 3.5 Sơ đồ nguyên lý kết nối Arduino Uno R3 với LCD .16 Hình 3.6 Sơ đồ nguyên lý mạch cách ly dùng TLP250 .17 Hình 3.7 Sơ đồ nguyên lý mạch công suất 17 Hình 3.8 Sơ đồ nguyên lý kết nối Arduino Uno R3 với khối cơng suất 19 Hình 3.9 Adapter nguồn 9V – 1A 20 Hình 3.10 Adapter nguồn đơi 12V – 1A .20 Hình 3.11 Sơ đồ nguyên lý hệ thống .21 Hình 4.1 Mặt mạch PCB 22 Hình 4.2 Mặt mạch PCB 23 Hình 4.3 Sơ đồ bố trí linh kiện 23 Hình 4.4 Mặt mạch sau lắp ráp hàn linh kiện 25 Hình 4.5 Mặt mạch sau lắp ráp hàn linh kiện 26 Hình 4.6 Lắp đặt mạch module nguồn lên mặt đế quạt 26 Hình 4.7 Lắp đặt HC-05, LCD I2C, Encoder Ky 040 lên mặt quạt 27 Hình 4.8 Quạt sau lắp đặt xong 27 Hình 4.9 Lưu đồ giải thuật cho Arduino Uno R3 28 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH viii Hình 4.10 Lưu đồ chương trình xử lý thực liệu nhận .29 Hình 4.11 Lưu đồ ứng dụng điện thoại 30 Hình 4.12 Lưu đồ kết nối Bluetooth .31 Hình 4.13 Hình minh họa quy trình làm việc arduino 32 Hình 4.14 Giao diện lập trình Arduino 33 Hình 4.15 Hình minh họa giao diện file menu Ardunio 33 Hình 4.16 Giao diện Sketch Menu Arduino IDE 34 Hình 4.17 Giao diện Tool Menu Arduino IDE 35 Hình 4.18 Hình minh họa cho việc chọn Board Arduino cần sử dụng 35 Hình 4.19 Hình minh họa Arduino Toolbar .36 Hình 4.20 Tạo dự án Android Studio 36 Hình 4.21 Hộp thoại chọn thiết bị lập trình 37 Hình 4.22 Cấu hình cho dự án Android Studio 37 Hình 4.23 Phần mềm build biến cho dự án ban đầu 38 Hình 4.24 Giao diện lập trình phần mềm Android Studio 38 Hình 4.25 Chạy mô ứng dụng viết .39 Hình 4.26 Lưu đồ quy trình thao tác 40 Hình 4.27 Lưu đồ quy trình điều khiển từ xa .41 Hình 4.28 Lưu đồ quy trình điều khiển tay 42 Hình 5.1 Dạng sóng điện áp ngõ cấp số 25 .43 Hình 5.2 Dạng sóng điện áp ngõ cấp số 50 .44 Hình 5.3 Dạng sóng điện áp ngõ cấp số 75 .44 Hình 5.4 Dạng sóng dịng điện ngõ cấp số 25 với R để đo dịng 100Ω 44 Hình 5.5 Dạng sóng dịng điện ngõ cấp số 50 với R để đo dịng 100Ω 45 Hình 5.6 Dạng sóng dịng điện ngõ cấp số 75 với R để đo dịng 100Ω 45 Hình 5.7 Dạng sóng xung kích cho IGBT cấp số 25 45 Hình 5.8 Dạng sóng xung kích cho IGBT cấp số 50 46 Hình 5.9 Dạng sóng xung kích cho IGBT cấp số 75 46 Hình 5.10 Chỉ số THD cấp số 75 46 Hình 5.11 Chỉ số THD cấp số 100 47 Hình 5.12 Biểu tượng ứng dụng điều khiển 47 Hình 5.13 Giao diện kết nối Bluetooth 47 Hình 5.14 Giao diện cài đặt Bluetooth mặc định điện thoại 48 Hình 5.15 Giao diện chờ cập nhật liệu ứng dụng 49 Hình 5.16 Giao diện điều khiển quạt từ xa 49 Hình 5.17 Điều khiển từ xa quạt vận hành mức tốc độ 50 50 BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH ix Hình 5.18 Điều khiển từ xa quạt vận hành mức tốc độ 80 50 Hình 5.19 Ban đầu quạt tắt đứng yên 51 Hình 5.20 Quạt vận hành với mức tốc độ 50 52 Hình 5.21 Quạt vận hành với mức tốc độ 25 52 Hình 5.22 Quạt vận hành với mức tốc độ 80 52 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH x DANH MỤC BẢNG Bảng 3.1: Kết sau đo thông số quạt 18 Bảng 3.2: Dòng tiêu thụ điện áp hoạt động module 20 Bảng 4.1 Danh sách linh kiện 24 Bảng 5.1 Đánh giá tổng méo hài điện áp ngõ điều khiển 43 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH x TÓM TẮT Hiện nay, với phát triển mạnh mẽ khoa học công nghệ thiết bị, hệ thống thơng minh dần tạo Các hệ thống điều khiển thông minh sử dụng rộng rãi đời sống, bật ứng dụng nhiều nói đến hệ thống thơng minh điều khiển thiết bị điện nhà nói đến thiết bị điện hộ gia đình khơng thể khơng nhắc đến quạt máy Hiện xu hướng điều khiển số với module chuyên dụng module LED, module Wifi, Bluetooth, board điều khiển Arduino, Raspberry, … phát triển cách mạnh mẽ Nhờ mà việc điều khiển hệ thống trở lên thuận tiện dễ dàng nhiều Nội dung đề tài áp dụng kiến thức điện tử kiến thức vi điều khiển học để thiết kế hệ thống điều khiển tốc độ động quạt máy Hệ thống gồm mạch công suất điều khiển tốc độ động với điều khiều khiển trung tâm Arduino Uno R3 Không thay đổi tốc độ trạng thái động nút nhấn nút xoay mạch cơng suất mà cịn điều khiển thông qua ứng dụng Android điện thoại thông minh giao tiếp với vi điều khiển thông qua module Bluetooth HC-05 Số liệu hiển thị LCD 16X2 giao diện ứng dụng cách trực quan, dễ nhìn giúp người sử dụng dễ dàng thấy trạng thái tốc độ quạt máy Tốc độ động bao gồm nhiều cấp số khác khiến người sử dụng thay đổi để phù hợp với yêu cầu thân BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH xi CHƯƠNG TỔNG QUAN Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Hiện nay, với phát triển mạnh mẽ khoa học công nghệ thiết bị, hệ thống thơng minh dần tạo Các hệ thống điều khiển thông minh sử dụng rộng rãi đời sống, chẳng hạn hệ thống thông minh điều khiển thiết bị điện nhà [1] Các thiết bị điện hộ gia đình có lẽ khơng thể khơng nhắc đến quạt máy Nguyên tắc hoạt động đa số quạt máy có dịng điện chạy dây dẫn quấn lõi sắt từ (hay gọi phe silic) làm tole silic mỏng ghép nhiều miếng lại với tạo lực tác động lên Rotor [2] Do vị trí cuộn dây (dây chạy dây đề) đặt lệch tác dụng làm lệch pha tụ điện tạo lịng Stator lực hút khơng phương với Vì hai lực hút lệch thời gian phương nên tạo lòng stator từ trường quay làm cho Rotor quay Để thay đổi tốc độ quạt người thay đổi điện kháng mắc nối tiếp với cuộn chạy nhằm thay đổi đổi dòng qua Stator Cuộn kháng thường quấn Stator với quạt quấn hộp số với quạt trần Như vậy, để tạo động quạt máy có ba chế độ quạt ta cần tới bốn cuộn dây bao gồm cuộn chạy, hai cuộn số cuộn Với cách thực thay đổi tốc độ làm tăng chi phí sản xuất quạt tăng lượng dây đồng, khối lượng lõi thép tổn hao lượng cuộn kháng Để giảm giá thành, năm trước kỹ thuật đề xuất sử dụng khóa cơng suất TRIAC thay đổi điện áp đặt lên cuộn chạy thay đổi dịng điện stator thay đổi tốc độ Kỹ thuật cho phép khơng sử dụng cuộn kháng giảm lượng dây đồng khối lượng quạt Tuy nhiên dòng điện stator có hình dạng khơng sine nên dịng điện quat gây có sóng hài bậc cao ảnh hưởng đến chất lượng điện Bên cạnh dịng điện khơng sine nên moment quạt khơng dẫn đến mau hư bạc đạn Nhận thấy nhược điểm sử dụng nguyên lý điều khiển tốc độ quạt máy trên, với xu hướng điều khiển số với module chuyên dụng module LED, module Wifi, Bluetooth, board điều khiển Arduino, Raspberry, nhóm làm đề tài kiến nghị thực việc thiết kế thi công hệ thống áp dụng VXL Arduino module Bluetooth HC-05 để điều khiển tốc độ quạt máy phương pháp BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG TỔNG QUAN điều khiển điện áp đầu vào động quạt với đặc điểm không sử dụng cuộn số, không sử dụng linh kiện cơng suất gây méo hài dịng điện lớn SCR hay TRIAC, có khả điều khiển số cấp lớn Đó nội dung đề tài “Thiết kế thi công hệ thống điều khiển tốc độ động quạt máy thông qua ứng dụng điện thoại Android” 1.2 MỤC TIÊU Thiết kế thi công hệ thống điều khiển tốc độ động quạt máy thông qua ứng dụng điện thoại Android để giải vấn đề đặt phương pháp tăng/giảm điện áp ngõ vào xoay chiều quạt máy (phát triển dựa mạch giảm áp chiều [3]) làm thay đổi tốc độ động quạt máy Phương pháp giúp hệ thống không sử dụng linh kiện công suất gây méo hài dịng điện lớn SCR hay TRIAC (khơng ảnh hưởng đến lưới điện), không sử dụng cuộn số quạt (giảm giá thành), điều khiển số cấp lớn (đáp ứng yêu cầu người sử dụng tốt hơn) Ngoài ra, vi điều khiển Arduino Uno R3 dùng để điều khiển điện áp ngõ vào xoay chiều quạt thông qua mạch công suất (mạch giảm áp AC/AC dùng IGBT25N120 TLP250) điều khiển ngoại vi khác hình LCD 16x2 để hiển thị trạng thái quạt, module Encoder KY-040 dùng để điều khiển quạt tay module HC-05 dùng để kết nối ứng dụng điện thoại để điều khiển quạt với hệ thống thơng qua Bluetooth (có thể tích hợp vào hệ thống nhà thông minh tương lai) 1.3 NỘI DUNG NGHIÊN CỨU Trong trình thực Đồ án tốt nghiệp với đề tài Thiết kế thi công hệ thống điều khiển tốc độ động quạt máy thơng qua ứng dụng điện thoại Android, nhóm chúng em tập trung giải hoàn thành nội dung sau: • NỘI DUNG 1: Kết nối Arduino Uno với Module Bluetooh HC-05 hình LCD • NỘI DUNG 2: Nghiên cứu xây dựng mạch công suất để điều khiển điện áp đầu vào quạt thơng qua Arduino Uno • NỘI DUNG 3: Kết nối Arduino Uno với mạch cơng suất • NỘI DUNG 4: Nghiên cứu xây dựng ứng dụng Android giao tiếp với hệ thống thơng qua Bluetooth • NỘI DUNG 5: Thiết kế mơ hình hệ thống BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH CHƯƠNG TỔNG QUAN • NỘI DUNG 6: Nghiên cứu lập trình để điều khiển mạch công suất, hiển thị cấp số quạt • NỘI DUNG 7: Thi cơng phần cứng, chạy thử nghiệm hiệu chỉnh hệ thống • NỘI DUNG 8: Viết báo cáo thực • NỘI DUNG 9: Bảo vệ luận văn 1.4 GIỚI HẠN Các thông số giới hạn đề tài bao gồm: • Động công suất 30 đến 60W tương ứng với quạt thơng dụng thị trường • Ứng dụng điện thoại chạy hệ điều hành Android • Giao tiếp điện thoại với hệ thống qua bluetooth phạm vi 10m với địa hình thơng thống 1.5 BỐ CỤC • Chương 1: Tổng Quan Chương trình bày đặt vấn đề dẫn nhập lý chọn đề tài, mục tiêu, nôi dung nghiên cứu, giới hạn thơng số bố cục đồ án • Chương 2: Cơ Sở Lý Thuyết Chương trình bày sở lý thuyết module sử dụng trình thực đồ án • Chương 3: Thiết Kế Tính Tóan Chương trình bày q trình thiết kế tính tốn phần cứng app liên quan đến đồ án • Chương 4: Thi cơng hệ thống Chương trình bày q trình thi cơng hồn thiện hệ thống tồn đề tài • Chương 5: Kết Quả, Nhận Xét Đánh Giá Chương trình bày kết đồ án, đưa nhận xét đánh giá kết cuối đồ án • Chương 6: Kết luận Hướng phát triển Chương trình bày ưu điểm nhược điểm đồ án, sau đưa hướng phát triển đồ án BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH PHỤ LỤC bigNumberAt(10, 0); // BIG SPACE bigNumberAt(10, 3); // BIG SPACE bigNumberAt( 0, 7); // Character bigNumberAt(12, 10); // Character F bigNumberAt(12, 13); // Character F } CODE ANDROID STUDIO package com.example.controllerfan; import androidx.annotation.NonNull; import androidx.annotation.RequiresApi; import androidx.appcompat.app.AppCompatActivity; import android.app.ProgressDialog; import android.bluetooth.BluetoothAdapter; import android.bluetooth.BluetoothDevice; import android.bluetooth.BluetoothSocket; import android.content.Intent; import android.os.AsyncTask; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.CompoundButton; import android.widget.ProgressBar; import android.widget.SeekBar; import android.widget.TextView; import android.widget.Toast; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStream; import java.util.UUID; public class ControlFan extends AppCompatActivity { static final UUID myUUID = UUID.fromString("00001101-0000-1000-800000805F9B34FB"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 64 PHỤ LỤC Button btnPlus, btnSub, btnDis, btnOn, btnOff; SeekBar seekBarSpeed; TextView valueOfSpeed, titleDeviceConnected; ProgressBar progressBarValue; private ProgressDialog progress; String dataToUpdate; String address = ""; String recDataString = ""; int valueInt; BluetoothAdapter bluetoothAdapter = null; BluetoothSocket bluetoothSocket = null; private boolean isConnected = false; private boolean newData = false; private boolean recvInProgress = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_control_fan); Intent intent = getIntent(); DeviceItem deviceToConnect = (DeviceItem) intent.getSerializableExtra(ConnectBluetooth.EXTRA_ADDRESS); address = deviceToConnect.getAddress(); //call the widgtes btnPlus = (Button)findViewById(R.id.btnPlus); btnSub = (Button)findViewById(R.id.btnSub); btnDis = (Button)findViewById(R.id.btnDisconnect); seekBarSpeed = (SeekBar)findViewById(R.id.seekBar); valueOfSpeed = (TextView)findViewById(R.id.textViewValue); titleDeviceConnected = (TextView) findViewById(R.id.txtViewTitleDeviceConnected); btnOn = (Button) findViewById(R.id.btnOn); btnOff = (Button) findViewById(R.id.btnOff); progressBarValue = (ProgressBar) findViewById(R.id.progressBarValue); new ConnectBT().execute(); titleDeviceConnected.setText(deviceToConnect.getDeviceName()); btnDis.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //If the btSocket is busy BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 65 PHỤ LỤC if (bluetoothSocket!=null) { disconnect(); } } }); btnPlus.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (bluetoothSocket!=null) { valueInt = progressBarValue.getProgress() + 1; if (valueInt = 0){ sendData(String.valueOf(valueInt)); sendData("ST"); progressBarValue.setProgress(valueInt); seekBarSpeed.setProgress(valueInt); valueOfSpeed.setText(String.valueOf(valueInt)); } } } }); btnOn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendData("TO"); btnOnView(); } }); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 66 PHỤ LỤC btnOff.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { sendData("TF"); btnOffView(); } }); seekBarSpeed.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { if (fromUser){ sendData(String.valueOf(progress)); valueOfSpeed.setText(String.valueOf(progress)); progressBarValue.setProgress(progress); Log.d("aa",String.valueOf(progress)); } } @Override public void onStartTrackingTouch(SeekBar seekBar) { } @Override public void onStopTrackingTouch(SeekBar seekBar) { sendData("ST"); } }); } @Override protected void onResume() { super.onResume(); if (!bluetoothAdapter.isEnabled()){ showToast("Bluetooth bị tắt.\nVui lòng bật kết nối lại!!!"); disconnect(); } else { // phát triển thêm dùng chiết áp phần cứng if(isConnected == true){ sendData("UD"); readData(); updateState(dataToUpdate); } } } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 67 PHỤ LỤC @Override protected void onDestroy() { super.onDestroy(); if (bluetoothSocket!=null) { try { //close connection bluetoothSocket.close(); } catch (IOException e) { showToast("Lỗi: Không thể ngắt kết nối");} } } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_list, menu); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.menuAbout: Intent intentAbout = new Intent(ControlFan.this, AboutApp.class); startActivity(intentAbout); break; case R.id.menuHelp: Intent intentHelp = new Intent(ControlFan.this, HelpUser.class); startActivity(intentHelp); break; } return super.onOptionsItemSelected(item); } //toast message function private void showToast(String msg){ Toast.makeText(this, msg, Toast.LENGTH_LONG).show(); } private class ConnectBT extends AsyncTask // UI thread { private boolean ConnectSuccess = true; //if it's here, it's almost connected @Override BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 PHỤ LỤC protected void onPreExecute() { //show a progress dialog progress = ProgressDialog.show(ControlFan.this, "Đang kết nối ", "Chờ chút!!!"); } //while the progress dialog is shown, the connection is done in background @Override protected Void doInBackground(Void devices) { try{ if (bluetoothSocket == null || !isConnected) { // lấy default adapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter(); // Lấy quyền điều khiển thiết bị kết nối BluetoothDevice remoteDevice = bluetoothAdapter.getRemoteDevice(address);//connects to the device's address and checks if it's available // Tạo kênh Rfcomm để kết nối truyền liệu với uuid bluetoothSocket = remoteDevice.createInsecureRfcommSocketToServiceRecord(myUUID); // hủy tìm kiếm BluetoothAdapter.getDefaultAdapter().cancelDiscovery(); bluetoothSocket.connect(); } } catch (IOException e){ ConnectSuccess = false; } return null; } //after the doInBackground, it checks if everything went fine @Override protected void onPostExecute(Void result) { super.onPostExecute(result); if (!ConnectSuccess) { showToast("Kết nối thất bại! Đó có phải SPP Bluetooth? Hãy thử lại!"); finish(); } else { showToast("Đã kết nối"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 PHỤ LỤC isConnected = true; sendData("UD"); readData(); updateState(dataToUpdate); } progress.dismiss(); } } private void updateState(String dataToUpdate) { if (dataToUpdate.charAt(0) == '1'){ btnOnView(); } else { btnOffView(); } int temp = Integer.parseInt(dataToUpdate.substring(1, dataToUpdate.length())); setProgressSpeed(temp); } private void setProgressSpeed(int progressSpeed) { valueOfSpeed.setText(String.valueOf(progressSpeed)); progressBarValue.setProgress(progressSpeed); seekBarSpeed.setProgress(progressSpeed); } private void btnOnView(){ btnSub.setEnabled(true); btnPlus.setEnabled(true); btnOn.setEnabled(false); btnOff.setEnabled(true); seekBarSpeed.setEnabled(true); } private void btnOffView(){ btnSub.setEnabled(false); btnPlus.setEnabled(false); btnOn.setEnabled(true); btnOff.setEnabled(false); seekBarSpeed.setEnabled(false); } private void readData(){ byte[] buffer = new byte[1]; int bytes; //while (!newData) { for (int i = 0; i

Ngày đăng: 01/11/2022, 12:58

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w