2012-10-05 19 views
5

Vì vậy, tôi đã tìm kiếm khoảng 3 giờ và tôi chưa đưa ra câu trả lời hay giải pháp tốt.Giá trị tối đa của gia tốc Android

Câu hỏi của tôi là: Tại sao tôi nhận được giá trị gia tốc tối đa chỉ khoảng 34 m/s^2 hoặc khoảng 3,5 Gs (34/9,81).

Có phải do hạn chế về phần cứng hoặc hạn chế phần mềm không? Nếu nó là phần cứng tôi biết tôi không thể làm gì về nó (hoặc ít nhất là không dễ dàng). Nếu đó là hạn chế phần mềm thì làm thế nào tôi có thể loại bỏ hạn chế đó, có cách nào để làm điều đó không? Giống như một API hay cái gì đó?

Tôi sẽ đánh giá cao bất kỳ trợ giúp nào, Cảm ơn bạn.

Lưu ý: Tôi đang sử dụng Galaxy S, nếu điều đó tạo nên sự khác biệt. Tôi cũng đã tham gia một cái nhìn tại câu hỏi này nhưng điều đó không giúp tôi: What is android accelerometer min and max range

+0

Bạn có thể giải thích ý nghĩa của từ "hạn chế" không? Đó là loại ngụ ý bạn mong đợi để có được một giá trị cao hơn. Bạn có thể muốn đề cập đến việc bạn có bao gồm lực hấp dẫn 9,8m/s^2 hay nếu bạn đã áp dụng bộ lọc thông cao và cũng đề cập đến loại chuyển động nào bạn đang áp dụng cho Galaxy S. cuối cùng, tại sao bạn giả định rằng số đó phải cao hơn 3.5G. Không nói rằng bạn là đúng hay sai về điều đó, nhưng tại sao bạn giả sử có "hạn chế". – David

+0

Đối với hồ sơ, gia tốc về mặt lý thuyết hoàn toàn dựa trên phần cứng: http://developer.android.com/guide/topics/sensors/sensors_motion.html – David

+0

@David cũng theo [this] (https://groups.google. com/forum/#! msg/android-kernel/2RYrDvgJDsM/- uF40t3rU0J) phạm vi phải cao hơn. Tôi không biết nếu điều đó có giúp hay không ... Ngoài ra 3,5 Gs chỉ âm thanh thấp và tôi biết tôi đang lắc điện thoại của tôi khó khăn hơn. Đó là lý do tại sao tôi nghĩ rằng đó là một hạn chế của một số loại. – 0gravity

Trả lời

4

Hãy xem này: https://electronics.stackexchange.com/questions/11372/samsung-galaxy-s-accelerometer-details Câu hỏi đặt ra bao gồm những gì dường như là Datasheet cho các gia tốc kế được sử dụng trong Galaxy S. Rõ ràng có là ba phạm vi có thể có +/- 2g, +/- 4g và +/- 8g. Tôi không phải là một chuyên gia điện tử vì vậy sẽ không cung cấp bất kỳ giải thích nhiều hơn thế.

Theo developer.android.com, chỉ số gia tốc chỉ phụ thuộc vào phần cứng: developer.android.com/guide/topics/sensors/sensors_motion.html Vì vậy, bạn có thể có ảnh chụp tốt hơn khi tải xuống một câu trả lời chuyên gia về diễn đàn stackexchange Kỹ thuật điện đã được tham chiếu ở trên: electronics.stackexchange.com.

Chúc bạn may mắn với dự án của mình!

EDIT: Trong tài liệu tham khảo để bình luận về câu hỏi ban đầu: tôi nhìn thấy, bởi vì nó nói trên page bạn tham khảo -

"hiểu biết của tôi được rằng mặc định cho Android tốc là để hoạt động trong một được xác định trước Khoảng cách + -2g.Làm cách nào tôi có thể lập trình thay đổi phạm vi này thông qua API công khai? Có phương thức getMaximumRange() , nhưng không có phương thức setMaximumRange() tương ứng. "

Bạn đang tự hỏi liệu có phương pháp dựa trên phần mềm để thay đổi phạm vi được chọn trước hay không. Một lần nữa, tôi sẽ nghĩ rằng tài liệu API Android sẽ đề cập đến điều đó. Hãy thử hỏi trên electronics.stackexchange.com những gì "dãy động có thể lựa chọn" được và nếu chúng được thiết lập bởi chuyển mạch phần cứng vật lý (hoặc một cái gì đó như thế) hoặc nếu chúng có thể được thay đổi theo chương trình.

EDIT THỨ HAI: Tôi đọc trang tôi gọi bạn triệt để hơn, và nhận thấy rằng người hỏi ban đầu đã kiểm tra các API của Google và kết luận rằng nó không thể thay đổi phạm vi thông qua nó: Dosen

API không cho phép thay đổi chúng. Tôi nghĩ rằng tôi có thể tìm thấy dữ liệu này trong nguồn api, nhưng nó không phải là đơn giản. Bây giờ tôi sẽ thử. - MarcoBiagi Mar 13 '11 tại 10:36

+0

+1 Cảm ơn bạn đã trả lời. Nó đã cho tôi một số ý tưởng/cái nhìn sâu sắc về những gì để tìm kiếm. – 0gravity

+0

Bạn được chào đón. Hy vọng bạn tìm thấy một cách để giải quyết vấn đề của bạn. – David

2

Với cường độ gia tốc tối đa bạn đang đọc từ Galaxy S là 3,5 g, máy gia tốc Galaxy S có vẻ được thiết lập để có phạm vi gia tốc trên trục của +/- 2g (ví dụ: sqrt (2.0 * 2.0 + 2.0 * 2.0 + 2.0 * 2.0) = 3.5).Để tham khảo, đây là mỗi trục dải tốc của Galaxy S của bạn, Moto G, và các thiết bị Nexus Android:

Galaxy S: +/- 2g
Moto G: +/- 2g
Nexus 1: +/- 2g
Nexus S: +/- 2g
Nexus 4: +/- 4g
Nexus 5: +/- 2g

Các mỗi trục dải tốc thường không được đưa ra trong tờ đặc điểm kỹ thuật của điện thoại. Do đó, nếu người đọc khác biết được phạm vi tối đa của gia tốc của điện thoại, vui lòng thêm nó vào danh sách này.

Thật không may, API Sensor.getMaximumRange() gia tốc không phù hợp: trả về giá trị "không đến đỉnh" trên hầu hết các thiết bị nhưng "cao điểm đến đỉnh" trên một số (ví dụ: Moto G) như được mô tả trong tracked Android OS issue này. Một cách tiếp cận để biết liệu một thiết bị cụ thể có trả về Sensor.getMaximumRange() là "zero to peak" hay "peak to peak" hay không là chạy ứng dụng dữ liệu cảm biến miễn phí như ftNote và lắc mạnh thiết bị để xem clip đọc gia tốc ở đâu các giá trị cảm biến được vẽ.

+0

tôi có lg g3, getMaximumRange() là 39, phạm vi tối đa trung bình là 69G là bao nhiêu? –