Thuật toán tính số năng lượng đốt cháy

Một phần của tài liệu ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN (Trang 25)

Đối với cơ thể của mỗi người và cường độ vận động của họ mà số năng lượng đốt cháy sẽ có sự khác biệt, vì vậy thuật toán này sẽ có một sai số nhất định. Đầu tiên tiến hành phép toán tính tỉ lệ trao đổi chất cơ bản HARRIS-BENEDICT với đầu vào là giới tính, cân nặng, độ tuổi và chiều cao, kết quả cho ra được tính bằng đơn vị Kcal/ngày tiếp đến thực hiện hàm chuyển đồi sang đơn vị Kcal/phút với đầu vào là tỉ lệ trao đổi chất cơ bản và cân nặng sau đó thưc hiện chuyển đổi đơn vị tốc độ trung bình từ mét/giây sang dặm/giờ, kết tiếp ta tính toán giá trị Metabolic Equivalent of Task (MET), giá trị này là một cách để ước tính lượng calo được đốt cháy trong một hoạt động thể chất cụ thể, theo Hội đồng Tập thể dục Hoa Kỳ, phép tính này sử dụng đầu vào là tốc độ trung bình ở đơn vị giặm/giờ vừa tính được. Sau khi thực hiện các thuật toán nhỏ hơn để tính toán các giá trị cần thiết, ta tiến hành phép tính cuối cùng với dữ liệu đầu vào là tỉ lệ trao đổi chất,

giá trị MET, thời gian vận động và cân nặng từ đó cho ra kết quả cuối cùng là đơn vị đốt cháy ở đơn vị Kcal.

Hình Nghiên cứu tổng quan.10 Hàm tính tỉ lệ đốt cháy

Chương 3 Phân tích và thiết kế hệ thống 3.1 Mô hình tổng quan của ứng dụng nghiên cứu

Ứng dụng bao gồm các chức năng cơ bản của một ứng dụng đếm bước chân như hiển thị số bước chân, thời gian vận động, khoảng cách di chuyển, tốc độ trung bình, lượng calo đốt cháy, thống kê các thông số theo tuần hoặc tháng, cập nhật thông tin cá nhân để độ chính xác của thông số được tối ưu. Ngoài ra ứng dụng còn có thêm một số chức năng khá độc đáo và thú vị mà người dùng có thể thích như chế độ thử thách hay cập nhật thông tin cho người dùng.

3.2 Khảo sát và đặt tả yêu cầu3.2.1 Yêu cầu chức năng 3.2.1 Yêu cầu chức năng

- Đọc được dữ liệu cảm biến đếm bước chân, cảm biến GPS.

- Tính toán được các thông số như quãng đường di chuyển, thời gian đi bộ, vận tốc trung bình, năng lượng đốt cháy.

- Cập nhật được thông tin cá nhân để tối ưu hoá thuật toán tính các thông số. - Hiển thị ra được các thông số theo ngày, tuần và tháng.

- Đọc được vị trí hiện tại trên bản đồ, vẽ ra và đo được quãng đường di chuyển trên bản đồ trong 1 khoảng thời gian, tìm kiếm vị trí trên bản đồ. - Chia sẻ thành tích vận động với bạn bè.

3.2.2 Yêu cầu phi chức năng

- Khả năng sử dụng: Giao diện phải trực quan, đơn giản, dễ sử dụng, phù hợp với mọi đối tượng. Tối ưu hóa dung lượng của ứng dụng, giúp ứng dụng có thể dễ dàng cài đặt với nhiều loại thiết bị Android.

- Hiệu suất: Ứng dụng hoạt động trơn tru, giảm thiểu tình trạng giật, lag. Tất cả các chức năng của ứng dụng phải luôn sẵn sàng cho người sử dụng mỗi khi ứng dụng được bật. Các tính toán được thực hiện bởi ứng dụng phải đảm bảo được độ chính xác dựa trên các công thức có sẵn kết hợp với dữ liệu lấy được từ người dùng.

3.3 Phân tích và thiết kế hệ thống3.3.1 Các chức năng của hệ thống 3.3.1 Các chức năng của hệ thống

- Màn hình Home: hiển thị các thông số như số bước chân, thời gian vận động, khoảng cách di chuyển, vận tốc trung bình, năng lượng đốt cháy - Màn hình Data: thống kê các thông số tương tự ở màn hình Home theo

ngày, theo tuần hoặc theo tháng.

- Màn hình Info: giúp người dùng cập nhật thông tin cá nhân của mình bao gồm các thông số như giới tính, độ tuổi, chiều cao, cân nặng, chiều dài sải bước chân.

- Màn hình news: cập nhật tin tức sức khoẻ, vận động của người dùng.

- Màn hình challenge: giúp người dùng trải nghiệm chế độ thử thách bản thân. Chế độ thử thách bao gồm 1 bản đồ, 1 đồng hồ đo thời gian, 1 màn hình hiển thị nhỏ để hiện thị khoảng cách di chuyển được, 1 nút bắt đầu thử thách và 1 nút tìm kiếm địa điểm kết thúc, khi nút bắt đầu được nhấn thì đồng hồ đếm thời gian sẽ bắt đầu đếm, hệ thống bắt đầu tính khoảng cách người dùng di chuyển cho đến khi người dùng nhấn nút kết thúc thì chế độ thử thách sẽ dừng lại và hiển thị thành tích lên màn hình, người dùng cũng có thể chia sẻ thành tích này với bạn bè của mình.

3.4 Biểu đồ usecase

3.4.1 Biểu đồ usecase tổng quát

3.4.2 Biểu đồ usecase chế độ thử thách

Hình Phân tích và thiết kế hệ thống.15 Biểu đồ usecase chế độ thử thách

- Tác nhân: Người dùng

- Mô tả: Use case cho người dùng sử dụng chế độ thử thách. - Điều kiện trước: định vị GPS được bật.

- Dòng sự kiện chính:

 Chọn chức năng thử thách.  Giao diện thử thách hiển thị.

 Nhấn bắt đầu và tiến hành di chuyển.

 Hệ thống tính toán khoảng cách di chuyển và đếm thời gian kể từ khi bắt đầu thử thách đến khi người dùng nhấn nút kết thúc thử thách.

 Use case kết thúc. - Dòng sự kiện rẽ nhánh:

 Dòng rẽ nhánh A1: định vị GPS chưa được bật.  Thông báo định vị GPS chưa được bật.

 Bật định vị GPS và khởi động lại ứng dụng.  Use case kết thúc.

Chương 4 Triển khai xây dựng website 4.1 Các công cụ, phần mềm sử dụng

- Phần mềm Android Studio (https://developer.android.com) - Trình duyệt Google Chrome

- Photo editor & template designer (https://pixlr.com/vn) - Google font (https://fonts.google.com)

- Kotlin (https://kotlinlang.org)

4.2 Thiết kế, xây dựng giao diện ứng dụng4.2.1 Thiết kế wireframe 4.2.1 Thiết kế wireframe

- Màn hình Home: Gồm các textview chứa các tiêu đề, tên thông số và dữ liệu của thông số, bên cạnh đó chứa các hình ảnh để tăng độ trực quan, sinh động của ứng dụng.

Hình Triển khai xây dựng website.16 Thiết kế màn hình “home”

- Màn hình hiển thị thông số theo ngày, tuần, tháng: bao gồm 3 nút bấm giúp thống kê dữ liệu theo các tuỳ chọn khác nhau, bên cạnh đó màn hình cũng chứa các textview và hình ảnh để hiển thị dữ liệu và nội dung của ứng dụng.

Hình Triển khai xây dựng website.17 Thiết kế màn hình “lịch sử hoạt động”

- Màn hình cập nhật thông tin:gồm 1 radiogroup giúp người dụng chọn giới tính của mình, bên cạnh đó có các textview thể hiện tên các trường dữ liệu và các inputview để nhập các thông số khác, cuối cùng là nút để cập nhật dữ liệu người dùng.

Hình Triển khai xây dựng website.18 Thiết kế màn hình “cập nhật thông tin”

- Màn hình chế độ thử thách: Bao gồm fragment chứa bản đồ vị trí của thiết bị, nút và inputview để nhập và tìm kiếm vị trí kết thúc, 1 màn hình nhỏ hơn bao gồm các textview chứa chi tiết thành tích và imageview để chia sẻ thành tích của mình với bạn bè, nút bắt đầu/kết thúc thử thách, textview hiển thị khoảng cách di chuyển được và đồng hồ đếm thời gian.

Hình Triển khai xây dựng website.19 Thiết kế màn hình “chế độ thử thách”

4.2.2 Giao diện đã hoàn thành

- Màn hình hiển thị thông số hôm nay: hiển thị các thông số sức khoẻ như số bước chân, quãng đường di chuyển, thời gian đi bộ, vận tốc trung bình, năng lượng đốt cháy của ngày hôm nay, giao diện bao gồm một số hình ảnh ngộ nghĩnh, thu hút sự hứng thú của người dùng.

Hình Triển khai xây dựng website.20 Giao diện “home”

- Màn hình hiển thị thông số theo ngày, theo tuần, theo tháng: Có 3 nút tuỳ chọn cho người dùng có thể thống kê thông số theo ngày, tuần hoặc tháng một cách nhanh chóng.

Hình Triển khai xây dựng website.21 Giao diện “lịch sử hoạt động”

- Màn hình cập nhập dữ liệu: Tại đây người dùng có thể cập nhật thông tin cá nhân của mình vào hệ thông bao gồm các thông tin như giới tính, độ tuổi, chiều cao, cân nặng và sải bước chân của mình lên hệ thống để các thông số được tính toán và hiển thị một cách chính xác.

Hình Triển khai xây dựng website.22 Giao diện “cập nhật thông tin”

- Màn hình chế độ thử thách: thử thách sẽ được bắt đầu khi người dùng nhấn nút bắt đầu khi đó đồng hồ đếm thời gian sẽ bắt đầu đếm, hệ thống bắt đầu tính khoảng cách người dùng di chuyển cho đến khi người dùng nhấn nút kết thúc thì chế độ thử thách sẽ dừng lại và hiển thị thành tích lên màn hình, người dùng cũng có thể chia sẻ thành tích này với bạn bè của mình.

Hình Triển khai xây dựng website.23 Giao diện “chế độ thử thách”

- Màn hình hiển thị các tin tức về thể thao, sức khỏe: cập nhật các thông tin nóng hổi về kiến thức vận động, sức khoẻ cũng như các sự kiện thể thao đáng chú ý, giúp người dùng không bỏ lỡ những kiến thức, sự kiện bổ ích.

Chương 5 Kết luận và hướng phát triển 5.1 Kết quả

Sau quá trình triển khai xây dựng, em đã hoàn thành đề tài “XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH” với giao diện trực quan, sinh động, dễ sử dụng và hoạt động khá ổn định.

Sau khi hoàn thành đề tài, em đã học hỏi được nhiều kiến thức, kinh nghiệm bổ ích khi xây dựng một ứng dụng di động Android, áp dụng các kiến thức đã học về ngôn ngữ Kotlin, các cảm biến di động cũng như các API để xây dựng và hoàn thiện đề tài. Bên cạnh đó, em cũng được mở rộng thêm các kiến thức nhờ việc tìm hiểu một công thức tính toán các thông số đặc biệt là lượng năng lượng đốt cháy, qua đó nâng cao trình độ và khả năng tự học.

5.2 Hạn chế

Bên cạnh những kết quả khả quan đã đạt được, em nhận thấy còn tồn tại một số hạn chế:

Tốc độ xử lý chưa cao , vẫn còn một số lỗi phát sinh khi vận hành ứng dụng, quy mô xây dựng đề tài có hạn nên các chức năng chưa được hoàn thiện so với thị trường.

5.3 Hướng phát triển

Tiếp tục nghiên cứu hoàn thiện, phát triển ứng dụng nhằm hoàn thiện các chức năng cũ, bổ sung thêm các chức năng mới và tối ưu hoá tốc độ xử lý để người dùng có trải nghiệm mượt mà nhất.

Xây dựng, tối ưu hoá cơ sở dữ liệu để tối ưu hệ thống, mục tiêu đưa ứng dụng lên Google Play để tiếp cận với người dùng, tương lai xa hơn có thể tìm kiếm đối tác chuyển nhượng hoặc tìm kiếm đối tác kinh doanh.

5.4 Kết luận

“Xây dựng ứng dụng di động đếm bước chân thông minh” là một dự án thiết yếu cho người dùng trong thời kì mà sức khoẻ được đặt lên hàng đầu như ngày nay vì sự hoành hành của dịch bệnh COVID-19 , vì vậy việc xây dựng website này là quan trọng và cần thiết để phục vụ nhu cầu người tiêu dùng, nâng cao ý thức và khích lệ mọi người rèn luyện sức khoẻ bên cạnh đó, dự án cũng hứa hẹn đem về nguồn lợi nhuận đáng giá.

DANH MỤC TÀI LIỆU THAM KHẢO

1. Ứng dụng StepsApp

2. Ứng dụng Pedometer, Step Counter & Weight Loss Tracker 3. Ứng dụng Accupedo

4. Ứng dụng Walker 5. Ứng dụng Stepz

6. Pinterest, từ https://www.pinterest.com/capicreative/wireframe/

7. Website Viblo, từ https://viblo.asia/p/the-walking-step-dem-buoc-chan- di-chuyen-OeVKBYgM5kW

Một phần của tài liệu ĐỒ ÁN CƠ SỞ 3 ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG DI ĐỘNG ĐẾM BƯỚC CHÂN THÔNG MINH. ThS. TRẦN ĐÌNH SƠN (Trang 25)