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

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 trên thiết yếu smartphone của bạn nhờ vào cảm biến con con quay hồi chuyển

Phần 1. Khám phá về con quay hồi chuyển

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

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


Nguyên lí hoạt động

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

Bạn đang xem: Cách làm con quay hồi chuyể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ửng lơ trên không. Đó chính là Tiến động. Bánh xe đạp hình như có kỹ năng chống lại trọng lực! lấy ví dụ trên bánh xe cộ đạp, treo lên trần bằng 1 sợi dây thừng buột tại 1 đầu trục con quay bánh xe, hiện tượng kỳ lạ Tiến động xẩy ra như sau:Xét riêng biệt bánh xe pháo đạp, bánh xe chuyển động quanh trục của chính nó với lực F phía xuống với 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 tác động càng lớn, momen động lượng (angular momentum) càng to theo phương của momen xoắn.

*

Xét cả hệ bánh xe với dây thừng, lực chức năng trong trường hòa 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 ra momen rượu cồn lượng vuông góc, khi ta buông tay ra, cả hệ bánh xe đã đánh võng nhằm đ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 pháo bành ảnh hưởng tác động 1 lực dịu để tạo thành momen xoắn theo hướng vuông góc cùng với momen rượu cồn lượng, bánh xe pháo sẽ chuyển động như lửng lơ trên không.

*

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

Con tảo hồi chuyển được sử dụng kết phù 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 tuyệt vời và máy tính xách tay bảng. Vận tốc kế cung cấp việc đo lường và thống kê gia tốc đường tính kha khá so với form tham chiếu – hệ qui chiếu (frame of reference). Nó dùng để làm nhận biết thiết bị vẫn nằm ngang hay vẫn đứng, từ đó điều chỉnh khung người thành chính sách portrait hoặc landscape và áp dụng vào những trò chơi cần cảm ứng chuyển đụng như đua xe pháo hoặc các trò chơi ảnh hưởng ảo (Wii).

Xem thêm: Đt Iphone 4S Cũ Cực Chất, Giảm Giá 50%, Bán Chạy Nhất, Apple Iphone 4S

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

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


Ngoài ứng dụng trong những trò đùa điện tử, nhỏ quay hồi đưa còn được sử dụng kết phù 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ự phối kết hợp này, họ có loại la bàn gồm độ tinh tế và đúng mực cao, lại không bị phụ thuộc vào vào từ trường sóng ngắn xung quanh. Dĩ nhiên trước lúc sử dụng, bọn họ phải thực hiện thao tác làm việc gọi là “calibrate” – căn chỉnh để điều phối cho thiết bị.

*

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

*

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, sau đó nhập thương hiệu ứng dụng

*

Bước 2

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

Bước 3

Sau đó chọn Empty Activty

*

Bước 4

Trong cửa sổ mới, chúng ta sẽ tạo nên một activity mới, tin tức này, bọn họ nên nhằm mặc định và liên tiếp bấm Finish để tạo nên một project trong apk Studio.In cửa sổ mới

*

Bước 5

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

Bước 6

Mở file MainActivity.java tiếp đến kế vượt class AppCompatActivity và implements SensorEventListener nhằm sử dụng cảm biến hồi quy

public class MainActivity extends AppCompatActivity implements SensorEventListener

Bước 7

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

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

Bước 8

Sau kia override lại cách làm onSensorChanged và xúc tiến đoạn mã sau:


Overridepublic 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);

Bước 9

Và nhớ là đăng ký lắng nghe sự kiện ở phương thức onResume và hủy đăng ký ở thủ tụ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 áp dụng và bọn họ có đc 1 ứng dụng la bàn solo giản.