Con quay hồi chuyển gyroscopes

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

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

Con xoay hồi gửi là gì?

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


Nguyên lí hoạt động

Con con quay hồi chuyển đặc thù bởi một vài ứng xử như tiến cồn và chương động. Nếu bạn đã từng nghịch đồ chơi ứng dụng con tảo hồi chuyển, như Yo-yo, con quay,… chẳng hạn, chắc hẳn hẳn bạn sẽ hứng thú với việc nó hoàn toàn có thể giữ thăng bởi trên dây hoặc trên ngón tay, phòng lại vận động quanh trục xoay một cách rất lạ, tuy vậy hiệu ứng quan trọng đặc biệt nhất trên bé quay hồi chuyển đó là Tiến động. Mời các bạn xem video video clip dưới trên đây để dễ hình dung 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 gyroscopes


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

Phần độc đáo nhất của video đó là lúc bánh xe đạp treo lửng lơ trên không. Đó đó là Tiến động. Bánh xe cộ đạp trong khi có năng lực chống lại trọng lực! mang ví dụ bên trên bánh xe pháo đạp, treo lên trần bằng 1 sợi dây thừng buột tại một đầu trục 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 vận động quanh trục của chính nó với lực F phía xuống và momen xoắn (torque) phía ra theo hướng trục quay, vuông góc cùng 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 tác dụng lên trục bánh xe tạo thành momen đụng lượng vuông góc, khi ta buông tay ra, cả hệ bánh xe đang đánh võng để đi về trạng thái thăng bằng (do ma sát).

*

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

*

Ứng dụng vào trong những 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 tiến bộ ngày nay, đặc biệt là điện thoại hợp lý và máy vi tính bảng. Vận tốc kế cung cấp việc đo lường và tính toán gia tốc đường tính kha khá so với size 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 sẽ đứng, từ đó điều chỉnh khung người thành chính sách portrait hoặc landscape và vận dụng vào những trò nghịch cần cảm biến chuyển cồn như đua xe cộ hoặc những trò chơi liên tưởng ảo (Wii).

Xem thêm: Đồ Chơi Mô Hình Đồ Chơi Xe Vinfast Lux A 2, Review Xe Mô Hình Tĩnh Vinfast

Vậy trên sao bọn họ phải đề nghị đến con quay hồi chuyển?

Gia tốc kế chỉ có thể đo được vận tốc tuyến tính của thiết bị, trong những lúc con quay hồi chuyển hoàn toàn có thể nhận biết được vị trí hướng của thiết bị, hệ thống hoàn toàn có thể dễ dàng ghi nhấn những vận động theo cả phương ngang hoặc phương thẳng đứng. Vậy buộc phải con xoay hồi chuyển được ứng dụng tương đối nhiều vào các phần mềm cần đến khả 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ế, bạn cũng có thể để đến nhận vật chạy nhanh bằng cách nghiên trang bị về phía trước, giới hạn lại bằng phương pháp lật đồ vật về phía sau. Tuy nhiên nếu không có con cù hồi chuyển, người chơi lại phải áp 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 nhấn vật, vấn đề đó hết mức độ phiền toái, vì tất nhiên phím chạm màn hình không thể nhạy và dễ điều khiển như phím cứng bên trên tay cầm. Với bé quay hồi chuyển, người lập trình hoàn toàn 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à vì vậy mà người chơi có thể rảnh tay thực hiện các thao tá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ò nghịch đ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 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ó chiếc la bàn có độ nhạy và đúng đắn cao, lại không bị dựa vào vào sóng ngắn từ trường xung quanh. đương nhiên trước khi sử dụng, họ phải thực hiện làm việc gọi là “calibrate” – căn chỉnh để điều hướng cho thiết bị.

*

Trong những thiết bị di động, dĩ nhiên bọn họ không thể tích hợp được nhỏ quay hồi gửi cơ học vào, núm vào đó, bọn họ dùng thiết bị gọi là MEMS (MicroElectroMechanical System – hệ thống vi cơ năng lượng điện tử), gần tương tự như như system-on-chip ngày nay, tế bào phỏng thiết yếu xác hoạt động của các máy 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 micromet. Bé quay MEMS được tìm kiếm thấy trên những thiết bị thực hiện điện, laser vòng trạng thái rắn, nhỏ quay tua quang học, và bé quay lượng tử cực kỳ nhạy.

*

Phần 2: lí giải tạo vận dụng la bàn

Bước 1

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

*

Bước 2

Chọn các loại thiết bị phải 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, bọn họ sẽ tạo nên một activity mới, thông tin này, họ nên nhằm mặc định và liên tục bấm Finish để tạo nên một project trong android Studio.In hành lang cửa số mới

*

Bước 5

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

Bước 6

Mở file MainActivity.java sau đó kế vượt class AppCompatActivity cùng 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 để rất 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 phương thức onSensorChanged và thực thi đ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 đ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 ứng dụng và chúng ta có được 1 ứng dụng la bàn đơn giản.

Leave a Reply

Your email address will not be published. Required fields are marked *