+ Chọn vị trí để cài đặt Android Studio (dung lượng tối thiểu 500 MB) và vị trí cài đặt SDK (dung lượng tối thiểu 3.2 GB). Nhấn Next để tiếp tục:
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 63 Hình 4.27. Chọn ổ đĩa để cài đặt.
+ Chọn dung lượng bộ nhớ cho HAXM, khoảng 2 - 3GB là đủ.
Hình 4.28. Chọn dung lượng bộ nhớ cho HAXM.
+ Cuối cùng, chọn Install để quá trình cài đặt được bắt đầu.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 64
Bước 3: Chạy Android Studio
+ Khi chạy ứng dụng lần đầu sẽ có hộp thoại hỏi ta có import setting từ những version android đã có hay khơng, bước này ta có thể bỏ qua khơng cần quan tâm.
Hình 4.30. Chọn dịng thứ 2 để chạy ứng dụng.
+ Chọn giao diện, mặc định có 2 giao diện, đen và trắng ta có thể thay đổi trong mục cài đặt sau khi khởi động.
+ Ở lần chạy đầu tiên, Android cần phải tải về một số thành phần. Ta cần phải chờ đợi cho đến khi tải về và cài đặt q trình hồn thành là xong.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 65 c. Viết chương trình hệ thống
Đối với người thực hiện đề tài này, tự nhận thấy là một người không chuyên về lập trình trên mơi trường Android Studio nên trong đề tài ta chỉ cần quan tâm đến ba thành phần chính trong Adroid Studio để phát triển ứng dụng phục vụ yêu cầu của đề tài. Ba thành phần đó là: AndroidMainfest.xml, activity_main.xml và MainActivity.java. AndroidMainfest.xml.
Trong bất kỳ một project Android nào khi tạo ra đều có một file
AndroidMainfest.xml, file này được dùng để định nghĩa các screen (màn hình, sau
này ta dùng tên là Activity) sử dụng, các permission (các cấp quyền) cũng như các theme (chủ đề) cho ứng dụng. Đồng thời nó cũng chứa thơng tin về phiên bản SDK
cũng như Main_Activity sẽ chạy đầu tiên. Trong file AndroidMainfest.xml bao giờ
cũng có 3 thành phần chính đó là: Application, permission và version.
Trong đề tài này, chúng ta chỉ cần quan tâm đến thành phần permission trong AndroidMainfest.xml. Vì chúng ta cần cấp phát quyền sử dụng các yếu tố trên thiết
bị Adroid như: Bluetooth cho ứng dụng để thực hiện yêu cầu của đề tài. Các thành phần khác ta sẽ để mặc định (default).
AndroidMainfest.xml
Hình 4.32. Nội dung của file AndroidMainfest.xml.
Ở hình trên, ta có thể dễ dàng nhận thấy có nội dung đã được cấp quyền đó là: + Quyền sử dụng Bluetooth với cú pháp:
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> <uses-permission android:name="android.permission.BLUETOOTH"/>
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 66
Activity_main.xml
+ Trong một project Android, file activity_main.xml là nơi chứa các thông tin về thiết kế giao diện ứng dụng (chỉ của riêng màn hình chính của ứng dụng). Các đối tượng tương tác trên ứng dụng như: Nút nhấn(Button), danh sách (ListView), nhãn (TextView), v.v… đều được mô tả chi tiết trên file này.
+ Có 2 thành phần chính trong activity_main.xml đó là: Design và Text.
Design: Là thành phần chứa các đối tượng lập trình của ứng dụng. Giao diện
của thành phần này bao gồm:
- Cột trái: Danh sách các đối tượng xếp theo nhóm (Layout, Widgets, Text Fields, Containers, v.v…).
- Cột giữa: Mô phỏng giao diện thực tế (các đối tượng sẽ được thiết kế vào đây).
- Cột phải: Nơi xác định những thuộc tính của đối tượng.
Hình 4.33. Thành phần Design của activity_main.xml.
Text: Là thành phần mơ tả một cách chi tiết thuộc tính của từng đối tượng đã
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 67
- Khi người lập trình có nhu cầu điều chỉnh một cách chính xác các thuộc tính của đối tượng như: Địa chỉ, chiều cao, độ rộng, khoảng cách giữa các thuộc tính, vị trí, màu sắc, v.v… trên giao diện thiết kế thì có thể can thiệp vào thành phần này.
- Nếu như việc thiết kế chỉ mang tính tương đối thì ta chỉ việc kéo thả và điều chỉnh đối tượng sao cho vừa ý trong thành phần Design mà không cần can thiệp vào thành phần Text.
+ Ví dụ cú pháp để mô tả 1 nút nhấn đơn giản:
<Button
android:layout_width="wrap_content" (chiều cao) android:layout_height="wrap_content" (chiều cao)
android:text="New Button" (nhãn thể hiện tên) android:id="@+id/button" (địa chỉ dùng để truy xuất) android:layout_below="@+id/textView" (layout_below)
android:layout_centerHorizontal="true" (phần bố chính giữa)
android:layout_marginTop="51dp" /> (khoảng cách với viền trên cùng là 51dp)
Hình 4.34. Thành phần Text của activity_main.xml.
MainActivity.java
+ MainActivity.java là class chứa toàn bộ source code của màn hình giao diện đã thiết kế ở activity_main.xml.
+ Các thao tác lập trình, xây dựng cách thức hoạt động của ứng dụng đều được thực hiện trên thành phần MainActivity.java dựa trên giao diện các đối tượng đã thiết kế trước đó trên activity_main.xml.
CHƯƠNG 4. THI CƠNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 68 Hình 4.35. Giao diện thành phần MainActivity.java.
Ở Hình 4.28, ta thấy nội dung đầu của MainActivity.java được chia làm 3 phần: + Import: Nơi add các thư viện cần sử dụng (thường phần này sẽ tự import).
+ Hàm onCreate(): Nơi diễn ra các hoạt động của ứng dụng trên giao diện chính (các thao tác lập trình chủ yếu thực hiện trên phần này).
+ Hàm onCreateOptionMenu() và hàm onOptionsItemSelected(): Nơi xử lý đối tượng là nút nhấn setting của ứng dụng. Đối với đề tài này, tất cả các thao tác xử lý đều không sử dụng setting nên chúng ta không cần quan tâm đến.
Về phần nội dung của phần xử lý đối tượng này, chúng ta sẽ xét một ví dụ đơn giản để từ đó nắm được các thao cơ bản nhất để xử lý được các đối tượng trên Android Studio. Ta sẽ xét một ví dụ như sau: Giao diện gồm có 1 nút nhấn. Khi nhấn nút thì hiện ra chữ “Hello world”.
Từ ví dụ trên, ta tiến hành tạo 1 project theo nội dung hướng dẫn và tiến hành tạo 1 giao diện gồm 1 nhãn chứa thông tin là chuỗi chữ “Hello world” và 1 button (nút nhấn) trên thành phần main_activity.xml. Giao diện giống như Hình 4.23. Sau đó ta
CHƯƠNG 4. THI CƠNG HỆ THỐNG
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP 69 Hình 4.36. Nội dung chương trình sau khi lập trình.
Đầu tiên ta lưu ý tới 2 dòng khai báo Button và TextView bên dưới Class MainActivity extends Activity:
+ Button nutnhan; //Khai báo 1 biến kiểu button. + TextView hienthi; //Khai báo 1 biến kiểu TextView.
Hai biến được khai báo ở trên để được sử dụng cho tất cả các hàm trong class
MainActivity extends Activity() thì ta sẽ khai báo ngay bên dưới class MainActivity extends Activity().
Tiếp theo ta di chuyển xuống hàm onCreate(). Tại đây ta tiến hành thao tác lập trình xử lý đối tượng đúng theo yêu cầu của ví dụ. Ý nghĩa các cú pháp như sau:
+ nutnhan = (Button)findViewById(R.id.button); // Biến nutnhan sau khi được
khai báo sẽ được lấy để truy xuất đối tượng nút nhấn trên giao diên thông qua địa chỉ id của nó là button.
+ hienthi = (TextView)findViewById(R.id.textView); // Tương tự với biến
nutnhan, biến hienthi sau khi khai báo sẽ được lấy để truy xuất đối tượng nhãn
hiển thị chữ “Hello world” trên giao diện thơng qua địa chỉ id của nó là textView. Sau khi truy xuất các đối tượng xong, có nghĩa là bây giờ việc xử lý trên các biến đã khai báo chính là xử lý trên đối tượng. Ta chú ý đến thao tác xử lý đối tượng nút nhấn trên Hình 4.23.
CHƯƠNG 4. THI CƠNG HỆ THỐNG
BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP 70
nutnhan.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
hienthi.setText("Hello world");
} });
Hình 4.37. Thao tác xử lý của hàm nút nhấn.
Ý nghĩa của cú pháp xử lý trên có nghĩa là: Khi nhận thấy có tác động lên đối tượng nút nhấn (thuộc tính setOnClickListener của nutnhan được tác động) thì sẽ tạo 1 sự kiện mới new View.OnClickListener() (một hàm con onClick(View v) sẽ được tạo ra để ghi nhận nội dung thiện hiện sự kiện). Và sự kiện mới đó là hiển thị dịng chữ “Hello world” trên màn hình. Thuộc tính setText(“String”) của hienthi được tác động để làm thỏa mãn yêu cầu hiển thị chuỗi String cần hiển thị.
Việc xử lý đối tượng xem chúng ta sẽ làm việc với đối tượng đó ra sao, đối tượng đó làm việc như thế nào v.v… đều đã được hỗ trợ tối đa trong Android Studio. Tùy vào từng trường hợp khi lập trình ứng dụng mà ta có thể lựa chọn nhiều cách xử lý khác nhau trên nhiều đối tượng khác nhau.
4.5 HƯỚNG DẪN SỬ DỤNG, THAO TÁC
4.5.1 Hướng dẫn sử dụng
a. Hướng dẫn sử dụng điều khiển thiết bị trên điện thoại Android
Các bước sẽ được hướng dẫn dưới đây:
Bước 1: Mở chương trình Android Studio để vào giao diện trên điện thoại như hình dưới.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 71 Hình 4.39. Giao diện phần mềm.
Bước 2: Bật ứng dụng Bluetooth trên điện thoại (nếu điện thoại chưa bật Bluetooth thì sẽ được yêu cầu làm bước này), nhấn “OK”.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 72
Bước 3: Chọn nút “CONNECT” (sẽ hiển thị tất cả các thiết bị có bluetooth, nếu chưa ghép đôi với thiết bị bluetooth HC-05 thì cần thực hiện ghép đơi để lần sau thiết bị sẽ khơng cần dị tìm nữa).
Hình 4.41. Giao diện Connect.
Bước 4: Chọn thiết bị kết nối Bluetooth “HC-05”.
Bước 5: Tùy chọn nhấn “OFF/ON” mà thiết bị tương ứng sẽ được mở hay tắt. ( Lưu ý: nút OFF sẽ luôn sáng ở các thiết bị được tắt, nếu thiết bị đã được mở thì nút ON sẽ sáng).
CHƯƠNG 4. THI CƠNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 73 Hình 4.42. Giao diện đồ án tốt nghiệp khi đã kết nối.
b. Hướng dẫn sử dụng điều khiển thiết bị bằng nút nhấn.
Các bước sẽ được hướng dẫn dưới đây:
Bước 1: Nhìn vào màn hình LCD để xem thơng số nhiệt độ (kí hiệu “t”) và độ ẩm (kí hiệu “h”), cũng như giờ; phút; giây, và ngày/ tháng/ năm, thứ.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 74 Hình 4.44. LCD hiển thị các thông số.
Bước 2: Nhấn nút “Mode” để vào các chế dộ cần điều khiển. Sẽ có 3 chế độ bao gồm: RTC, ON/OFF và Test.
Hình 4.45. LCD hiển thị 3 chế độ khi nhấn Mode.
Bước 3: Nhấn nhút “1” vào RTC. Để điều chỉnh giờ: phút: giây, và ngày/ tháng/ năm; thứ, ta nhấn nút “Mode” di chuyển lần lượt đến nơi cần điều chỉnh và dùng nút “Up” hay “Dw” để chỉnh thông số lên xuống. Khi điều chỉnh xong, nhấn nút “exit” kết thúc quá trình điều chỉnh RTC.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 75 Hình 4.46. hiển thị điều chỉnh RTC.
Bước 4: Tương tự bước 3, nhấn nút số “2”. Nhấn tiếp nút “1”, “2” hay “3” để mở thiết bị đèn, quạt hay bơm. Để tắt thực hiện lại bước trên.
Hình 4.47. Hiển thị điều khiển thiết bị.
Bước 5: Tương tự bước 3, nhấn nút số “3” (chế độ kiểm tra hoạt động thiết bị). Nhấn tiếp nút “1”, “2”, “3” hay “4” để (Test) mở thiết bị đèn (cho biết đèn sáng hay không), quạt (cho biết tốc độ quay), bơm (cho biết lưu lượng đang bơm) hay chuông. Lưu ý: cần bấm giữ nút “1”, “2”, “3” hay “4”.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 76 Hình 4.48. Hiển thị chế độ cho Test.
Hình 4.49. Hiển thị test đèn.
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 77 Hình 4.51. Hiển thị test bơm.
4.5.2 Quy trình thao tác
Để giúp người vận hành dễ thao tác thì ta có các bước vận hành như sau:
Bước 1: Cấp nguồn cho hệ thống, hệ thống sử dụng nguồn bao gồm 220VAC cấp cho thiết bị đèn, quạt, bơm và 5VDC cho hộp điều khiển (kit Arduino Mega 2560 và các Module cảm biến, Bluetooth, LCD, nút nhấn, mạch Relay). Khi cấp nguồn 5VDC vào hộp điều khiển thì đèn báo hiệu mạch Arduino Mega2560 và đèn nền LCD sáng lên. Lúc này màn hình LCD sẽ hiển thị nhiệt độ, độ ẩm và hiển thị thời gian. Khi cấp nguồn 220VAC cho 3 thiết bị điện và chng thì các thiết bị này ở trạng thái tắt vì chưa được điều khiển.
Bước 2: Tùy vào người dùng chọn điều khiển bằng nút nhấn hay trên điện thoại Android.
- Nếu bằng nút nhấn: Nhấn phím “Mode” đề vào các chế độ điều khiển. Điều chỉnh thời gian hay chọn điều khiển/test thiết bị đèn, quạt, bơm theo ý mình cần. (Chi tiết đọc phần 4b).
- Nếu bằng điện thoại: Mở chương trình Android Studio trên điện thoại. Kết nối Bluetooth với HC-05. Sau đó điều chỉnh cho các thiết bị đèn, quạt, bơm hoạt động theo ý mình cần. (Chi tiết đọc phần 4a).
CHƯƠNG 4. THI CÔNG HỆ THỐNG
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 78
Bước 3: Kết thúc quá trình thao tác. Rút nguồn để đảm bảo an toàn.
Nhận xét – Đánh giá:
- Hệ thống sử dụng nguồn adapter lên việc cấp nguồn cho bộ xử lý rất ổn định. - Việc mỗi thiết bị điện có 1 module cảm biến theo dõi đi kèm sẽ nâng cao khả
năng quan sát vả bảo vệ cho hệ thống mạng điện nhà cũng như tải sản.
- Mạch có hệ thống báo cháy khí gas, ln được ưu tiên lên tính bảo vệ nâng cao. - Luôn cập nhật (đồng bộ) chế độ thiết bị giữa nút nhấn và điện thoại Androi.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 79 Chương 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
5.1 KẾT QUẢ a. Mơ hình thực tế a. Mơ hình thực tế
Hình 5.1. Mơ hình thực tế. b. Kết quả b. Kết quả
Đồ án đã làm được việc hiển thị ngày/tháng/năm, giờ/phút/giây và nhiệt độ, độ ẩm liên tục trên LCD. Điều chỉnh được thời gian thực trên nút nhấn.
Có thể bật tắt thiết bị bằng cả nút nhấn - điện thoại.
+ Tác động nút nhấn hoặc chuyển OFF -> ON trên điện thoại. Hệ thống liền kiểm tra thiết bị (Có hình minh họa cho thiết bị đèn, các thiết bị khác tương tự).
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 80 Hình 5.2. Đang kiểm tra thiết bị khi nhấn ON.
- Nếu thiết bị tốt màn hình LCD hiển thị "Da bat den......" và nút ON trên điện thoại sáng.
Hình 5.3. Màn hình LCD báo đèn sáng.
- Nếu thiết bị hư màn hình LCD hiển thị "Da xay ra su co !" . Nút ON -> OFF và có báo âm thanh "control erro" (trên điện thoại). Ngắt nguồn 220VAC cấp cho riêng thiết bị đó.
Hình 5.4. Báo sự cố.
- Ngoài ra, khi thiết bị đang hoạt động mà bị hư hệ thống cũng cảnh báo và ngắt nguồn.
+ Tác động nút nhấn hoặc chuyển ON -> OFF trên điện thoại.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 81 Hình 5.6. Màn hình LCD báo đèn tắt.
Cảnh báo khí gas ln được ưu tiên. Có cảnh báo bằng chng. - Trên LCD:
Hình 5.7. Màn hình LCD báo khí gas.
- Trên điện thoại:
Hình 5.8. Trên điện thoại báo khí gas.
Có phần Test (kiểm tra) thiết bị bằng nút nhấn
- Trên thiết bị đèn: Báo "Đèn có vấn đề !" khi hư hoặc "Đèn OK" khi sáng. - Trên thiết bị quạt: Báo số vòng quay trong 1 phút.
- Trên thiết bị bơm: Báo số lít bơm trong 1 giờ.
Đã vận dụng được nhiều kiến thức thực tế trong quá trình học vào thực đồ án với thời gian 15 tuần.
Nghiên cứu và biết cách sử dụng Module cảm biến vào thực tế.
CHƯƠNG 5. KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ
BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 82
Nghiên cứu và biết cách sử dụng phần mềm Android Studio, IDE.
Các lý thuyết về các phương thức truyền nhận được sử dụng đúng cách và có hiệu quả.
Khả năng thiết kế mạch (mạch nút nhấn, mạch relay) càng hoàn thiện hơn. Khơng cần mua mạch có sẵn.
Khả năng vận dụng linh hoạt và sử dụng các phần mềm.
5.2 NHẬN XÉT
Trong đồ án này, việc thực thi điều khiển thiết bị trong nhà bao gồm đèn, quạt, bơm là tốt so với yêu cầu đề ra ban đầu. Những thiết bị trên được thực hiện tắt mở dựa trên