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

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

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

Con cù hồi gửi là gì?

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


Nguyên lí hoạt động

Con xoay hồi chuyển đặc thù bởi một số trong những ứng xử như tiến đụng và chương động. Nếu khách hàng đã từng chơi đồ chơi áp dụng con quay hồi chuyển, như Yo-yo, nhỏ quay,… chẳng hạn, chắc chắn hẳn bạn sẽ hứng thú với bài toán 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 vận động quanh trục cù một giải pháp rất lạ, tuy thế hiệu ứng đặc biệt quan trọng nhất trên bé quay hồi chuyển chính là Tiến động. Mời chúng ta xem video đoạn phim dưới phía trên để dễ tưởng tượng về Tiến động nếu bạn chưa từng được triệu chứng kiến.

Bạn đang xem: Con quay hồi chuyển là gì


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

Phần thú vị nhất của video đó là lúc bánh xe đạp điện treo lơ lửng trên không. Đó đó là Tiến động. Bánh xe pháo đạp trong khi có tài năng chống lại trọng lực! mang ví dụ trên bánh xe đạp, treo lên trần bởi 1 gai dây thừng buột ở 1 đầu trục xoay 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 cộ đạp, bánh xe hoạt động quanh trục của nó với lực F phía xuống cùng 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 ảnh hưởng càng lớn, momen rượu cồn lượng (angular momentum) càng mập theo phương của momen xoắn.

*

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

*

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

*

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

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

Xem thêm: Xuyên Sơn Giáp - Tinh Vị Và Những Tác Dụng Dược Lý Tuyệt Vời Của

Vậy trên sao họ phải nê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 khi con tảo hồi chuyể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 dấn những chuyển động theo cả phương ngang hoặc phương trực tiếp đứng. Vậy phải con cù hồi chuyển được ứng dụng không hề ít vào các phần mềm cần đến năng lực điều hướng, đặc biệt là các game trên các thiết bị di động. đem ví dụ một game hành vi bắn súng, ứng dụng tốc độ kế, bạn cũng có thể để đến nhận thiết bị chạy nhanh bằng phương pháp nghiên sản phẩm về phía trước, ngừng lại bằng phương pháp lật lắp thêm về phía sau. Tuy vậy nếu không tồn tại con cù hồi chuyển, fan 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 để 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 sức phiền toái, vì tất nhiên phím chạm màn hình không thể nhạy với dễ tinh chỉnh và điều khiển như phím cứng bên trên tay cầm. Với con quay hồi chuyển, fan lập trình hoàn toàn có thể cho nhân thứ đổ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à vì vậy mà bạn chơi rất có thể rảnh tay thực hiện các thao tác như kéo thả, hoặc lựa chọn để bắn.


Ngoài ứng dụng trong những trò chơi điện tử, con quay hồi gửi còn được dùng kết phù hợp với gia tốc kế vào la bàn năng lượng điện tử ở các thiết bị di động. Với sự phối hợp này, chúng ta có mẫu la bàn có độ nhạy và đúng chuẩn cao, lại không bị phụ thuộc vào từ trường sóng ngắn xung quanh. Dĩ nhiên trước khi sử dụng, bọn họ 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ị.

*

Trong các thiết bị di động, dĩ nhiên bọn họ không thể tích thích hợp được con quay hồi đưa cơ học tập vào, nuốm vào đó, chúng ta dùng thiết bị điện thoại tư vấn là MEMS (MicroElectroMechanical System – hệ thống vi cơ điện tử), gần giống 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 tập trong một con chip nhỏ tuổi gọn duy nhất, với kích cỡ chỉ vài ba micromet. Con quay MEMS được tìm kiếm thấy trên những thiết bị sử dụng điện, laze vòng tâm lý rắn, nhỏ quay tua quang học, và bé quay lượng tử vô cùng nhạy.

*

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

Bước 1

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

*

Bước 2

Chọn các loại thiết bị đề xuất build với phiên phiên bản SDK của Android

Bước 3

Sau đó lựa chọn Empty Activty

*

Bước 4

Trong hành lang cửa số mới, chúng ta sẽ tạo thành một activity mới, thông tin này, chúng ta nên để mặc định và thường xuyên bấm Finish để tạo nên một project trong app android Studio.In hành lang cửa số mới

*

Bước 5

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

Bước 6

Mở tệp tin MainActivity.java tiếp đến kế vượt 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, họ khai báo SensorManager để có thể sử dụng cảm ứng ở vào smartphone

mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

Bước 8

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