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

Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE

141 26 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

Tiêu đề Thiết Kế Và Thi Công Vòng Đeo Tay Đếm Bước Chân Dựa Trên Thuật Toán Decision Tree
Thể loại thesis
Định dạng
Số trang 141
Dung lượng 3,31 MB

Cấu trúc

  • CHƯƠNG 1 (11)
    • 1.1. Tổng quan về tình hình nghiên cứu hiện nay (11)
    • 1.2. Tính cấp thiết của đề tài (16)
    • 1.3. Mục tiêu nghiên cứu (16)
    • 1.4. Nhiệm vụ nghiên cứu (17)
    • 1.5. Phương pháp nghiên cứu (17)
    • 1.6. Bố cục luận văn (17)
  • CHƯƠNG 2 (19)
    • 2.1. Nguyên lý đếm bước chân (0)
    • 2.2. Bluetooth Low Energy (BLE) (21)
      • 2.2.1. Giới thiệu về BLE (21)
      • 2.2.2. Các chế độ hoạt động của BLE (0)
      • 2.2.3. Các quá trình hoạt động của BLE (0)
      • 2.2.4. Các đặc tính tần số và cấu trúc truyền dữ liệu của BLE (0)
    • 2.3. Decision Tree (29)
      • 2.3.1. Thuật toán ID3 (32)
      • 2.3.2. Thuật toán C4.5 (33)
    • 2.4. Cross Validation (Đánh giá chéo) (0)
      • 2.4.1. Random Subsampling (36)
      • 2.4.2. K-fold-Cross-Validation (37)
      • 2.4.3. Leave one-out Cross Validation (38)
    • 2.5. Confusion Matrix (38)
    • 2.6. Board nRF51822 (39)
      • 2.6.1. Giới thiệu về nRF51822 (39)
      • 2.6.2. Thông số kỹ thuật, tính năng của board nRF51822 (0)
    • 2.7. MPU-6050 (43)
      • 2.7.1. Giới thiệu về MPU-6050 (43)
      • 2.7.2. Các tính năng của MPU-6050 (0)
      • 2.7.3. Sơ đồ chân MPU-6050 (0)
    • 2.10. Weka (49)
      • 2.10.1. Giới thiệu giao diện của Weka (50)
      • 2.10.2. Chuẩn bị dữ liệu cho Weka (52)
  • CHƯƠNG 3 (57)
    • 3.1. Thiết kế phần cứng (57)
    • 3.2. Xây dựng thuật toán (65)
      • 3.2.1. Xây dựng thuật toán đếm bước chân (0)
      • 3.2.2. Thu thập dữ liệu, huấn luyện và cải tiến thuật toán (72)
  • CHƯƠNG 4 (77)
    • 4.1. Nguyên mẫu xây dựng (77)
    • 4.2. Mô tả thực nghiệm (78)
    • 4.3. Kết quả thực nghiệm (79)
  • CHƯƠNG 5 (81)
    • 5.1. Kết quả đạt được (0)
    • 5.2. Hướng phát triển tiếp theo của đề tài (82)
  • PHỤ LỤC (85)

Nội dung

Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE

Tổng quan về tình hình nghiên cứu hiện nay

Máy đếm bước chân hiện nay là thiết bị phổ biến giúp theo dõi hoạt động thể dục hàng ngày, khuyến khích cá nhân nỗ lực tập luyện và giảm cân Thiết bị này ngày càng thể hiện rõ lợi ích của nó trong việc cải thiện sức khỏe Vậy lịch sử phát triển của máy đếm bước chân ra sao?

Vào năm 1965, Tiến sĩ Yoshiro Hatano khuyến khích người dân Nhật Bản đi 10.000 bước mỗi ngày để đốt calo và duy trì sức khỏe, dựa trên nghiên cứu của ông Điều này đã dẫn đến việc nhà sản xuất đồng hồ Yamasa Tokei ra mắt chiếc Manpo-meter, một máy đếm bước chân cơ khí Thiết kế ban đầu của sản phẩm sử dụng switch cơ cảm biến trọng lực để phát hiện bước chân, kết hợp với một bộ đếm đơn giản Khi thiết bị hoạt động, người dùng có thể nghe thấy âm thanh từ một viên bi kim loại hoặc con lắc chuyển động Sản phẩm này đã chứng minh khả năng đo chính xác 10.000 bước chân, nhanh chóng trở nên phổ biến tại Nhật Bản.

Đến những năm 1980, thiết bị Manpo-meter đã được thay thế bởi các thiết bị điện tử có độ chính xác cao hơn Hiện nay, các cảm biến đo bước chân hoạt động dựa trên công nghệ cảm biến quán tính vi cơ điện tử (MEMS) và phần mềm phân tích, cho phép phát hiện bước chân với độ chính xác cao và giảm thiểu sai số Công nghệ MEMS giúp cải thiện khả năng phát hiện bước chân, mang lại kết quả chính xác hơn cho người sử dụng.

Hiện nay, thị trường có nhiều mẫu vòng đeo tay thông minh với tính năng đa dạng, trong đó nổi bật là sản phẩm Fitbit Tracker của hãng Fitbit, Mỹ, ra mắt từ năm 2009 Thiết bị nhỏ gọn này trang bị màn hình OLED hiển thị thống kê nhanh, khả năng ghi nhận chuyển động 3D và đồng bộ dữ liệu không dây qua trạm trung tâm Ngoài việc theo dõi tập luyện cơ bản, Fitbit Tracker còn ghi nhận giấc ngủ và cung cấp phân tích về chế độ luyện tập trên trang web của Fitbit Người dùng cũng có thể chia sẻ mục tiêu tập luyện với bạn bè và gia đình.

Hình 1.2: Sản phẩm Fitbit Tracker được đưa ra thị trường vào năm 2009

Một dòng sản phẩm nổi tiếng là model Gear Fit của hãng Samsung Ngày 24 tháng

Vào năm 2014, Samsung Electronics đã giới thiệu dòng đồng hồ thông minh Samsung Gear Fit tại Mobile World Congress ở Barcelona, Tây Ban Nha Đây là thiết bị đầu tiên sử dụng màn hình Super AMOLED cong, cho phép người dùng cập nhật thông tin cuộc gọi, email, SMS, báo thức, đồng hồ bấm giờ, S-planner và một số ứng dụng bên thứ ba Đặc biệt, Gear Fit còn tích hợp tính năng theo dõi hoạt động thể dục và đo nhịp tim, cùng với khả năng chống nước và chống bụi đạt tiêu chuẩn IP67.

Hình 1.3: Mẫu đồng hồ thông minh Gear Fit

Nhiều đồng hồ thông minh hiện nay được trang bị đầy đủ tính năng hỗ trợ luyện tập thể thao và đồng thời trở thành phụ kiện thời trang, hiển thị thông báo từ điện thoại Các thương hiệu như LG, Samsung, và Sony cung cấp nhiều mẫu thiết bị theo dõi sức khỏe với giá cả và tính năng đa dạng Mục tiêu chung của những sản phẩm này là ghi lại các hoạt động hàng ngày, giúp người dùng hướng tới một cuộc sống khỏe mạnh và vui tươi hơn.

Hình 1.4: Một số mẫu thiết bị theo dõi sức khỏe hiện nay

Công nghệ chế tạo thiết bị đếm bước chân đã trải qua nhiều cải tiến vượt bậc, từ các sản phẩm hoàn toàn cơ khí đến những thiết bị kết hợp cơ khí và vi mạch điện tử, và hiện nay là các thiết bị hoàn toàn dựa trên vi mạch điện tử, giúp nhỏ gọn và chính xác hơn Tuy nhiên, hầu hết các sản phẩm hiện tại vẫn hoạt động độc lập và độ chính xác bị ảnh hưởng bởi các hoạt động ngẫu nhiên của người sử dụng Ngoài ra, các thiết bị này chưa có khả năng phân biệt các hoạt động thể chất khác nhau, dẫn đến việc ghi nhận số bước chân không chính xác và tính toán khoảng cách dựa trên một sải chân cố định, gây ra sai số khác nhau giữa các người dùng.

Trong đề tài này, người thực hiện sẽ phát triển một vòng đeo tay đếm bước chân sử dụng cảm biến gia tốc ba trục và thuật toán decision tree để phân biệt các hoạt động khác nhau, nhằm đảm bảo độ chính xác cao trong việc đếm số bước chân Bên cạnh đó, sẽ có sự phát triển thuật toán dự đoán sải chân của người dùng, từ đó cải thiện độ chính xác trong việc tính toán khoảng cách.

Jerome và Albright đã tiến hành nghiên cứu so sánh độ chính xác của năm máy đếm bước chân thương mại, bao gồm Brookstone Talking Pedometer, Voice Zone, Sportline 343, Accusplit Alliance AL390 và Oregon Scientific PE829 Trong nghiên cứu, mười người lớn tuổi (từ 68 đến 77 tuổi) và bảy người khiếm thị (từ 29 đến 56 tuổi) đã sử dụng các máy đo bước chân để thực hiện 50 bước đi, leo cầu thang và xuống cầu thang Kết quả cho thấy độ chính xác của các máy đếm bước chân rất thấp, chỉ từ 41 đến 67%.

%) khi đi bộ trên đất bằng, leo cầu thang có độ chính xác là từ 9 % đến 28 %, xuống cầu thang là từ 11 % đến 41 %

Waqar et al [7] đã phát triển một thuật toán cho máy đếm bước chân với giá trị ngưỡng được thiết lập trước cho hệ thống định vị trong nhà Nghiên cứu thực nghiệm cho thấy thuật toán này có độ chính xác trung bình đạt 86,67%, với độ chính xác thấp nhất là 82,5% và cao nhất là 95% Thuật toán của Waqar có những ưu điểm như sử dụng time window để loại bỏ nhiễu từ các hoạt động không phải đi bộ và khai thác dữ liệu thô để xác định ngưỡng Tuy nhiên, bài báo không giải thích rõ cách xác định giá trị ngưỡng này Ngoài ra, nghiên cứu còn thiếu tính đa dạng trong thực nghiệm, khi chỉ đo 40 bước và lặp lại 6 lần mà không bao gồm các hoạt động khác như chạy bộ hay lên xuống cầu thang.

Nghiên cứu sớm nhất về nhận dạng hoạt động dựa trên cảm biến gia tốc được thực hiện bởi Bao & Intille, trong đó họ đã sử dụng năm cảm biến gắn trên các bộ phận cơ thể như đùi, cổ chân, cổ tay, bắp tay và bên hông để thu thập dữ liệu từ 20 người Các phương pháp huấn luyện như decision table, C4.5 và Naïve Bayes classifiers đã được áp dụng để phát triển mô hình phân biệt các hoạt động Kết quả cho thấy cảm biến gắn trên đùi có khả năng phân biệt hoạt động tốt nhất, với tỷ lệ nhận dạng đạt 84,26% trong môi trường phòng thí nghiệm với dữ liệu được kiểm soát.

Nghiên cứu [6] đã sử dụng một cảm biến gia tốc ba trục 6g gắn ở hông để thu thập dữ liệu từ 52 đối tượng (39 nam, 13 nữ, độ tuổi từ 21 đến 64, chiều cao từ 1,53 m đến 1,88 m và cân nặng từ 42 đến 94 kg) thông qua Bluetooth Class 1 với tốc độ lấy mẫu 50Hz Năm loại hoạt động được nghiên cứu bao gồm đi bộ trên mặt đất, đi bộ lên dốc, đi bộ xuống dốc, lên cầu thang và xuống cầu thang Sau khi tiền xử lý và chuẩn hóa dữ liệu, mô hình huấn luyện đạt được độ chính xác 96,02% trong việc nhận dạng các hoạt động Tuy nhiên, nghiên cứu chưa xem xét khả năng chống nhiễu của hệ thống, và kết quả cuối cùng chỉ là một mô hình phân biệt hoạt động mà chưa được ứng dụng vào thiết bị thực tế.

Trong nghiên cứu này, chúng tôi sẽ phát triển một vòng đeo tay có khả năng đếm bước chân thông qua cảm biến gia tốc gắn trên tay Bên cạnh đó, một số phương pháp cải tiến sẽ được đề xuất để nâng cao độ chính xác trong thuật toán đếm bước chân.

- Lấy mẫu dữ liệu lúc vòng đeo tay mới khởi động để biết vị trí vòng đeo tay được đeo như thế nào (dựa trên gia tốc trọng trường)

- Time window được sử dụng để loại bỏ nhiễu

Để huấn luyện vòng đeo tay nhận dạng các hoạt động thể chất như đi bộ, chạy bộ, leo cầu thang và xuống cầu thang, dữ liệu sẽ được thu thập và xử lý Dữ liệu thô sẽ được lấy mẫu, trích xuất đặc trưng và sử dụng để xây dựng mô hình huấn luyện dựa trên cây quyết định (decision tree) Phương pháp cây quyết định được chọn vì tính đơn giản trong tính toán và khả năng dễ dàng nhúng kết quả vào các vi điều khiển (MCU).

Tính cấp thiết của đề tài

Nghiên cứu và phát triển vòng đeo tay thông minh sẽ giúp người thực hiện đề tài hiểu rõ các công nghệ hiện đại đang được áp dụng trong nhiều sản phẩm, bao gồm các chuẩn giao tiếp, thu thập và xử lý dữ liệu, cũng như huấn luyện mô hình machine learning.

Mục tiêu nghiên cứu

Mục tiêu đầu tiên của đề tài đó là xây dựng được phần cứng của vòng đeo tay:

- Nghiên cứu về các chuẩn giao tiếp không dây, lựa chọn chuẩn giao tiếp phù hợp cho vòng đeo tay

- Thiết kế, xây dựng một nguyên mẫu vòng đeo tay

- Nghiên cứu nguyên lý hoạt động của thiết bị đếm bước chân, xây dựng thuật toán đếm bước chân

Dữ liệu thô từ cảm biến gia tốc sẽ được thu thập và áp dụng phương pháp cây quyết định để huấn luyện Kết quả của quá trình huấn luyện này sẽ được sử dụng để cải tiến thuật toán đếm bước chân.

Sau khi hoàn thiện sản phẩm vòng đeo tay, chúng sẽ được thử nghiệm thực tế để kiểm tra độ chính xác Mục tiêu là vòng đeo tay đếm bước chân đạt độ chính xác trên 90% và có khả năng nhận diện các hoạt động thể chất cơ bản như đi bộ, chạy bộ và leo cầu thang.

Nhiệm vụ nghiên cứu

Đề tài luận văn tập trung vào việc phát triển một nguyên mẫu vòng đeo tay có khả năng đếm bước chân và kết nối dữ liệu với smartphone Sau khi hoàn thiện nguyên mẫu, nhóm thực hiện sẽ thu thập dữ liệu từ các hoạt động của tình nguyện viên, sau đó tiến hành tiền xử lý và huấn luyện với nhiều mô hình machine learning để tìm ra mô hình phân loại hoạt động chính xác nhất Mô hình đạt được sẽ được ứng dụng vào vòng đeo tay nhằm nâng cao độ chính xác trong việc phát hiện bước chân Tuy nhiên, đề tài chỉ giới hạn ở việc xây dựng nguyên mẫu, không hướng đến sản xuất hàng loạt.

Phương pháp nghiên cứu

Nghiên cứu các bài báo khoa học đã công bố nhằm lựa chọn phương pháp tối ưu để phân biệt hoạt động thể chất và đếm bước chân Dựa trên phương pháp đã được chọn, phần cứng sẽ được thiết kế và xây dựng Sau khi hoàn thành, vòng đeo tay sẽ được thử nghiệm thực tế và điều chỉnh cho phù hợp.

Bố cục luận văn

Báo cáo luận văn thực hiện dự kiến gồm có 5 chương:

- Chương 2: Cơ sở lý thuyết

- Chương 3: Thiết kế hệ thống

- Chương 4: Kết quả nghiên cứu và thực nghiệm

- Chương 5: Kết luận và hướng phát triển

Bluetooth Low Energy (BLE)

BLE (Bluetooth Low Energy) là phiên bản giao tiếp thế hệ mới (4.0) của Bluetooth thông thường, kế thừa cấu trúc phần cứng và phần mềm của chuẩn này Vậy BLE mang đến những tính năng mới gì?

Logo hiện tại của BLE thể hiện công nghệ tiên tiến với mức tiêu thụ năng lượng cực thấp, chỉ vài chục µA khi hoạt động Nhờ vào điều này, board BLE có kích thước nhỏ gọn, cho phép tích hợp vào nhiều thiết bị hàng ngày như giày dép, túi xách, quần áo, vòng đeo tay và phương tiện giao thông, từ đó làm cho các thiết bị trở nên thông minh hơn và kéo dài thời gian hoạt động.

Nhược điểm chính của BLE là tốc độ truyền dữ liệu thấp, chỉ khoảng 7kB/s đến 8kB/s Để tiết kiệm năng lượng, các chip BLE hoạt động theo chu kỳ, với lượng dữ liệu truyền hạn chế (khoảng vài chục bytes) trong mỗi lần truyền Điều này cho phép chip BLE ở chế độ ngủ đông trong thời gian dài và chỉ hoạt động khi đến chu kỳ truyền nhận dữ liệu Mặc dù tốc độ thấp, nhưng vẫn đủ để truyền nhận dữ liệu cho các thiết bị IoT, nơi mà dữ liệu thường không lớn và không liên tục Hình 2.3 minh họa mô hình truyền nhận dữ liệu giữa hai thiết bị master và slave.

Hình 2.3: Mô hình truyền nhận dữ liệu giữa master và slave

Bảng 2.1 dưới đây cho ta cái nhìn tổng quan về các đặc tính của một số chuẩn giao tiếp wireless hiện nay

Bảng 2.1: So sánh BLE với các chuẩn kết nối không dây

Bluetooth tiêu chuẩn BLE Wifi Zigbee

Tần số hoạ ộng 2.4GHz 2.4GHz 2.4GHz 2.4GHz

Air data rate 1-3Mbps 1Mbps 54Mbps 250kbps

Throughput 0.7-2.1Mbps 305kbps Phụ thuộc 120kbps

Bảo mật 64bit, 128bit 128-bit AES SSID, WEP 128-bit AES

Công suất tiêu thụ Thấp Rất thấp Cao Thấp

Bluetooth Low Energy (BLE), còn được gọi là Bluetooth thông minh, cho phép các thiết bị gắn chip BLE giao tiếp với smartphone và với nhau qua kết nối không dây Nhờ khả năng chia sẻ dữ liệu và điều khiển, BLE đã trở thành một thành phần quan trọng trong hệ sinh thái Internet of Things (IoT) hiện nay.

2.2.2 Các chế ộ hoạ ộng c a BLE

Bốn chế độ hoạt động của BLE bao gồm peripheral, central, observer và broadcaster Thông thường, một thiết bị BLE chỉ hoạt động ở một chế độ duy nhất, nhưng trong một số ứng dụng đặc biệt, thiết bị có thể chuyển đổi giữa nhiều chế độ trong các giai đoạn khác nhau Bài viết này sẽ tập trung vào việc tìm hiểu hai chế độ cơ bản: peripheral và central.

BLE central là thiết bị chủ động kết nối với các thiết bị BLE xung quanh, thường là smartphone hoặc tablet Sau khi kết nối thành công, BLE central được gọi là master, đảm nhận vai trò chủ động trong việc đồng bộ hóa và truyền nhận dữ liệu.

BLE peripheral là thiết bị chấp nhận yêu cầu kết nối, thường là các đồ vật được gắn chip BLE Khi kết nối hoàn tất, các BLE peripheral sẽ được gọi là slave, vì chúng tuân theo các hoạt động đồng bộ để kết nối và truyền nhận dữ liệu từ master.

Bảng 2.2 sau đây sẽ tóm tắt quá trình hoạt động của BLE central và BLE peripheral qua các giai đoạn

Bảng 2.2: Các giai đoạn hoạt động của BLE central và BLE peripheral

BLE central BLE peripheral Trước khi kết nối Nhận thông tin nhận dạng từ các thiết bị xung quanh

Phát thông tin nhận dạng của thiết bị

Gửi yêu cầu kết nối đến thiết bị muốn kết nối

Nhận yêu cầu kết nối và quyết định có kết nối hay không

Sau khi kết nối Gửi yêu cầu về các loại thông tin mà thiết bị BLE Peripheral có thể cung cấp

Gửi các loại thông tin thiết bị có thể cung cấp

Quá trình truyền dữ liệu

Nhận thông tin cập nhật từ thiết bị BLE Peripheral để thực hiện chức năng ứng dụng

Gửi dữ liệu đến thiết bị BLE Central khi có thông tin cập nhật trong thiết bị

According to the Bluetooth Low Energy (BLE) standard, a BLE Central device can simultaneously connect to multiple BLE Peripheral devices, with the number of connections depending on the type of BLE chip used However, a BLE Peripheral device is limited to connecting with only one BLE Central device at a time.

Sau khi 2 thiết bị BLE đã kết nối với nhau xuất hiện thêm hai khái niệm BLE Server và BLE Client

- BLE Server là thiết bị BLE tạo ra dữ liệu (ví dụ như sensor)

A BLE Client is a device that processes data, such as a smartphone or tablet It's important to distinguish between BLE Server/Client and BLE Central/Peripheral, as these terms represent different concepts BLE Central and Peripheral describe the roles of BLE devices before a connection is established, while BLE Server and Client refer to the data exchange points between two BLE devices after they connect Consequently, a BLE Central device can function as either a BLE Server or a BLE Client after the connection, depending on whether it generates or receives data Similarly, a BLE Peripheral can also act as either a BLE Server or a BLE Client post-connection.

Tiếp theo là hai khái niệm còn lại trong bốn chế độ hoạt động của BLE: observer và broadcaster

BLE Observer là BLE Central nhưng chỉ nhận dữ liệu nhận dạng của các thiết bị xung quanh nhưng không bao giờ tạo kết nối

BLE Broadcaster là BLE Peripheral chỉ phát dữ liệu nhận dạng nhưng không bao giờ chấp nhận yêu cầu kết nối từ các BLE Central

2.2.3 Các quá trình hoạ ộng c a BLE

Các quá trình hoạt động chính của BLE có thể kể đến như:

- Advertising : là hoạt động phát dữ liệu nhận dạng cơ bản của thiết bị BLE

Peripheral ra môi trường xung quanh trước khi kết nối

- Scanning : là hoạt động của thiết bị BLE Central để thu thập dữ liệu nhận dạng của nhiều thiết bị BLE Peripheral xung quanh

Connecting involves the interaction between a BLE Central device and a BLE Peripheral device, where the BLE Central sends a Scan Request to gather additional identification information In response, the BLE Peripheral provides the requested data through a Scan Response The BLE Central then verifies the complete identification information from both the Advertising data and the Scan Response data before sending a Connection Request Finally, the BLE Peripheral responds with either an acceptance or rejection of the connection through a Connection Response.

Khám phá (Discovering) là quá trình mà thiết bị BLE Client thực hiện sau khi kết nối, nhằm thu thập thông tin về các loại dữ liệu mà thiết bị BLE Server có thể cung cấp Chẳng hạn, thiết bị BLE Server có thể cung cấp dữ liệu về gia tốc, nhiệt độ, độ ẩm, và nhiều thông tin khác Thiết bị BLE Client cần xác định các loại dữ liệu mà nó có thể nhận từ BLE Server để sử dụng hiệu quả.

Hình 2.4 mô tả quá trình hoạt động này của BLE

Hình 2.4: Quá trình hoạt động của BLE

2.2.4 Cá ặc tính tần số và cấu trúc truyền dữ liệu c a BLE

2.2.4.1 Tần số hoạ ộng c a BLE

Tần số hoạt động của BLE nằm trong khoảng 2.4GHz, cụ thể từ 2402MHz đến 2480MHz Dãy tần số này được phân chia thành 40 kênh truyền, cho phép các chip BLE sử dụng linh hoạt.

1 trong 40 kênh tần số để truyền dữ liệu

Giá trị tần số của mỗi kênh truyền được tính như sau: f n = 2402 + 2*n (MHz) với 0 n 39 (2.1) Các kênh tần số này sẽ được sử dụng như sau:

Kênh 2402MHz, 2426MHz và 2480MHz là ba kênh chuyên dụng cho việc truyền dữ liệu nhận dạng (advertising data) của BLE Peripheral trước khi thực hiện kết nối, được gọi là các Kênh Quảng Cáo.

- Tất cả 37 kênh còn lại sẽ được dùng để truyền dữ liệu ứng dụng giữa các thiết bị BLE sau khi kết nối và được gọi là Data Channels

Ba kênh advertising data là cần thiết để BLE Central có thể giao tiếp đồng thời với nhiều thiết bị BLE Peripheral Nếu chỉ có một kênh Advertising Channel, BLE Central sẽ chỉ nhận được dữ liệu từ một thiết bị BLE Peripheral hoặc không nhận đúng dữ liệu nếu nhiều thiết bị cùng sử dụng kênh đó Tương tự, 37 kênh Data Channels cho phép BLE Central tương tác với nhiều thiết bị BLE Peripheral cùng lúc Hình 2.5 minh họa rõ ràng cho ba kênh advertising data và 37 kênh Data.

Hình 2.5: Ba kênh Advertising và 37 kênh data của BLE

2.2.4.2 Quy trình kết nối c a BLE

BLE Central nhận dữ liệu quảng cáo từ các thiết bị BLE Peripheral xung quanh, hoạt động theo chu kỳ để tiết kiệm năng lượng Cả BLE Central và BLE Peripheral đều không truyền/nhận dữ liệu liên tục mà theo chu kỳ tương ứng BLE Central có khái niệm “chu kỳ nhận dữ liệu nhận dạng (scanning interval)”, trong đó thiết bị sẽ thức dậy và thu thập dữ liệu nhận dạng sau mỗi chu kỳ, thực hiện trên cả ba kênh.

Decision Tree

Decision tree là thuật toán huấn luyện có giám sát, thường được sử dụng trong phân loại và hồi quy Nó tạo ra mô hình tiên đoán để dự đoán giá trị của đối tượng dựa trên dữ liệu đầu vào đa biến Phương pháp này phân loại quần thể thông qua cấu trúc giống như cây, bao gồm root node, các split nodes và leaf nodes Decision tree không yêu cầu hệ số phương trình và có khả năng xử lý hiệu quả dữ liệu lớn, phức tạp mà không cần cấu trúc tham số phức tạp.

Hình 2.7: Cấu trúc của decision tree

Cấu trúc cơ bản của một decision tree được mô tả trong hình 2.7, trong đó:

- Root node: đại diện toàn bộ quần thể hoặc tập dữ liệu và được chia thành hai hoặc nhiều tập đồng nhất

- Decision node (split node): khi một node được phân tách thành các node phụ (sub-node), nó được gọi là decision node

- Leaf node: các node không còn tiếp tục phân tách, được gọi là leaf node hoặc terminal node

- Splitting: quá trình chia tách một node thành nhiều node phụ

Bảng 2.3 trình bày dữ liệu thời tiết với bốn thuộc tính: thời tiết (nắng, âm u, mưa), nhiệt độ (nóng, ấm áp, lạnh), độ ẩm (cao, bình thường) và gió (có, không) Dữ liệu này dẫn đến một output quyết định có đi chơi golf hay không Hình 2.8 minh họa kết quả phân loại từ việc áp dụng cây quyết định.

- Nếu thời tiết là âm u thì quyết định đi chơi golf là có

- Nếu thời tiết là nắng và không có gió thì quyết định đi chơi golf là có

- Nếu thời tiết là nắng và có gió thì quyết định đi chơi golf là không

- Nếu thời tiết là mưa và độ ẩm cao thì quyết định đi chơi golf là có

- Nếu thời tiết là mưa và độ ẩm bình thường thì quyết định đi chơi golf là không

Bảng 2.3: Tập dữ liệu về thời tiết và output tương ứng

Thời tiết Nhiệ ộ Độ ẩm Gió Chơi Golf?

Mưa Nóng Cao Không Không

Mưa Nóng Cao Có Không Âm u Nóng Cao Không Có

Nắng Ấm áp Cao Không Có

Nắng Lạnh Bình thường Không Có

Nắng Lạnh Bình thường Có Không Âm u Lạnh Bình thường Có Có

Mưa Ấm áp Cao Không Không

Mưa Lạnh Bình thường Không Có

Nắng Ấm áp Bình thường Không Có

Mưa Ấm áp Bình thường Có Có Âm u Lạnh Cao Có Có Âm u Nóng Bình thường Không Có

Nắng Ấm áp Cao Có Không

Không Có Cao Bình hường

Hình 2.8: Ví dụ về decision tree ứng dụng cho một tập dữ liệu về thời tiết

Decision tree có hai dạng chính:

- Classification tree: kết quả tiên đoán là lớp phân loại của dữ liệu thuộc về

- Regression tree: kết quả tiên đoán là một giá trị thực

Huấn luyện cây quyết định (decision tree) là quá trình xây dựng cây từ các tập dữ liệu đã được phân loại Cây quyết định có cấu trúc dạng lưu đồ, với mỗi nút phân tách (split node) là một bài kiểm tra trên một thuộc tính, mỗi nhánh là hướng kết quả của bài kiểm tra, và mỗi nút cuối (terminal node) là tên của lớp Nút trên cùng của cây được gọi là nút gốc (root node) Hiện nay, có nhiều thuật toán khác nhau cho cây quyết định.

- CART (Classification And Regression Tree)

- CHAID (CHi-squared Automatic Interaction Detector)

- MARS: mở rộng decision trees để xử lý dữ liệu số tốt hơn

Thuật toán ID3 bắt đầu với tập dữ liệu gốc S làm nút gốc Trong mỗi chu kỳ, thuật toán tính toán hệ số Entropy cho từng thuộc tính trong S và chọn thuộc tính có Entropy thấp nhất Sau đó, tập dữ liệu S được phân tách dựa trên thuộc tính đã chọn để tạo ra các tập dữ liệu con Thuật toán tiếp tục thực hiện đệ quy với từng tập dữ liệu con, chỉ xem xét các thuộc tính chưa được chọn.

Quá trình đệ quy trên các tập dữ liệu con có thể dừng lại nếu:

- Nếu toàn bộ thành phần của tập dữ liệu con đều thuộc về một lớp

Khi không còn thuộc tính nào để lựa chọn nhưng vẫn có các thành phần dữ liệu không thuộc cùng một lớp, node sẽ trở thành terminal node và được gán theo class phổ biến nhất trong tập dữ liệu.

Khi không còn thành phần nào trong tập dữ liệu, điều này xảy ra khi không có thành phần trong tập cha ban đầu có giá trị giống với thuộc tính đã chọn Lúc này, nút sẽ trở thành nút cuối cùng và được gán theo lớp phổ biến nhất trong tập dữ liệu.

Trong quá trình huấn luyện, cây quyết định được hình thành với mỗi nút phân chia đại diện cho các thuộc tính, trong khi các nút cuối cùng thể hiện tên lớp của tập con cuối cùng từ các nhánh.

Tóm tắt lại, các bước để xây dựng decision tree theo thuật toán ID3 đó là:

- Tính toán Entropy cho toàn bộ các thuộc tính của tập dữ liệu S

- Phân tách tập S thành các tập con dựa trên thuộc tính có Entropy nhỏ nhất

- Tạo node cho decision tree chứa thuộc tính đó

- Tiếp tục quá trình với các thuộc tính còn lại trong các tập con

Entropy H(S) (2.1) là phép tính đại diện cho sự không chắc chắn trong tập dữ liệu S H(S) = (2.1) Trong đó:

- S: Tập dữ liệu entropy đang được tính (thay đổi theo mỗi chu kì thuật toán ID3)

- p(x): Tỉ lệ số phần tử trong lớp x trên số phần tử trong S

C4.5 xây dựng cây quyết định từ tập dữ liệu ban đầu tương tự như ID3, sử dụng hệ số Entropy thông tin Tập dữ liệu huấn luyện S = s1, s2, bao gồm các thành phần đã được phân loại Mỗi thành phần si là một vector p-chiều (x1,i, x2,i, …, xp,i), trong đó xj đại diện cho các giá trị thuộc tính của các thành phần cũng như các lớp mà si thuộc về.

Thuật toán C4.5 chọn thuộc tính tối ưu để phân chia tập dữ liệu thành các tập con hiệu quả nhất, dựa trên hệ số Information Gain đã được chuẩn hóa Thuộc tính có hệ số Information Gain cao nhất sẽ được ưu tiên lựa chọn, và quá trình này sẽ tiếp tục cho đến khi tất cả các tập con được xử lý.

Một số trường hợp cơ bản xảy ra khi thuật toán xây dựng decision tree:

- Tất cả thành phần đều thuộc về một lớp Khi điều này xảy ra, thuật toán sẽ tạo ra terminal node để decision tree lựa chọn lớp này

Khi không có thuộc tính nào mang lại Information Gain, thuật toán C4.5 sẽ tạo ra một nút quyết định ở cấp độ cao hơn, sử dụng các giá trị trong cùng một lớp.

Khi gặp lớp chưa được thấy trước đây, thuật toán C4.5 sẽ tạo ra một nút quyết định cấp cao hơn bằng cách sử dụng các giá trị trong lớp đó Tóm lại, các bước để thuật toán C4.5 xây dựng cây quyết định bao gồm việc xác định các lớp và tạo ra các nút quyết định tương ứng.

- Kiểm tra toàn bộ dữ liệu ban đầu

- Với từng thuộc tính, tìm tỉ lệ Information Gain chuẩn hóa của thuộc tính trên tập phân tách

- Chọn ra thuộc tính có Information Gain chuẩn hóa cao nhất

- Tạo ra split node với thuộc tính đó

- Tiếp tục đệ quy với các tập con sau khi phân tách

C4.5 có nhiều cải tiến hơn so với ID3:

C4.5 có khả năng xử lý cả thuộc tính liên tục và thuộc tính rời rạc Đối với thuộc tính liên tục, thuật toán này tạo ra một giá trị ngưỡng để phân chia dữ liệu thành hai nhóm: một nhóm chứa các thuộc tính trên ngưỡng và một nhóm chứa các thuộc tính dưới hoặc bằng ngưỡng.

C4.5 có khả năng xử lý tập dữ liệu với các giá trị thuộc tính bị thiếu bằng cách đánh dấu chúng là "?" Những giá trị này sẽ không được tính trong quá trình tính toán Information Gain và Entropy.

Xử lý các thuộc tính với nhiều đòi hỏi khác nhau

Cắt bớt các nhánh không cần thiết trong cây quyết định là một bước quan trọng trong quá trình tối ưu hóa mô hình C4.5 Sau khi hoàn thành việc xây dựng cây quyết định, C4.5 sẽ xem xét toàn bộ cấu trúc và loại bỏ các nhánh không hữu ích, biến chúng thành các lá cuối để cải thiện độ chính xác và hiệu suất của mô hình.

Information Gain IG(T,a) (2.2) là một dạng phương trình biến đổi của Entropy H(S):

Tập dữ liệu huấn luyện T bao gồm các cặp dữ liệu (x,y) với x = (x1, x2, …, xk) và y là lớp tương ứng Giá trị của thuộc tính thứ a trong thành phần x được ký hiệu là vals(a) Thông tin thu được từ thuộc tính a được tính toán thông qua độ đo Information Gain, được biểu diễn bằng hàm H().

2.4 Cross V lid ion (Đánh giá héo)

Hai vấn đề cơ bản trong việc nhận dạng mẫu: chọn mô hình và ước tính performance

Cross Validation (Đánh giá chéo)

Holdout method: chia tập dữ liệu thành hai nhóm: training set và test set

- Training set: dùng để huấn luyện bộ phân loại

Bộ dữ liệu kiểm tra (test set) được sử dụng để ước lượng tỷ lệ lỗi của bộ phân loại đã được huấn luyện Một ứng dụng điển hình của phương pháp holdout là xác định điểm dừng trong quá trình lan truyền ngược (back propagation error).

Tuy nhiên, Holdout method có hai nhược điểm chính:

- Nếu tập dữ liệu bị phân tán, ta sẽ không thể để ra 1 phần dữ liệu để dùng làm testing data

- Ước tính tỉ lệ lỗi của holdout method có thể sai nếu phân chia sai

Các nhược điểm này có thể được khắc phục bằng các phương pháp lấy mẫu lại khác:

- Cross validation o Random Subsampling (lấy tập mẫu con ngẫu nhiên) o K-fold-cross-validation o Leave one-out Cross-validation

Random Subsampling chia tập dữ liệu thành k tập dữ liệu con

Mỗi tập dữ liệu con chọn ngẫu nhiên một số lượng dữ liệu mẫu mà không thay thế

Ta sẽ thực hiện huấn luyện bộ phân loại với từng tập mẫu con đã tạo ra và ước tính

Hình 2.9: Cách chia tập dữ liệu trong phương pháp Random Subsampling

True error rate = trung bình của các E i :

E = (2.4) Ước tính theo phương pháp Random Subsampling tốt hơn một chút so với ước tính theo phương pháp holdout

Dữ liệu ban đầu sẽ được phân chia ngẫu nhiên thành k tập dữ liệu có kích thước bằng nhau Trong đó, một tập dữ liệu được giữ lại để đánh giá và kiểm tra mô hình dự đoán, còn lại k-1 tập dữ liệu sẽ được sử dụng để huấn luyện mô hình.

K-fold cross validation tương tự với random subsampling Ưu điểm của K-fold cross validation đó là tất cả mẫu đều được lần lượt dùng làm training và testing

Hình 2.10: Cách chia tập dữ liệu theo phương pháp k-Fold Cross Validaiton

True error rate = trung bình các error

2.4.3 Leave one-out Cross Validation

Leave one-out Cross Validation là bản đơn giản hóa của k-fold-cross-validation với k được chọn bằng với tổng số mẫu

Với tập dữ liệu có N mẫu, thực hiện N thí nghiệm

Với N thí nghiệm, sử dụng N-1 mẫu làm tập huấn luyện và mẫu còn lại làm testing

Hình 2.11: Cách chia tập dữ liệu theo phương pháp Leave one-out Cross Validation

Confusion Matrix

Ma trận nhầm lẫn, hay còn gọi là ma trận lỗi, là công cụ quan trọng để đánh giá hiệu suất của thuật toán, đặc biệt trong huấn luyện có giám sát Mỗi hàng trong ma trận thể hiện các trường hợp dự đoán, trong khi mỗi cột phản ánh các trường hợp thực tế.

Bảng confusion (bảng 2.4) là bảng gồm hai hàng và hai cột miêu tả true positive, true negative, false positive, false negative

- True positive: dự đoán đúng với các kết quả khẳng định

- True negative: dự đoán đúng với các kết quả phủ định

- False positive: dự đoán sai với kết quả khẳng định (Type I error)

- False negative: dự đoán sai với kết quả phủ định (Type II error)

Tổng số mẫu True Condition

Positive True Positive False Positive

Predicted Condition Negative False Negative True Negative

Một số thông số có thể rút ra từ bảng confusion:

- Accuracy (Độ chính xác) = (TP+TN)/total

- Misclassification Rate (Tỉ lệ lỗi) = (FP+FN)/total

- True Positive Rate = TP/actual positive

- False Positive Rate = FP/actual negative

- Specificity = 1- False Positive Rate = TN/actual negative

Board nRF51822

2.6.1 Giới thiệu về nRF51822 nRF51822 là một SoC mạnh mẽ, độ linh hoạt cao thích hợp lý tưởng cho Bluetooth Low Energy và các ứng dụng không dây 2.4GHz công suất cực thấp nRF51822 được xây dựng dựa trên bộ xử lý ARM® Cortex™ M0 với bộ nhớ trong 256kB/128kB và RAM 32kB/16kB để tăng hiệu suất ứng dụng Bộ truyền nhận dữ liệu 2.4 GHz nhúng trong module hỗ trợ cả giao tiếp BLE và Nordic Gazell 2.4GHz tương thích với các dòng sản phẩm nRF24L của Nordic Semiconductor

NRF51822 hỗ trợ kết nối với nhiều thiết bị ngoại vi analog và digital thông qua hệ thống PPI (Programmable Peripheral Interconnect), cho phép tương tác mà không cần CPU Với 31 chân GPIO linh hoạt, nó cho phép thực hiện các I/O như giao tiếp nối tiếp, điều chế độ rộng xung PWM và giải điều chế vuông góc, có thể kết nối đến bất kỳ chân nào trên PCB theo yêu cầu Điều này mang lại sự linh hoạt trong thiết kế với nhiều kiểu kết nối và ứng dụng đa dạng.

NRF51822 hỗ trợ giao thức BLE và 2.4GHz, bao gồm cả Gazell, với nRF5188 chỉ cần một nguồn cung cấp Chip cho phép điều chỉnh trên bộ điều chỉnh tuyến tính tích hợp trong khoảng 1.8-3.6V Chế độ trực tiếp 1.8V và bộ chuyển đổi DC-DC kiểu Buck cung cấp điện áp từ 2.1-3.6V Việc sử dụng nguồn chuyển đổi DC-DC có thể được điều khiển trong quá trình hoạt động, cho phép nRF51822 hoạt động ở nguồn tối đa 3V 10nA.

2.6.2 Thông số kỹ thuật, ính năng c a board nRF51822

- Chip đơn, độ linh hoạt cao, thiết bị đa giao thức 2.4GHz

- Bộ nhớ trong 256kB/128kB và RAM 32kB/16kB

- Hỗ trợ stack giao thức BLE

- Chế độ bảo vệ an toàn khi hoạt động

- Tương thích với dòng nRF24L của Nordic

- 3 tốc độ truyền (2Mbps/1Mbps/250kbps)

- Độ nhạy -93dBm đối với Bluetooth low energy

- Hệ thống PPI cho các ứng dụng đòi hỏi tối đa hiệu suất và đơn giản chương trình

- Hệ thống quản lý hiệu năng tự động với từng thiết bị ngoại vi

- Các chân I/O cấu hình được cho các I/O analog và digital

- Khoảng nhiệt độ hoạt động: -40 o C đến 105 o C

 Các ứng dụng của nRF51822

- Giám sát sạc không dây

- Thiết bị ngoại vi PC

- Điều khiển từ xa các thiết bị điện tử

- Cảm biến tiệm cận, cảm biến báo động

- Các cảm biến theo dõi sức khỏe, luyện tập thể dục

- Các thẻ RF thông minh

- Các ứng dụng trò chơi điện tử

- Thiết bị gia dụng thông minh

- Các cảm biến thương mại và công nghiệp

 Thông số kỹ thuật của nRF51822

- Dải tần số: 2.4GHz ISM ( 2.40000 – 2.4835GHz)

- Tốc độ truyền on-air: 250 kbps, 1 Mbps hoặc 2 Mbps

- Công suất ngõ ra (khả trình): 4 to -20dBm trong các bước 4dB

- Vi xử lý: 32-bit ARM Cortex M0

- Dòng tiêu thụ: - 2.6 μA khi tất cả thiết bị ngoại vi ở chế độ nghỉ

- GPIO: 31 chân cấu hình được

- Digital I/O: SPI, 2-wire, UART, Giải điều chế cầu phương

- Timers/Counter: 2 x 16 bit, 1 x 24bit, 2 x 24bit, RTC

MPU-6050

Cảm biến MPU-6050 là thiết bị theo dõi chuyển động 6 trục, bao gồm con quay hồi chuyển 3 trục và cảm biến gia tốc 3 trục, cùng với một xử lý chuyển động số (DMP) tích hợp trong kích thước chỉ 4x4x0.9mm Với giao tiếp I2C, cảm biến này nhận dữ liệu từ la bàn ngoài, cung cấp đầu ra cảm biến chuyển động 9 trục Việc tích hợp 6 trục và board điều khiển giúp loại bỏ các thành phần phức tạp, giảm chi phí và đảm bảo hiệu suất tối ưu cho người dùng MPU-6050 còn có khả năng giao tiếp với nhiều cảm biến số không quán tính khác qua các port I2C phụ trợ.

MPU-6050 được trang bị ba bộ ADC 16 bit để số hóa tín hiệu từ con quay hồi chuyển và ba bộ ADC khác cho cảm biến gia tốc Thiết bị này sử dụng con quay hồi chuyển khả trình, giúp theo dõi chính xác cả chuyển động nhanh và chậm.

250, 500, 1000 và 2000o/sec (dps) và một bộ đo gia tốc khả trình ±2g, ±4g, ±8g, and ±16g

Bộ đệm FIFO on-chip 1024 bytes của MPU-6050 giúp giảm tổn hao công suất hệ thống bằng cách cho phép bộ xử lý đọc dữ liệu từ cảm biến theo xung và chuyển sang chế độ công suất thấp khi thu thập nhiều dữ liệu Việc xử lý on-chip và các thành phần cảm biến là cần thiết cho nhiều ứng dụng dựa trên cảm biến chuyển động MPU-6050 hỗ trợ ứng dụng MotionInterface với mức tiêu thụ năng lượng thấp, giảm yêu cầu xử lý cho bộ xử lý hệ thống Bằng cách cung cấp ngõ ra tích hợp MotionFusion, DMP trong MPU-6050 giúp giảm khối lượng tính toán cho bộ xử lý, đồng thời giảm thiểu việc kiểm tra thường xuyên ngõ ra cảm biến chuyển động.

Giao tiếp với các thanh ghi thiết bị qua chuẩn I2C với tần số 400kHz, thiết bị còn tích hợp cảm biến nhiệt và bộ dao động on-chip, đảm bảo độ chính xác 1% trong khoảng nhiệt độ hoạt động.

InvenSense đã giảm kích thước MPU-6050 xuống còn 4x4x0.9mm trong khi vẫn cung cấp được công suất nhất, nhiễu ít hơn và giá thành thấp hơn Cảm biến MPU-

6050 có khả năng chống sốc mạnh mẽ lên đến 10.000g, cùng với các bộ lọc thông thấp linh hoạt cho con quay hồi chuyển, cảm biến gia tốc và cảm biến nhiệt.

MPU-6050 hoạt động hiệu quả trong khoảng nguồn cung cấp từ 2.375V đến 3.46V Ngoài ra, cảm biến này còn trang bị chân VLOGIC bên cạnh chân VDD, cho phép cài đặt mức logic cho giao tiếp I2C Điện áp VLOGIC có thể được thiết lập ở mức 1.8V ±5% hoặc tương đương với VDD.

Con quay hồi chuyển ba trục MEMS trong MPU-6050 bao gồm các đặc điểm sau:

- Bộ cảm biến góc quay ngõ ra số trục x, trục y và trục z (con quay hồi chuyển) với các khoảng lập trình được ±250, ±500, ±1000, and ±2000°/sec

- Tín hiệu đồng bộ bên ngoài được kết nối với chân FSYNC hỗ trợ đồng bộ hóa hình ảnh, video và GPS

- Bộ ADC 16-bit tích hợp cho phép lấy mẫu đồng thời con quay hồi chuyển

- Độ ổn định về độ nhạy và ngưỡng nhiệt độ giúp giảm việc phải canh chỉnh

- Cải thiệt việc hoạt động ở nhiễu tần số thấp

- Bộ lọc thông thấp khả trình

- Dòng hoạt động con quay hồi chuyển: 3.6mA

- Hệ số cân chỉnh khoảng độ nhạy của nhà máy

- Tự kiểm tra bởi người sử dụng

- Cảm biến gia tốc ba trục MEMS trong MPU-6050 bao gồm các đặc tính sau:

- Bộ cảm biến góc quay ngõ ra số trục x, trục y và trục z (con quay hồi chuyển) với các khoảng lập trình được ±2g, ±4g, ±8g and ±16g

- Bộ ADC 16-bit tích hợp cho phép lấy mẫu đồng thời mà không cần bộ ghép kênh ngoài

- Dũng hoạt động bỡnh thường: 500àA

- Chế độ dòng tiêu thụ thấp: 10μA tại 1.25Hz, 20μA tại 5Hz, 60μA tại 20Hz, 110μA tại 40Hz

- Định vị và phát hiện định hướng

- Tự kiểm tra bởi người sử dụng

- MPU-6050 bao gồm các tính năng thêm:

- MotionFusion 9 trục thực hiện bởi DMP (Digital Motion Processor) on-chip

- Dòng hoạt động 3.9mA khi cảm biến cả 6 trục và DMP được kích hoạt

- Khoảng điện áp cung cấp 2.375-3.46V

- Điện áp tham chiếu VLOGIC hỗ trợ điện áp giao tiếp I 2 C

- Kích thước nhỏ gọn: 4x4x0.9mm

- Độ nhạy chéo giữa trục gia tốc và trục con quay nhỏ nhất

Bộ đệm FIFO 1024 bytes giúp tiết kiệm năng lượng bằng cách cho phép chip xử lý chính đọc dữ liệu trong các xung và chuyển sang chế độ công suất thấp khi MPU cần đọc nhiều dữ liệu hơn.

- Cảm biến nhiệt độ ngõ ra số

- Bộ lọc số khả trình cho con quay hồi chuyển, cảm biến gia tốc và cảm biến nhiệt độ

- Fast mode I 2 C 400kHz để giao tiếp với các thanh ghi

- Bộ xử lý chuyển động số nội (DMP) hỗ trợ thuật toán nhận dạng cử chỉ và xử lý chuyển động 3-D

MPU-6050 là một cảm biến mạnh mẽ có khả năng thu thập dữ liệu từ con quay hồi chuyển và cảm biến gia tốc, đồng thời cho phép người dùng đồng bộ tốc độ lấy mẫu theo yêu cầu Dữ liệu mà MPU-6050 thu thập bao gồm thông tin từ ba trục con quay, ba trục gia tốc và dữ liệu nhiệt độ, mang lại cái nhìn tổng quan về chuyển động và điều kiện môi trường.

FIFO giúp lưu trữ dữ liệu hoàn chỉnh, giảm thời gian xử lý trên bộ xử lý hệ thống, cho phép bộ xử lý truy cập dữ liệu từ FIFO nhanh chóng Sau khi đọc dữ liệu, bộ xử lý có thể tiết kiệm năng lượng bằng cách chuyển sang chế độ ngủ đông, trong khi MPU tiếp tục thu thập dữ liệu.

- Các thanh ghi ngắt hỗ trợ các tính năng như nhận diện cử chỉ, lướt, phóng to, cuộn, phát hiện chạm và phát hiện rung

- Bộ lọc thông thấp lập trình số

- Chức năng đếm bước công suất thấp cho phép bộ xử lý ngủ đông trong khi DMP vẫn tiếp tục đếm

Sơ đồ phân bố chân nhìn từ mặt trước của MPU-6050 được mô tả trong hình 2.8

Hình 2.13: Sơ đồ phân bố chân của MPU-6050 (top view)

Bảng 2.5 dưới đây liệt kê các chân và chức năng chân của MPU-6050

Bảng 2.5: Sơ đồ chân pinout của MPU-6050

Chân Tên chân Mô tả

1 CLKIN Ngõ vào clock tham chiếu ngoài Nối với GND nếu không sử dụng

6 AUX_DA Chân dữ liệu nối tiếp Master I 2 C, dùng để kết nối sensor ngoài

7 AUX_CL Clock nối tiếp Master I 2 C, dùng để kết nối với sensor ngoài

8 VLOGIC Nguồn cung cấp cho I/O số

9 AD0 Địa chỉ LSB của slave I 2 C (AD0)

10 REGOUT Kết nối lọc điều chỉnh

11 FSYNC Ngõ vào số đồng bộ frame Nối với GND nếu không sử dụng

12 INT Ngắt ngõ ra số

13 VDD Nguồn cung cấp và điện áp cấp I/O số

19,21 RESV Dự phòng Không kết nối

20 CPOUT Kết nối với tụ nạp

22 RESV Dự phòng Không kết nối

23 SCL Xung clock cho I 2 C (SCL)

2.8 Mạch charge pin Lithium TP4056

Mạch charge TP4056 là mạch sạc 3.7V chuyên dụng cho pin Lithium và pin Ultrafire, với dòng sạc tối đa đạt 1A Mạch này được trang bị IC quản lý sạc, tự động ngắt khi điện áp pin giảm xuống dưới 2.4V, đảm bảo an toàn cho pin Hình 2.9 minh họa mạch TP4056 trong thực tế.

 Thông số kĩ thuật của mạch:

- Điện áp vào: Micro USB 4.5-5.5V DC

- Dòng charge tối đa: 1000mA

- Điện áp ngưỡng tự động ngắt: 4.2V 1%

- Điện áp ngưỡng cần charge: 2.5V

- Tích hợp tự động ngắt bảo vệ pin khi pin yếu dưới 2.4V

- Sử dụng sạc Pin 3.7V, Pin Ultrafire, Pin Lithium

- Chế độ đang sạc LED báo màu đỏ

- Chế độ sạc pin đầy LED báo màu xanh

- Mạch sạc có chế độ tự ngắt khi sạc đầy pin

Hình 2.14: Mạch charge TP4056 1A 2.9 Pin Lipo 3.7V 500mA

Pin Lipo, hay còn gọi là Lithium Polymer, là loại pin nhỏ gọn với khả năng xả lớn và tuổi thọ cao Điện áp trung bình của pin Lipo là 3.7V, trong khi điện áp tối đa khi sạc đầy đạt 4.2V.

- Điện áp trung bình 3.7VDC, charge đầy 4.2VDC

Weka

Weka (Waikato Environment for Knowledge Analysis) is a free machine learning software developed by the University of Waikato in New Zealand, built on the Java platform It is licensed under the GNU General Public License, making it accessible for users seeking to analyze data and apply machine learning techniques.

Weka là một phần mềm mạnh mẽ với các công cụ trực quan và thuật toán, cùng với giao diện người dùng thân thiện, hỗ trợ hiệu quả trong việc phân tích dữ liệu và dự đoán mô hình Những ưu điểm nổi bật của Weka bao gồm khả năng xử lý dữ liệu linh hoạt và dễ dàng truy cập các thuật toán học máy.

- Giao diện đồ họa người dùng (GUI): cho phép thực hiện các project machine learning mà không cần lập trình

- Java API: Weka được viết bằng ngôn ngữ Java do đó nó có thể trên hầu hết các nền tảng máy tính hiện tại

- Hỗ trợ nhiều phương pháp mô hình hóa và tiền xử lý dữ liệu

2.10.1 Giới thiệu giao diện c a Weka

Hình 2.16 là giao diện của chương trình Weka khi khởi động, bao gồm:

- Explorer: xử lý dữ liệu và thuật toán muốn sử dụng trong Experimenter

- Experimenter: giao diện để thí nghiệm với tập dữ liệu và thuật toán đã xử lý trong Explorer

Giao diện Knowledge Flow cho phép người dùng theo dõi toàn bộ quá trình huấn luyện và triển khai các mô hình đã được tạo, bao gồm các bước như tải và xử lý dữ liệu đầu vào, thực hiện thuật toán, và trình bày kết quả một cách rõ ràng.

Hình 2.16: Giao diện Weka version 3.8.1

- Preprocess: load tập dữ liệu và biến đổi về dạng mong muốn

- Classify: Chọn và chạy các thuật toán phân loại và hồi quy

- Cluster: Chọn và chạy các thuật toán phân loại nhóm

- Associate: Chạy các thuật toán liên kết để trích xuất đặc trưng của tập dữ liệu

- Select Attributes: Chạy các thuật toán thuộc tính trên tập dữ liệu để chọn ra các thuộc tính liên quan đến tính năng mong muốn dự đoán

- Visualize: Biểu diễn mối quan hệ giữa các thuộc tính

- Current relation cho biết các thông số của file dữ liệu bao gồm tên của file (Relation), số mẫu (instances) và số thuộc tính (attributes)

Hình 2.17: Giao diện của Explorer trong Weka

Hình 2.18: Giao diện Weka Experimenter

Giao diện cho phép thử nghiệm trên các thuật toán và tập dữ liệu, chạy thử nghiệm và phân tích kết quả

Hình 2.19: Giao diện Knowledge Flow

Giao diện này cho phép người dùng theo dõi quá trình huấn luyện thông qua hình ảnh đồ thị, thực hiện các mô hình đã được tạo, bao gồm việc tải và biến đổi dữ liệu đầu vào, chạy thuật toán và trình bày kết quả một cách trực quan.

2.10.2 Chuẩn bị dữ liệu cho Weka

Weka hỗ trợ dữ liệu dưới định dạng file “.arff”, một loại file text ASCII được gọi là Attribute-Relation File Format (định dạng file thuộc tính - quan hệ) File ARFF bao gồm hai phần chính: phần đầu là thông tin tiêu đề và phần hai chứa dữ liệu Các trường hợp trong file này chia sẻ một tập thuộc tính nhất định.

Tiêu đề của bài viết nêu rõ mối quan hệ giữa danh sách các thuộc tính trong tập dữ liệu và kiểu của chúng, bao gồm các khai báo dạng @relation để xác định mối liên hệ giữa các cột.

Các khai báo @relation, @attribute, @data không phân biệt chữ hoa chữ thường Dòng bắt đầu với % là các comments

Trong file ARFF, tên mối quan hệ được khai báo ở dòng đầu tiên với cấu trúc "@relation " Đối với , nếu chuỗi bao gồm khoảng trắng, nó cần được trích dẫn.

Khai báo thuộc tính trong tập dữ liệu bao gồm các câu lệnh theo thứ tự, với mỗi thuộc tính có một câu lệnh @attribute riêng, xác định tên và kiểu dữ liệu Thứ tự khai báo các thuộc tính tương ứng với vị trí cột trong phần dữ liệu của file Ví dụ, nếu thuộc tính được khai báo thứ ba, thì các giá trị thuộc tính sẽ nằm ở cột thứ ba được phân cách bằng dấu phẩy trong Weka.

Cấu trúc của câu lệnh khai báo @attribute là:

@attribute

Với phải bắt đầu bằng kí tự chữ cái Nếu tên có khoảng trắng thì phỉa được trích dẫn

có thể là một trong bốn kiểu dữ liệu được Weka hỗ trợ:

Thuộc tính kiểu số có thể là số thực hoặc số nguyên

Thuộc tính danh định được xác định thông qua một danh sách các đặc điểm danh định, bao gồm các giá trị có thể như {danh định 1, danh định 2, } Đối với các giá trị có chứa khoảng trắng, cần phải sử dụng dấu ngoặc kép để trích dẫn.

Thuộc tính kiểu chuỗi cho phép tạo ra các thuộc tính chứa kí tự tùy ý, mang lại lợi ích lớn cho các ứng dụng tìm kiếm chữ ký tự.

Thuộc tính kiểu thời gian có dạng: @attribute thời gian []

chứa tên của thuộc tính và [] quy định cách ghi thời gian Kiểu thời gian mặc định là "yyyy-MM-dd'T'HH:mm:ss"

Phần dữ liệu của file ARFF chứa các dòng khai báo và các mẫu dữ liệu thực tế

Khai báo @data là một dòng đơn biểu thị sự bắt đầu của đoạn dữ liệu trong tệp tin Cấu trúc của khai báo là: @data

Mỗi mẫu dữ liệu được trình bày trên một dòng, với các giá trị thuộc tính được phân cách bằng dấu phẩy Thứ tự các giá trị thuộc tính phải tuân theo tiêu đề đã được xác định, nghĩa là giá trị tương ứng với thuộc tính thứ n sẽ nằm ở trường thứ n Giá trị không có được thể hiện bằng dấu hỏi đơn (?).

Tổng quát lại, một file dữ liệu dạng ARFF phải có cấu trúc như sau:

@relaltion tên tập dữ liệu

@attribute tên_thuộc_tính_1 kiểu dữ liệu

@attribute tên_thuộc_tính_2 kiểu dữ liệu

@attribute tên_thuộc_tính_3 kiểu dữ liệu

Hình 2.20 dưới đây là một ví dụ về file ARFF chứa dữ liệu về thời tiết với một số đặc tính

Hình 2.20: Ví dụ cấu trúc file ARFF

Dòng lệnh bắt đầu với % là các dòng comment chú thích file ARFF chứa dữ liệu về thời tiết với một số đặc tính số

Dòng lệnh đầu tiên @relation weather: tên của tập dữ liệu là weather

Dòng lệnh thứ hai @attribute outlook {sunny , overcast , rainy} khai báo tên thuộc tính thứ nhất là outlook, kiểu dữ liệu là danh định

Dòng lệnh thứ hai @attribute temperature numeric khai báo tên thuộc tính thứ hai là temperature, kiểu dữ liệu là kiểu số

Dòng lệnh thứ ba @attribute humidity numeric khai báo tên thuộc tính thứ ba là humidity, kiểu dữ liệu là kiểu số

Dòng lệnh thứ tư @attribute windy {true , false} khai báo tên thuộc tính thứ tư là windy, kiểu dữ liệu là danh định

Dòng lệnh thứ năm @attribute play? {yes , no} khai báo tên thuộc tính thứ năm là play?, kiểu dữ liệu là danh định

@data khai báo đánh dấu bắt đầu phần dữ liệu của file ARFF

The dataset includes an entry with the outlook set to sunny, a temperature of 85, humidity at 85, windy conditions marked as false, and a play decision recorded as no.

Dữ liệu thứ hai ghi nhận rằng thuộc tính outlook có giá trị là sunny, nhiệt độ là 80, độ ẩm là 90, có gió (windy) là true, và kết quả chơi (play?) là no.

The third dataset features an overcast outlook with a temperature of 83 degrees, humidity at 86%, and no wind, indicating that playing is a yes.

Ngày đăng: 14/01/2022, 20:11

HÌNH ẢNH LIÊN QUAN

Hình 1.2: Sản phẩm Fitbit Tracker được đưa ra thị trường vào năm 2009 - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 1.2 Sản phẩm Fitbit Tracker được đưa ra thị trường vào năm 2009 (Trang 12)
Hình 2.3: Mô hình truyền nhận dữ liệu giữa master và slave - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.3 Mô hình truyền nhận dữ liệu giữa master và slave (Trang 22)
Hình 2.4: Quá trình hoạt động của BLE - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.4 Quá trình hoạt động của BLE (Trang 26)
Hình 2.5: Ba kênh Advertising và 37 kênh data của BLE - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.5 Ba kênh Advertising và 37 kênh data của BLE (Trang 27)
Hình 2.6: Quá trình Scanning của BLE central và Advertising của BLE peripheral  2.3.  Decision Tree - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.6 Quá trình Scanning của BLE central và Advertising của BLE peripheral 2.3. Decision Tree (Trang 29)
Hình 2.8: Ví dụ về decision tree ứng dụng cho một tập dữ liệu về thời tiết - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.8 Ví dụ về decision tree ứng dụng cho một tập dữ liệu về thời tiết (Trang 31)
Hình 2.9: Cách chia tập dữ liệu trong phương pháp Random Subsampling - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.9 Cách chia tập dữ liệu trong phương pháp Random Subsampling (Trang 37)
Hình 2.10: Cách chia tập dữ liệu theo phương pháp k-Fold Cross Validaiton - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.10 Cách chia tập dữ liệu theo phương pháp k-Fold Cross Validaiton (Trang 37)
Hình 2.11: Cách chia tập dữ liệu theo phương pháp Leave one-out Cross Validation - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.11 Cách chia tập dữ liệu theo phương pháp Leave one-out Cross Validation (Trang 38)
Bảng 2.4: Bảng Confusion - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Bảng 2.4 Bảng Confusion (Trang 39)
Hình 2.13: Sơ đồ phân bố chân của MPU-6050 (top view) - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.13 Sơ đồ phân bố chân của MPU-6050 (top view) (Trang 46)
Hình 2.17: Giao diện của Explorer trong Weka - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.17 Giao diện của Explorer trong Weka (Trang 51)
Hình 2.18: Giao diện Weka Experimenter - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.18 Giao diện Weka Experimenter (Trang 51)
Hình 2.19: Giao diện Knowledge Flow - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 2.19 Giao diện Knowledge Flow (Trang 52)
Hình 3.1: Sơ đồ khối của vòng đeo tay - Thiết kế và thi công vòng đeo tay đếm bước chân dựa trên thuật toán DECSION TREE
Hình 3.1 Sơ đồ khối của vòng đeo tay (Trang 58)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN