Giao diện vùng viết chương trình IDE

Một phần của tài liệu Điều khiển thiết bị điện báo nhiệt độ báo cháy (Trang 69)

Vùng thông báo những thông báo từ IDE sẽ được hiển thị tại đây. Để ý rằng góc dưới cùng bên phải hiển thị loại board Arduino và cổng COM được sử dụng. Luôn chú ý tới mục này bởi nếu chọn sai loại board hoặc cổng COM, ta sẽ không thể upload được code.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 60

b. Code của chương trình chính

void loop() { if(digitalRead(44)&&connect_state){ connect_state = false; HC05_send("@"); HC05_send("doam"); HC05_send((int)h); HC05_send("nhiet"); HC05_send((int)t); HC05_send("#"); delay(100); if(dv0) HC05_send("dv01#"); else HC05_send("dv00#"); delay(100); if(dv1) HC05_send("dv11#"); else HC05_send("dv10#"); delay(100); if(dv2) HC05_send("dv21#"); else HC05_send("dv20#"); delay(100); }

if(!digitalRead(44)) connect_state = true; unsigned long currentMillis = millis();

if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis;

if(!digitalRead(mq_pin)) {temp_string = "dv31"; bell = true; phathien = true;}

else {temp_string = "dv30";bell = false; phathien = true;} if(digitalRead(44)){ HC05_send("@"); HC05_send(temp_string); HC05_send((int)h); HC05_send("nhiet"); HC05_send((int)t);

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 61

HC05_send("#");

} else{

Serial.println("chua ket noi"); }

}

readDS1307(); quetphim_mode();

if(HC05_recieve() > 0) data = HC05.readString(); if(data.length() > 0) {

int dv = data.substring(2, 3).toInt(); int dv_stt = data.substring(3,4).toInt(); switch (dv){ case 0: if(dv_stt == 1) dv0 = true; else dv0 = false; Serial.println("0"); if(dv0) HC05_send("@dv01#"); else HC05_send("@dv00#"); break; case 1: if(dv_stt == 1) dv1 = true; else dv1 = false; Serial.println("1"); if(dv1) HC05_send("@dv11#"); else HC05_send("@dv10#"); break; case 2: if(dv_stt == 1) dv2 = true; else dv2 = false; Serial.println("2"); if(dv2) HC05_send("@dv21#"); else HC05_send("@dv20#"); break; case 3:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 62 break; default: break; } Serial.print(data);data = ""; phathien = true; } if(phathien){ phathien = false;

if(dv0)temp_boolean = false; else temp_boolean = true;

digitalWrite(dv0_pin, temp_boolean); if(dv1)temp_boolean = false;

else temp_boolean = true;

digitalWrite(dv1_pin, temp_boolean); if(dv2)temp_boolean = false;

else temp_boolean = true;

digitalWrite(dv2_pin, temp_boolean); if(bell)temp_boolean = false;

else temp_boolean = true;

digitalWrite(bell_pin, temp_boolean); }

for(int z = 5; z <= 8; ++z) quetphim_dv(z); /* Hiển thị thời gian ra Serial monitor */ switch (mode) { case 0: main_display(); break; default: setTime_display(); break; } }

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 63

4.2.3 Giới thiệu bộ phần mềm Android Studio a. Giới thiệu phần mềm Android Studio a. Giới thiệu phần mềm Android Studio

Android Studio, mơi trường lập trình phát triển ứng dụng được giới thiệu tại Google I/O 2013. Dựa trên “IntelliJ IDEA Community Edition”, công cụ này Google I/O 2013. Dựa trên “IntelliJ IDEA Community Edition”, công cụ này hoạt động giống WYSIWYG, cho phép lập trình viên tạo ứng dụng, dễ dàng thực hiện các thay đổi và xem trước trong thời gian thực, đồng thời cũng có khả năng tăng tốc sản phẩm, thiết kế giao diện đẹp hơn trước. Đặc biệt là Tiếng Việt cũng được hỗ trợ trong Android Studio.

Android Studio hỗ trợ một loạt các cách giả lập để xem trước ứng dụng, vì vậy ngay cả khi khơng có thiết bị thử nghiệm, ta vẫn có thể chắc chắn rằng mọi thứ đều hoạt động trơn tru. Android Studio sử dụng nền tảng ngôn ngữ Java để lập trình xây dựng ứng dụng.

Các bước cài đặt Androi Studio:

 Bước 1 : Đầu tiên các vào trang Developer của android, bấm vào nút Download Android Studio for Windowns để tải về Android Studio, liên kết để truy cập: https://developer.android.com/intl/vi/sdk/index.html

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 64 Sau khi bấm vào đó sẽ hiện ra một mục Điều khoản và Điều kiện, ta tích vào Tôi đã đọc và đồng ý với các điều khoản và điều kiện trên và bấm vào nút download ngay phía bên dưới.

Hình 4.15: Chọn điều khoản và tải Androi Studio.

Bước 2 : Cài đặt Android Studio trên Windows:

+ Chạy file android-studio-bundle-141.2456560-windows.exe(đây là phiên bản lúc viết báo cáo này) vừa tải về. Màn hình giới thiệu của Android Studio xuất hiện, nhấn Next để tiếp tục.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 65

Hình 4.16: Chọn next để cài đặt file.

+ Đánh dấu vào các thành phần muốn cài đặt. Sau đó nhấn Next để tiếp tục:

Hình 4.17: Đánh dấu vào các thành phần bạn muốn cài đặt.

+ Chọn I Agree để chấp nhận các điều khoản trong giấy phép sử dụng của Android Studio.

BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP 66

Hình 4.18: Chọn I Agree để chấp nhận cài đặt.

+ 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:

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 67 + Chọn dung lượng bộ nhớ cho HAXM, khoảng 2 - 3GB là đủ.

Hình 4.20: 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.

Hình 4.21: Chọn Install để cài đặt bất đầu.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 68

+ 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.22: 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.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 69 + Ở 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.

Hình 4.24: Giao diện làm việc của Android Studio.

Đố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 chun 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.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 70 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).

Hình 4.25: 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"/>

 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

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 71 (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.23 mơ tả một giao diện gồm một nhãn in chữ “Hello world” và một nút nhấn với tên “New button” đã được đưa vào.

Hình 4.26: 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 đã được lựa chọn và đưa vào giao diện ứng dụng.

BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP 72 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)

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 73

 MainActivity.java

+ MainActivity.java là class chứa tồ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.

Hình 4.28: 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).

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 74

 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 chuyển sang MainActivity để tiến hành viết chương trình cho

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 75

Hình 4.29: 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 (nút nhấn).

 TextView hienthi; //Khai báo 1 biến kiểu TextView (biến tượng trưng

cho đối tượng nhãn).

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

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 76

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

nutnhan.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

hienthi.setText("Hello world");

}

});

Hình 4.30: 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.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 77

4.3 CHƯƠNG TRÌNH ĐIỀU KHIỂN TRÊN ĐIỆN THOẠI 4.3.1 Hướng dẫn sử dụng phần mềm điều khiển

Việc sử dụng thiết bị Android điều khiển các thiết bị ngoại vi khác giờ đã khơng cịn q xa lạ với nhiều người. Bài viết sau đây sẽ hướng dẫn cách sử dụng smartphone Android cài ứng dụng Đồ án tốt nghiệp điều khiển các thiết bị điện có hiển thị nhiệt độ độ ẩm báo cháy.

Các bước sẽ được hướng dẫn dưới đây:

Hình 4.31: Giao diện phần mềm.

 Bước 1: Mở giao diện điện thoại Android.

 Bước 2: Bật ứng dụng Bluetooth trên điện thoại.

 Bước 3: Chọn thiết bị kết nối Bluetooth tên thiết bị ở đây là HC-05 mật khẩu mặc định là 1234.

 Bước 4: Mở ứng dụng Đồ án tốt nghiệp chọn nút nhấn CONNECT sau

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 78

 Bước 5: Trên giao diện đồ án tốt nghiệp có 3 switch tên là thiết bị 1, thiết bị 2, thiết bị 3.

 Bước 6: Switch 1 đẩy qua phải sẽ mở thiết bị 1, đẩy sang trái sẽ tắt thiết bị 1. Tương tự với 2 cái còn lại.

+ Dưới switch 3 là khu vực hiển thị nhiệt độ . + Dưới hiển thị nhiệt độ là hiển thị độ ẩm .

BỘ MÔN ĐIỆN TỬ CƠNG NGHIỆP 79

Hình 4.33: Các thiết bị được bật qua phần mềm. 4.3.2 Quy trình thao tác 4.3.2 Quy trình thao tác

 Bước 1: Cấp nguồn cho hệ thống, hệ thống sử dụng nguồn 5VDC cho hộp điều khiển và 220VAC cho 3 thiết bị điện, 1chuông . 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 độ và độ ẩm và hiển thị thời gian chưa đươc cài đặt .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Ộ MÔN ĐIỆN TỬ CÔNG NGHIỆP 80

 Bước 2: thiết lập chỉnh sửa thời gian cho module RTC1307 hiển thị LCD bằng các nút nhấn Mode, Up, Down.

+ Phím Mode tùy chọn biến chỉnh thời gian ta có các biến: năm, tháng, thứ, ngày, giờ, phút và giây.

+ Phím Up để tăng biến mà chúng ta đã chọn ở trên khi bấm Mode cụ thể ở đây là tăng lên một.

+ Phím Down để giảm biến mà chúng ta đã chọn ở trên khi bấm phím Mode cụ thể ở đây là giảm đi một.

Hình 4.35: Khối phím Mode, Up, Down, 1, 2, 3, 4.

 Bước 3: Đối với chế độ điều khiển bằng tay chọn các phím 1, 2, 3, 4 để điều khiển 3 thiết bị điện và 1 chuông:

+ Nhấn phím 1 lần đầu sẽ mở thiết bị 1, nhấn phím 1 lần nữa để tắt thiết bị 1. Tương tự cho 2 phím cịn lại.

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 81

 Bước 4: Đối với chế độ điều khiển bằng phần mềm Đồ án tốt nghiệp

trên giao diện Android sau khi đã cài đặt ứng dụng Đồ án tốt nghiệp từ

BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP 82

Chương 5. KẾT QUẢ - NHẬN XÉT – ĐÁNH GIÁ

5.1 KẾT QUẢ ĐẠT ĐƯỢC

 Đã vận dụng được nhiều kiến thức thực tế trong quá trình học vào thực tiễn.

 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 vẽ mạch layout càng hồn thiện hơn, khơng còn phải đi dây jump nữa.

 Khả năng vận dụng linh hoạt và sử dụng các thư viện, không bị lỗi do sử dụng thư viện bừa bãi khơng có chọn lọc.

 Khả năng đọc hiểu các tài liệu tiếng Anh càng hồn thiện, có thể tự đọc thư viện và nghiên cưu cách sử dụng.

 Kỹ năng tìm kiếm thơng tin cả bằng tiếng Việt và tiếng Anh được nâng

Một phần của tài liệu Điều khiển thiết bị điện báo nhiệt độ báo cháy (Trang 69)

Tải bản đầy đủ (PDF)

(112 trang)