Accelerometer Là Gì – Piezoelectric Accelerometer

Một trongnhững thứ mà tôi thấy cảm nhận thấy tuyệt đối nhất nhất nếu như với 1 chiếc smartphone là nó có tác dụng cảm ứng hoạt động và sinh hoạt và hướng. Với những thiết bị của Apple bạn cũng có thể cần sử dụng cảm ứng vận tốc(Accelerometers) và cảm ứng con quay hồi chuyển(Gyroscopes) theo 3 trục x, y, z. Trong content nội dung bài viết này tổng thể toàn bộ tất cả chúng ta sẽ cùng với nhau tạo cho 1 phần mềm nhỏ dại dại để khai phá qua về chúng. Bài Viết: Accelerometer là gì

I)Tạo giao diện

-Giao diện của tổng thể toàn bộ tất cả chúng ta sẽ làm một phương pháp đơn giản dễ dàng và đơn giản và dễ dàng nhất để rất có khả năng hiển thị 12 vía trị. Tổng thể toàn bộ tất cả chúng ta sẽ theo dõi được kinh phí rất tốt kinh phí hiện tại của Acceleration và góc xoay theo chiều trục X, Y, Z. -Sau khi tạo project mới tổng thể toàn bộ tất cả chúng ta vào storyboards. -Ở storyboards tổng thể toàn bộ tất cả chúng ta kéo 25 labels vào view. Tổng thể toàn bộ tất cả chúng ta sẽ mang ra 12 labels để hiển thị dữ liệu về mỗi trục X, Y, Z. Tổng thể toàn bộ tất cả chúng ta bạn căn sửa tên những labels và thêm 1cái nút theo hình sau này.

*

Tiếp theo sau sau tổng thể toàn bộ tất cả chúng ta sẽ link những đối tượng người sử dụng quý khách hàng người dùng ngoài view vào trong tệp tin viewcontroller. Những bặt đặt tên tương ứng với những đôi tượng ngoài viewvà action của nút tổng thể toàn bộ tất cả chúng ta đặt tên resetMaxValue. import CoreMotionclass ViewController: UIViewController{ IBOutlet weak var rollLabel: UILabel! IBOutlet weak var pinchLabel: UILabel! IBOutlet weak var yawLabel: UILabel! IBOutlet var accX: UILabel! IBOutlet var accY: UILabel! IBOutlet var accZ: UILabel! IBOutlet var maxAccX: UILabel! IBOutlet var maxAccY: UILabel! IBOutlet var maxAccZ: UILabel! IBOutlet var rotX: UILabel! IBOutlet var rotY: UILabel! IBOutlet var rotZ: UILabel! IBOutlet var maxRotX: UILabel! IBOutlet var maxRotY: UILabel! IBOutlet var maxRotZ: UILabel! IBAction func resetMaxValues(sender: AnyObject) { }}

Xem Ngay:  Realtek Pcie Gbe Family Controller Là Gì, Card Mạng Lan

II) Cảm ứng vận tốc(Accelerometer) và Cảm ứng con quay hồi chuyển(Gyroscope)

Cảm ứng vận tốc(Accelerometer)

Cảm ứng vận tốc nó được cần sử dụng để đo vận tốc theo 3 chiều có nghĩa là ví dụ bạn lắc thiết bị mạnhthì kinh phí những trục của chính bản thân mình nó cao và người lại. -Khi thiết bị của bạn để lên trên bàn với mặt hình hướng lên trên thì máy đo vận tốc sẽ có được kinh phí là -1G theo chiều Z, và nếu mặt điện thoại cảm ứng thông minh cảm biến mưu trí úp xuống thì nó có kinh phí 1G theo chiều Z. -Nếu người tiêu dùng giữ thẳng đứng chiếc điện thoại cảm ứng thông minh cảm biến mưu trí thì kinh phí được coi là -1G theo trục Y và xoay ngược lại thì được coi là 1G. Y như khi tất cả chúng ta để screen hiển thị điện thoại cảm ứng thông minh cảm biến mưu trí trước mặt mà xoay 1 góc 90 độ trở lại kề bên trái thì những các bạn sẽ nhận được kinh phí -1G theo trục X và ngược lại nếu quay phía ở ở bên phải những các bạn sẽ nhận kinh phí là 1G. Xem Ngay: Fortified Là Gì – 3 Điều Sommelier Cần Biết Về Fortified Wine

*

Cảm ứng con quay hồi chuyển(Gyroscope)

-Con quay hồi chuyển cảm ứng được góc quay giữa những trục XYZ. Cùng theo với accelerometer là 2 công cụ cơ bản để cảm ứng hành động.

III)Viết mã để test

Trong bài hướng dẫn này tổng thể toàn bộ tất cả chúng ta sẽ cần sử dụng CoreMotion. Để thêm Core Motion vào ứng dụng ở target của ứng dụng ở Linked Frameworks và Libraries tổng thể toàn bộ tất cả chúng ta thêm Core Motion. Hiên giờ tổng thể toàn bộ tất cả chúng ta import Core Motion vào tệp tin ViewController. Tiép theo tổng thể toàn bộ tất cả chúng ta sẽ thêm một số biến toàn cục có kiểu double để lưu kinh phí max của cảm ứng vận tốc và nối liền tổng thể toàn bộ tất cả chúng ta tăng thêm một thuộc tính có kiểu CMMotionManager. Phía dưới đó đấy là đoạn mã của tệp tin ViewController: //Instance Variables var currentMaxAccelX: Double = 0.0 var currentMaxAccelY: Double = 0.0 var currentMaxAccelZ: Double = 0.0 var currentMaxRotX: Double = 0.0 var currentMaxRotY: Double = 0.0 var currentMaxRotZ: Double = 0.0 var movementManager = CMMotionManager() //Outlets IBOutlet var accX: UILabel! IBOutlet var accY: UILabel! IBOutlet var accZ: UILabel! IBOutlet var maxAccX: UILabel! IBOutlet var maxAccY: UILabel! IBOutlet var maxAccZ: UILabel! IBOutlet var rotX: UILabel! IBOutlet var rotY: UILabel! IBOutlet var rotZ: UILabel! IBOutlet var maxRotX: UILabel! IBOutlet var maxRotY: UILabel! IBOutlet var maxRotZ: UILabel! IBAction func resetMaxValues(sender: AnyObject) { }Tiếp theo sau sau tổng thể toàn bộ tất cả chúng ta sẽ khởi tạo kinh phí cho những biến: override func viewDidLoad() { currentMaxAccelX = 0 currentMaxAccelY = 0 currentMaxAccelZ = 0 currentMaxRotX = 0 currentMaxRotY = 0 currentMaxRotZ = 0 movementManager.gyroUpdateInterval = 0.2 movementManager.accelerometerUpdateInterval = 0.2 //Start Recording Data movementManager.startAccelerometerUpdatesToQueue(NSOperationQueue.currentQueue()!) { (accelerometerData: CMAccelerometerData?, NSError) -> Void in self.outputAccData(accelerometerData!.acceleration) if(NSError != nil) { print(“(NSError)”) } } movementManager.startGyroUpdatesToQueue(NSOperationQueue.currentQueue()!, withHandler: { (gyroData: CMGyroData?, NSError) -> Void in self.outputRotData(gyroData!.rotationRate) if (NSError != nil){ print(“(NSError)”) } }) }Trong đoạn mã này, tổng thể toàn bộ tất cả chúng ta đâu tiên set kinh phí 0 cho kiểu double. Tiếp đến tổng thể toàn bộ tất cả chúng ta khởi tạo biến motionManager, tiếp theo tổng thể toàn bộ tất cả chúng ta update khoảng chừng chừng thời điểm update theo mini giây. Tiếp theo sau sau tổng thể toàn bộ tất cả chúng ta gọi cách thức startAccelerometerUpdatesToQueue từ biến motionManager, cách thức trên sẽ nói cho thuộc tính motionManger ban sơ gửi những cảm ứng vận tốc…. Tiếp theo sau sau tổng thể toàn bộ tất cả chúng ta sẽ gọi những cách outputAccelertionData để update dữ liệu lên giao diện. Phía dưới đó đấy là code của 2 cách thức: func outputAccData(acceleration: CMAcceleration){ accX?.text = “(acceleration.x).2fg” if fabs(acceleration.x) > fabs(currentMaxAccelX) { currentMaxAccelX = acceleration.x } accY?.text = “(acceleration.y).2fg” if fabs(acceleration.y) > fabs(currentMaxAccelY) { currentMaxAccelY = acceleration.y } accZ?.text = “(acceleration.z).2fg” if fabs(acceleration.z) > fabs(currentMaxAccelZ) { currentMaxAccelZ = acceleration.z } maxAccX?.text = “(currentMaxAccelX).2f” maxAccY?.text = “(currentMaxAccelY).2f” maxAccZ?.text = “(currentMaxAccelZ).2f” } func outputRotData(rotation: CMRotationRate){ rotX?.text = “(rotation.x).2fr/s” if fabs(rotation.x) > fabs(currentMaxRotX) { currentMaxRotX = rotation.x } rotY?.text = “(rotation.y).2fr/s” if fabs(rotation.y) > fabs(currentMaxRotY) { currentMaxRotY = rotation.y } rotZ?.text = “(rotation.z).2fr/s” if fabs(rotation.z) > fabs(currentMaxRotZ) { currentMaxRotZ = rotation.z } maxRotX?.text = “(currentMaxRotX).2f” maxRotY?.text = “(currentMaxRotY).2f” maxRotZ?.text = “(currentMaxRotZ).2f” }Và sau cùng tổng thể toàn bộ tất cả chúng ta cần phải là viết mã cho nút resetMaxValues: IBAction func resetMaxValues(sender: AnyObject) { currentMaxAccelX = 0 currentMaxAccelY = 0 currentMaxAccelZ = 0 currentMaxRotX = 0 currentMaxRotY = 0 currentMaxRotZ = 0 }Nếu người tiêu dùng chạy bạn cũng có thể thấy screen hiển thị như sau này, nhưng cảnh báo tổng thể toàn bộ tất cả chúng ta cần phải chạy ở thiết bị thật. Xem Ngay: Thuê Nhà Royal City Giá Rẻ, Cho Thuê Chung Cư Royal City:

Xem Ngay:  Bff Nghĩa Là Gì - Bff được Sử Dụng Như Thế Nào
*

Nguồn content nội dung bài viết Khóa huấn luyện và giảng dạy lập trình di động tại hethongbokhoe.com: Đểcài đặt MacOSX lên phần cứng chưa phải Apple gọi điện liên lạc chuyên gia cài Hackintosh: Nguyễn Minh Sơn: 01287065634Huỳnh Minh Sơn: 0936225565 Tham gia ngaykhoá học lập trình iOS, hình thức bề ngoài học tập linh thiêng hoạt cho bạn lựa chọn và sẽ có được mức tiền khoản học phí rất dị tuỳ theo bạn chọn học Online, Offline hoặc FlipLearning(Phối kết hợp giữa Online và Offline). Không chỉ có thế bạn cũng có thể tham giathực tập toàn thời điểm tại hethongbokhoe.comđể tiêu giảm thời điểm học và tăng thời cơ việc làm. Thể Loại: Giải bày Kiến Thức Cộng Đồng

Bài Viết: Accelerometer Là Gì – Piezoelectric Accelerometer Thể Loại: LÀ GÌ Nguồn Blog là gì: https://hethongbokhoe.com Accelerometer Là Gì – Piezoelectric Accelerometer

Leave a Reply

Your email address will not be published.