2012-05-04 57 views
22

Sự khác biệt giữa cảm biến trọng lực và gia tốc trong Android là gì? Theo quan điểm của tôi, giá trị vật lý là như nhau trong cả hai trường hợp.Sự khác nhau giữa cảm biến "trọng lực" và "tăng tốc" trong Android là gì?

Biến tần nào tác động lên khối lượng đơn vị bên trong thiết bị?

BỔ SUNG

Câu hỏi đặt ra là: những gì đại lượng vật lý được đo bằng các cảm biến này? Theo equivalence principle khả năng tăng tốc và trọng lực là không thể phân biệt được và cách duy nhất để đo lường là theo cân bằng mùa xuân thông thường (nhưng 3d).

Trả lời

11

Cảm biến tăng tốc cho phép bạn trả lại tổng của tất cả các lực được áp dụng cho thiết bị của bạn, trong khi cảm biến Gravity chỉ trả về ảnh hưởng của trọng lực. Nếu bạn muốn loại trừ trọng lực khỏi gia tốc, bạn có thể sử dụng bộ lọc thông cao hoặc trừ các giá trị cảm biến trọng lực khỏi các giá trị cảm biến gia tốc - không chắc chắn phương pháp nào mang lại độ chính xác cao hơn.

Phương pháp khác có thể sử dụng Sensor.TYPE_LINEAR_ACCELERATION, cho phép chính xác (tăng tốc - trọng lực), tuy nhiên bạn nên kiểm tra xem nó có khả dụng trên thiết bị hay không. Tôi đã tìm thấy một vài thiết bị có cảm biến ACCELERATION hoạt động nhưng không có phản hồi từ cảm biến GRAVITY hoặc LINEAR_ACCELERATION.

+0

Vì vậy, bạn có nghĩa là cảm biến trọng lực chỉ là cảm biến gia tốc được truyền qua bộ lọc low-pass? –

+2

có lẽ, vì GRAVITY đã có sẵn kể từ API phiên bản 9 và tôi không nghĩ rằng điện thoại của mình có bất kỳ thay đổi phần cứng nào khi tôi đã nâng cấp =) – lenik

+0

, tôi đã có lẽ GRAVITY là một cảm biến riêng biệt, nhưng nếu bạn đang có kế hoạch hỗ trợ Android 2.1, có lẽ bộ lọc thông qua cao trên cảm biến ACCELERATION là đặt cược tốt nhất của bạn – lenik

3

Liên kết này có thể hữu ích: http://www.sensorplatforms.com/which-sensors-in-android-gets-direct-input-what-are-virtual-sensors

Đoạn trích sau đây tóm tắt các câu trả lời cho câu hỏi của bạn:

"Danh sách này ... bao gồm cả cảm biến vật lý và các loại cảm biến với giá trị thu được từ các cảm biến vật lý, đôi khi chúng được gọi là cảm biến ảo ... Các loại cảm biến ảo (trọng lực, gia tốc tuyến tính và vector quay) cung cấp các giá trị thu được bằng cách kết hợp các kết quả từ cảm biến vật lý một cách thông minh. đôi khi con quay hồi chuyển để xác định góc ba chiều mà thiết bị Android đặt theo khung trái đất tọa độ. Khi biết được vector chuyển động quay của một thiết bị, dữ liệu gia tốc kế có thể được tách thành trọng lực và khả năng tăng tốc tuyến tính."

Liên kết này https://stackoverflow.com/a/8238389/604964 cũng nói rằng các giá trị trọng lực được tính toán sử dụng một bộ lọc Butterworth.

Các vấn đề liên quan