Tìm hiểu về con quay hồi chuyển và hướng dẫn tạo ứng dụng la bàn trong 10 phút

Cập nhật ngày 20/08/2022 bởi mychi

Bài viết Tìm hiểu về con quay hồi chuyển và hướng dẫn tạo ứng dụng la bàn trong 10 phút thuộc chủ đề về Giải Đáp Thắc Mắt thời gian này đang được rất nhiều bạn quan tâm đúng không nào !! Hôm nay, Hãy cùng Viết Văn tìm hiểu Tìm hiểu về con quay hồi chuyển và hướng dẫn tạo ứng dụng la bàn trong 10 phút trong bài viết hôm nay nhé ! Các bạn đang xem bài viết : “Tìm hiểu về con quay hồi chuyển và hướng dẫn tạo ứng dụng la bàn trong 10 phút”

Đánh giá về Tìm hiểu về con quay hồi chuyển và hướng dẫn tạo ứng dụng la bàn trong 10 phút


Xem nhanh

Trong bài viết lần này, mình sẽ hướng dẫn các bạn tạo ứng dụng la bàn đơn giản trên chính smartphone của bạn nhờ vào cảm biến con quay hồi chuyển

Con quay hồi chuyển là gì?

thường xuyên người sẽ phải bối rối khi lần đầu nhìn thấy con quay hồi chuyển, vì nó dường như chuyển động theo cách chống lại trọng lực. Tính chất đặc biệt này của con quay hồi chuyển giúp nó trở nên rất quan trọng trong thực tế, từ những thứ dễ dàng như xe đạp cho đến những thứ phức tạp như Hệ thống dẫn đường tiên tiến trên tàu con thoi đều đặn ứng dụng đặc tính của con quay hồi chuyển. Theo định nghĩa vật lí, con quay hồi chuyển là một thiết bị sử dụng để đo đạc hoặc duy trì phương hướng, dựa trên các nguyên tắc bảo toàn mô men động lượng. Thực chất, con quay cơ học là một bánh xe hay đĩa quay với các trục quay tự do theo mọi hướng. Phương hướng này thay đổi nhiều hay ít tùy thuộc vào mô men xoắn bên ngoài hơn là liên quan đến con quay có vận tốc cao mà không cần mô men động lượng lớn. Vì mô men xoắn được tối thiểu hóa bởi việc gắn kết thiết bị trong các khớp vạn năng (gimbal), hướng của nó duy trì gần như cố định bất kể so với bất kỳ chuyển động nào của vật thể mà nó tựa lên.”

Nguyên lí vận hành

Con quay hồi chuyển đặc trưng bởi một vài ứng xử như tiến động và chương động. Nếu bạn đã từng chơi đồ chơi ứng dụng con quay hồi chuyển, như Yo-yo, con quay,… chẳng hạn, chắc hẳn bạn sẽ hứng thú với việc nó có thể giữ thăng bằng trên dây hoặc trên ngón tay, chống lại chuyển động quanh trục quay một cách rất lạ, nhưng hiệu ứng đặc biệt nhất trên con quay hồi chuyển chính là Tiến động. Mời các bạn xem video clip dưới đây để dễ hình dung về Tiến động nếu bạn chưa từng được chứng kiến.

@yotube:https://www.youtube.com/watch?time_continue=228&v=ty9QSiVC2g0

Phần thú vị nhất của video chính là lúc bánh xe đạp treo lơ lửng trên không. Đó chính là Tiến động. Bánh xe đạp dường như có khả năng chống lại trọng lực! Lấy ví dụ trên bánh xe đạp, treo lên trần bằng 1 sợi dây thừng buột ở 1 đầu trục quay bánh xe, hiện tượng Tiến động xảy ra như sau: Xét riêng bánh xe đạp, bánh xe chuyển động quanh trục của nó với lực F hướng xuống và momen xoắn (torque) hướng ra theo hướng trục quay, vuông góc với lực F. Lực F ảnh hưởng càng lớn, momen động lượng (angular momentum) càng lớn theo phương của momen xoắn.

Xét cả hệ bánh xe và dây thừng, lực công dụng trong trường hợp này là trọng lực, momen xoắn tác dụng lên trục bánh xe tạo ra momen động lượng vuông góc, khi ta buông tay ra, cả hệ bánh xe sẽ đánh võng để đi về trạng thái cân bằng (do ma sát).

Xét cả hệ bánh xe và dây thừng, khi ta quay bánh xe bành tác động 1 lực nhẹ để tạo momen xoắn theo hướng vuông góc với momen động lượng, bánh xe sẽ chuyển động như lơ lửng trên không.

Ứng dụng vào trong các thiết bị di động:

Con quay hồi chuyển được dùng kết hợp với gia tốc kế trong các thiết bị di động hiện đại ngày nay, đặc biệt là điện thoại thông minh và máy tính bảng. Gia tốc kế hỗ trợ việc tính toán gia tốc tuyến tính tương đối so với khung tham chiếu – hệ qui chiếu (frame of reference). Nó dùng để nhận biết thiết bị đang nằm ngang hay đang đứng, từ đó điều chỉnh khung hình thành chế độ portrait hoặc landscape và áp dụng vào các trò chơi cần cảm biến chuyển động như đua xe hoặc các trò chơi tương tác ảo (Wii).

Vậy tại sao chúng ta phải cần đến con quay hồi chuyển?

Gia tốc kế chỉ có thể đo được gia tốc tuyến tính của thiết bị, trong khi con quay hồi chuyển có khả năng nhận biết được hướng của thiết bị, hệ thống có thể dễ dàng ghi nhận những chuyển động theo cả phương ngang hoặc phương thẳng đứng. Vậy nên con quay hồi chuyển được ứng dụng rất thường xuyên vào các phần mềm cần đến có khả năng điều hướng, đặc biệt là các game trên các thiết bị di động. Lấy ví dụ một game hành động bắn súng, ứng dụng gia tốc kế, chúng ta có khả năng để cho nhận vật chạy nhanh bằng cách nghiên thiết bị về phía trước, dừng lại bằng cách lật thiết bị về phía sau. mặc khác nếu không có con quay hồi chuyển, người chơi lại phải sử dụng 4 nút điều hướng cảm ứng như trên các game hệ console để điều chỉnh hướng chạy của nhận vật, điều này hết sức phiền toái, vì dĩ nhiên phím cảm ứng không thể nhạy và dễ điều khiển như phím cứng trên tay cầm. Với con quay hồi chuyển, người lập trình có thể cho nhân vật đổi hướng di chuyển bằng cách nghiên thiết bị theo hướng mong muốn, hết sức đơn giản, và do đó mà người chơi có thể rảnh tay thực hiện các thao tác như kéo thả, hoặc chọn để bắn.

Ngoài ứng dụng trong các trò chơi điện tử, con quay hồi chuyển còn được dùng kết hợp với gia tốc kế trong la bàn điện tử ở các thiết bị di động. Với sự kết hợp này, chúng ta có chiếc la bàn có độ nhạy và chính xác cao, lại không bị phụ thuộc vào từ trường xung quanh. Dĩ nhiên trước khi sử dụng, chúng ta phải thực hiện thao tác gọi là “calibrate” – căn chỉnh để điều hướng cho thiết bị.

Trong các thiết bị di động, dĩ nhiên chúng ta không thể tích hợp được con quay hồi chuyển cơ học vào, thay vào đó, chúng ta dùng thiết bị gọi là MEMS (MicroElectroMechanical System – Hệ thống vi cơ điện tử), gần tương tự như system-on-chip ngày nay, mô phỏng chính xác vận hành của các thiết bị cơ học trong một con chip nhỏ gọn duy nhất, với kích cỡ chỉ vài micromet. Con quay MEMS được tìm thấy trên các thiết bị dùng điện, laser vòng trạng thái rắn, con quay sợi quang học, và con quay lượng tử siêu nhạy.

✅ Mọi người cũng xem : chuyển khoản chứng khoán là gì

Bước 1

Vào File chọn New rồi chọn New Project, sau đó nhập tên ứng dụng

✅ Mọi người cũng xem : cơ vòng hậu môn là gì

Bước 2

Chọn loại thiết bị cần build và phiên bản SDK của Android

Bước 3

Sau đó chọn Empty Activty

✅ Mọi người cũng xem : kẻ cơ hội là gì

Bước 4

Trong cửa sổ mới, chúng ta sẽ tạo ra một activity mới, thông tin này, chúng ta nên để mặc định và tiếp tục bấm Finish để tạo ra một project trong Android Studio.In cửa sổ mới

Bước 5

Mở file res/layout/activity_main.xml sau đó sửa mã code như sau:

<?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal|clip_vertical" tools:context="com.example.nguyenmanhquan.tutorialcompassapp.MainActivity"> <FrameLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical"> <ImageView android:id="@+id/compass" android:layout_width="350dp" android:layout_height="350dp" android:layout_gravity="center" android:scaleType="fitCenter" android:src="@drawable/ic_compass" /> <ImageView android:id="@+id/imageView" android:layout_width="230dp" android:layout_height="230dp" android:layout_gravity="center" android:scaleType="fitCenter" android:src="@drawable/ic_magnet" /> </FrameLayout> </FrameLayout> 

Bước 6

Mở file MainActivity.java sau đó kế thừa class AppCompatActivity và implements SensorEventListener để sử dụng cảm biến hồi quy

public class MainActivity extends AppCompatActivity implements SensorEventListener

✅ Mọi người cũng xem : kháng thể đa dòng là gì

Bước 7

Ở hàm onCreate, chúng ta khai báo SensorManager để có thể dùng cảm biến ở trong smartphone

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

Bước 8

Sau đó override lại phương thức onSensorChanged và thực thi đoạn mã sau:

@Override public void onSensorChanged(SensorEvent sensorEvent) final float alpha = 0.97f; synchronized (this) if (sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER) mGravity[0] = alpha * mGravity[0] + (1 - alpha) * sensorEvent.values[0]; mGravity[1] = alpha * mGravity[1] + (1 - alpha) * sensorEvent.values[1]; mGravity[2] = alpha * mGravity[2] + (1 - alpha) * sensorEvent.values[2]; if (sensorEvent.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) mGeomagnetic[0] = alpha * mGeomagnetic[0] + (1 - alpha) * sensorEvent.values[0]; mGeomagnetic[1] = alpha * mGeomagnetic[1] + (1 - alpha) * sensorEvent.values[1]; mGeomagnetic[2] = alpha * mGeomagnetic[2] + (1 - alpha) * sensorEvent.values[2]; float R[] = new float[9]; float I[] = new float[9]; boolean success = SensorManager.getRotationMatrix(R, I, mGravity, mGeomagnetic); if (success) float orientation[] = new float[3]; SensorManager.getOrientation(R, orientation); azimuth = (float) Math.toDegrees(orientation[0]); azimuth = (azimuth + 360) % 360; Animation anim = new RotateAnimation(-currectAzimuth, -azimuth, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); currectAzimuth = azimuth; anim.setDuration(500); anim.setRepeatCount(0); anim.setFillAfter(true); imageView.startAnimation(anim); 

✅ Mọi người cũng xem : chiến lược marketing là gì

Bước 9

Và đừng quên đăng ký lắng nghe sự kiện ở phương thức onResume và hủy đăng ký ở phương thức onPause

@Override protected void onResume() super.onResume(); mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD), SensorManager.SENSOR_DELAY_GAME); mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME); @Override protected void onPause() super.onPause(); mSensorManager.unregisterListener(this); 

Bước 10

Build ứng dụng và chúng ta có đc 1 ứng dụng la bàn đơn giản.

Chúc các bạn thực hiện thành công

Source code



Các câu hỏi về con quay hồi chuyển điện thoại là gì


Nếu có bắt kỳ câu hỏi thắc mắt nào vê con quay hồi chuyển điện thoại là gì hãy cho chúng mình biết nhé, mõi thắt mắt hay góp ý của các bạn sẽ giúp mình cải thiện hơn trong các bài sau nhé <3 Bài viết con quay hồi chuyển điện thoại là gì ! được mình và team xem xét cũng như tổng hợp từ nhiều nguồn. Nếu thấy bài viết con quay hồi chuyển điện thoại là gì Cực hay ! Hay thì hãy ủng hộ team Like hoặc share. Nếu thấy bài viết con quay hồi chuyển điện thoại là gì rât hay ! chưa hay, hoặc cần bổ sung. Bạn góp ý giúp mình nhé!!

Các Hình Ảnh Về con quay hồi chuyển điện thoại là gì


Các hình ảnh về con quay hồi chuyển điện thoại là gì đang được chúng mình Cập nhập. Nếu các bạn mong muốn đóng góp, Hãy gửi mail về hộp thư [email protected] Nếu có bất kỳ đóng góp hay liên hệ. Hãy Mail ngay cho tụi mình nhé

Tham khảo thêm báo cáo về con quay hồi chuyển điện thoại là gì tại WikiPedia

Bạn hãy tham khảo thêm thông tin chi tiết về con quay hồi chuyển điện thoại là gì từ web Wikipedia.◄ Tham Gia Cộng Đồng Tại

???? Nguồn Tin tại: https://vietvan.vn/hoi-dap/

???? Xem Thêm Chủ Đề Liên Quan tại : https://vietvan.vn/hoi-dap/

Related Posts

About The Author

Add Comment