CÁCH LÀM CON QUAY HỒI CHUYỂN

      33

Trong nội dung bài viết lần này, mình vẫn hướng dẫn chúng ta tạo ứng dụng la bàn đơn giản dễ dàng trên chủ yếu smartphone của người tiêu dùng nhờ vào cảm ứng con con quay hồi chuyển

Phần 1. Tìm hiểu về nhỏ quay hồi chuyển

Con xoay hồi đưa là gì?

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

Nguyên lí hoạt động

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

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

Phần thú vui nhất của video chính là lúc bánh xe đạp điện treo lơ lửng trên không. Đó đó là Tiến động. Bánh xe đạp bên cạ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ởi 1 gai dây thừng buột tại một đầu trục quay bánh xe, hiện tượng lạ Tiến động xảy ra như sau:Xét riêng rẽ bánh xe cộ đạp, bánh xe hoạt động quanh trục của nó với lực F phía xuống với momen xoắn (torque) hướng ra theo phía trục quay, vuông góc với lực F. Lực F ảnh hưởng tác động càng lớn, momen rượu cồn lượng (angular momentum) càng khủng theo phương của momen xoắn.

Bạn đang xem: Cách làm con quay hồi chuyển


*

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


*

Xét cả hệ bánh xe cùng dây thừng, lúc ta xoay bánh xe pháo bành tác động 1 lực vơi để sản xuất momen xoắn theo phía vuông góc cùng với momen hễ lượng, bánh xe sẽ chuyển động như lửng lơ trên không.

Xem thêm: Uống Nước Chè Khô Có Tốt Không ? Cùng Điểm Danh +10 Công Dụng


*

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

Vậy tại sao họ phải cần đến nhỏ quay hồi chuyển?

Gia tốc kế chỉ có thể đo được tốc độ tuyến tính của thiết bị, trong những khi con xoay hồi chuyển hoàn toàn có thể nhận biết được hướng của thiết bị, hệ thống hoàn toàn có thể dễ dàng ghi dấn những vận động theo cả phương ngang hoặc phương thẳng đứng. Vậy bắt buộc con cù hồi chuyển được ứng dụng không ít vào các ứng dụng cần đến kĩ năng điều hướng, đặc biệt là các trò chơi trên những 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ế, bạn có thể để cho nhận đồ vật chạy nhanh bằng cách nghiên sản phẩm về phía trước, dừng lại bằng phương pháp lật vật dụng về phía sau. Mặc dù nếu không có con quay hồi chuyển, fan chơi lại phải áp dụng 4 nút điều hướng chạm màn hình như trên những game hệ console để kiểm soát và điều chỉnh hướng chạy của dìm vật, vấn đề này hết mức độ phiền toái, vì dĩ nhiên phím cảm ứng không thể nhạy cùng dễ điều khiển và tinh chỉnh như phím cứng bên trên tay cầm. Với con quay hồi chuyển, người lập trình rất có thể cho nhân vật đổi phía 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 vậy mà người chơi có thể rảnh tay triển khai các thao tác như kéo thả, hoặc lựa chọn để bắn.

Ngoài ứng dụng trong các trò nghịch điện tử, nhỏ quay hồi chuyển còn được sử dụng kết hợp với gia tốc kế vào la bàn điện tử ở các thiết bị di động. Với sự kết hợp này, bọn họ có loại la bàn có độ nhạy và đúng mực cao, lại không bị phụ thuộc vào vào sóng ngắn xung quanh. Tất nhiên trước khi sử dụng, chúng ta phải thực hiện thao tác làm việc gọi là “calibrate” – chỉnh sửa để điều phối cho thiết bị.


*


*

Phần 2: giải đáp tạo vận dụng la bàn

Bước 1

Vào File chọn New rồi chọn New Project, kế tiếp nhập thương hiệu ứng dụng


Bước 4

Trong hành lang cửa số mới, họ sẽ tạo ra một activity mới, tin tức này, bọn họ nên để mặc định và liên tiếp bấm Finish để tạo ra một project trong game android Studio.In hành lang cửa số mới


Bước 5

Mở tệp tin res/layout/activity_main.xml tiếp đến sửa mã code như sau:

Bước 6

Mở tệp tin MainActivity.java tiếp nối kế thừa class AppCompatActivity với implements SensorEventListener để sử dụng cảm biến hồi quy

public class MainActivity extends AppCompatActivity implements SensorEventListener

Bước 7

Ở hàm onCreate, bọn họ khai báo SensorManager để rất có thể sử dụng cảm biến ở vào smartphone

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

Bước 8

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

Overridepublic void onSensorChanged(SensorEvent sensorEvent) final float alpha = 0.97f; synchronized (this) if (sensorEvent.sensor.getType() == Sensor.TYPE_ACCELEROMETER) mGravity = alpha * mGravity + (1 - alpha) * sensorEvent.values; mGravity = alpha * mGravity + (1 - alpha) * sensorEvent.values; mGravity = alpha * mGravity + (1 - alpha) * sensorEvent.values; if (sensorEvent.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD) mGeomagnetic = alpha * mGeomagnetic + (1 - alpha) * sensorEvent.values; mGeomagnetic = alpha * mGeomagnetic + (1 - alpha) * sensorEvent.values; mGeomagnetic = alpha * mGeomagnetic + (1 - alpha) * sensorEvent.values; float R = new float; float I = new float; boolean success = SensorManager.getRotationMatrix(R, I, mGravity, mGeomagnetic); if (success) float orientation = new float; SensorManager.getOrientation(R, orientation); azimuth = (float) Math.toDegrees(orientation); 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);

Bước 9

Và đừng quên đăng ký lắng nghe sự khiếu nại ở cách làm onResume cùng hủy đăng ký ở phương thức onPause

Overrideprotected 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);Overrideprotected void onPause() super.onPause(); mSensorManager.unregisterListener(this);

Bước 10

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


Ku789