6.4 Thiết kế phần mềm
6.4.1 Thiết kế phần mềm điện thoại
Lưu đồ phần mềm điện thoại
Lập trình phần mềm điện thoại
Lập trình khối hiển thị được chia thành các phần như sau:
Bluetooth: khi giảng viên nhấn nút kết nối trên giao diện điện thoại sẽ tìm
địa chỉ Bluetooth cần kết nối, khi đó nút nhấn đổi thành đang kết nối để báo cho giảng viên biết. Sau khi điện thoại kết nối với module HC-05 thành công nút nhấn báo đã kết nối.
Hình 6. 14: Blocks để kết nối Bluetooth
Tạo file lưu: giảng viên nhập mã số sinh viên tại ơ MSSV đồng thời đó cũng
là tên file được lưu lại trong điện thoại. Giảng viên không cần xem trực tiếp q trình sinh viên làm bài mà có thể nhập mã số sinh viên và xem lại. Tại ô DELAY sẽ là thời gian ngắt quãng giữa 2 thao tác của sinh viên, giảng viên có thể tùy chỉnh thời gian này.
Hình 6. 15: Nhập tên file lưu và chạy chương trình
Khi giảng viên muốn xem lại file đã lưu chỉ cần nhập mã số sinh viên mong muốn. Block file.GotText bật lại quá trình sinh viên đã thực hiện bằng cách tách các giá trị được lưu và hiện trên điện thoại vào các ô tương ứng đang được nhấn (ô này được ẩn trên giao diện), chân đỏ, chân đen và giá trị điện áp. Ví dụ: khi điện thoại nhận 1 chuỗi gửi là 2, 1, 6, 12*. Điện thoại sẽ hiểu là mơ hình đang được tạo lỗi 2 và nút Pan2 chuyển màu đỏ, sinh viên đang đo quen đỏ ở chân 1, que đen ở chân 6 và giá trị điện áp là 12V.
Hình 6. 16: Blocks của quá trình xem lại
Tạo lỗi: khi giảng viên nhấn nút Pan1 điện thoại sẽ gửi số 1 đến cho Arduino
khi đó Arduino sẽ chạy chương trình void PanLoi1 (), thiết lập chế độ chạy lỗi đứt dây 7-8 cho hệ thống.
Hình 6. 17: Blocks của nút Pan1
Khi giảng viên nhấn nút Pan2 điện thoại sẽ gửi số 2 đến cho Arduino khi đó Arduino sẽ chạy chương trình void PanLoi2 (), thiết lập chế độ chạy lỗi đứt cầu chì 3-4 cho hệ thống.
Khi giảng viên nhấn nút Pan3 điện thoại sẽ gửi số 3 đến cho Arduino khi đó Arduino sẽ chạy chương trình void PanLoi3 (), thiết lập chế độ chạy lỗi đứt rơ le 5- 6 cho hệ thống.
Hình 6. 19: Blocks của nút Pan3
Khi giảng viên nhấn nút Pan4 điện thoại sẽ gửi số 4 đến cho Arduino khi đó Arduino sẽ chạy chương trình void PanLoi4 (), thiết lập chế độ chạy lỗi đứt dây 11- 12 cho hệ thống
Hình 6. 20: Blocks của nút Pan4
Vẽ que đo trên Canvas: trước tiên khởi tạo tọa độ x, y của các điểm đo với
x = 0, y = 0. Khởi tạo tiếp toa_do là 1 dãy các tọa độ tương ứng với các điểm cần đo trên điện thoại. Các biến vi_tri_do, vi_tri_den tương đương với thứ tự tọa độ trong list toa_do.
Hình 6. 21: Blocks khởi tạo các biến
Giá trị các tọa độ trong list toa_do được xác đinh bởi 1 dãy 6 số được ngăn cách bới dấu phẩy, trước dấu phẩy là tọa độ x, sau dấu phẩy là tọa độ y. Blocks
segment text trong AI2 dùng để tách chuỗi trong toa_do, ta tuần tự tách 3 số 1 lần. Khi đã xác định tọa độ cần vẽ dùng blocks call Canvas.Drawline để các que đo.
Hình 6. 22: Blocks lập trình que đo
Vòng lặp Clock: vòng lặp này chỉ chạy khi điện thoại đã được kết nối
Bluetooth. Mỗi khi sinh viên thực hiện thao tác chẩn đốn trên mơ hình thì Arduino sẽ 1 chuỗi 4 số được phân cách bởi dấu phẩy giữa các giá trị và dấu sao (*) là kí tự kết thúc chuỗi. Vịng lặp sẽ tách các giá trị và hiện trên điện thoại các ô tương ứng đang được nhấn (ô này được ẩn trên giao diện), chân đỏ, chân đen và giá trị điện áp. Ví dụ: khi được thoại nhận 1 chuỗi gửi từ Arduino 2, 1, 5, 12*. Điện thoại sẽ hiểu là mơ hình đang được tạo lỗi 2, sinh viên đang đo quen đỏ ở chân 1, que đen ở chân 5 và giá trị điện áp là 12V.
Hình 6. 23: Giao diện trên điện thoại
Xem lại file lưu: giảng chỉ cần nhập mã số sinh viên, thời gian ngắt quãng
giữa 2 thao tác của sinh viên là có thể xem lại được q trình làm bài của sinh viên. Vịng lặp Clock2 đọc giá trị liên tục từ file mssv.txt, thời gian vòng lặp này giảng viên có thể hiệu chỉnh được. Giảng viên nhấn Play để bắt đầu đọc file, trong quá trình đọc file giảng viên có thể dừng lại bằng cách nhấn nút Pause.