Mục lục:

Cách sử dụng mô-đun GY511 với Arduino [Tạo la bàn kỹ thuật số]: 11 bước
Cách sử dụng mô-đun GY511 với Arduino [Tạo la bàn kỹ thuật số]: 11 bước

Video: Cách sử dụng mô-đun GY511 với Arduino [Tạo la bàn kỹ thuật số]: 11 bước

Video: Cách sử dụng mô-đun GY511 với Arduino [Tạo la bàn kỹ thuật số]: 11 bước
Video: Hướng dẫn sử dụng mô đun Lora E32 433Mhz SX1278 2024, Tháng mười một
Anonim
Cách sử dụng mô-đun GY511 với Arduino [Tạo la bàn kỹ thuật số]
Cách sử dụng mô-đun GY511 với Arduino [Tạo la bàn kỹ thuật số]

Tổng quat

Trong một số dự án điện tử, chúng tôi cần biết vị trí địa lý tại bất kỳ thời điểm nào và thực hiện một thao tác cụ thể cho phù hợp. Trong hướng dẫn này, bạn sẽ học cách sử dụng mô-đun la bàn LSM303DLHC GY-511 với Arduino để tạo la bàn kỹ thuật số. Trước tiên, bạn sẽ tìm hiểu về mô-đun này và cách nó hoạt động, sau đó bạn sẽ thấy cách giao diện mô-đun LSM303DLHC GY-511 với Arduino.

Những gì bạn sẽ học

  • Mô-đun la bàn là gì?
  • Mô-đun la bàn và giao diện Arduino.
  • Tạo la bàn kỹ thuật số với mô-đun GY-511 và Arduino.

Bước 1: Thông tin chung về mô-đun la bàn

Thông tin chung về mô-đun la bàn
Thông tin chung về mô-đun la bàn

Mô-đun GY-511 bao gồm một gia tốc kế 3 trục và một từ kế 3 trục. Cảm biến này có thể đo gia tốc tuyến tính ở các thang đầy đủ ± 2 g / ± 4 g / ± 8 g / ± 16 g và từ trường ở các thang đầy đủ ± 1,3 / ± 1,9 / ± 2,5 / ± 4,0 / ± 4,7 / ± 5,6 / ± 8,1 Gauss.

Khi môđun này được đặt trong một từ trường, theo định luật Lorentz, một dòng điện kích thích tạo ra trong cuộn dây cực nhỏ của nó. Mô-đun la bàn chuyển đổi dòng điện này thành điện áp vi sai cho mỗi hướng tọa độ. Sử dụng các điện áp này, bạn có thể tính toán từ trường theo từng hướng và có được vị trí địa lý.

Mẹo

QMC5883L là một mô-đun la bàn thường được sử dụng khác. Mô-đun này, có cấu trúc và ứng dụng tương tự như mô-đun LMS303, hơi khác về hiệu suất. Vì vậy, nếu bạn đang thực hiện các dự án, hãy cẩn thận về loại mô-đun của bạn. Nếu mô-đun của bạn là QMC5882L, hãy sử dụng thư viện và mã thích hợp cũng được bao gồm trong hướng dẫn.

Bước 2: Các thành phần bắt buộc

Các thành phần bắt buộc
Các thành phần bắt buộc

Các thành phần phần cứng

Arduino UNO R3 * 1

GY-511 3-Axis Accelerometer + Magnetometer * 1

Động cơ Servo TowerPro SG-90 * 1

1602 Mô-đun LCD * 1

Nhảy * 1

Ứng dụng phần mềm

Arduino IDE

Bước 3: Giao diện Mô-đun La bàn GY-511 với Arduino

Giao diện mô-đun la bàn GY-511 với Arduino
Giao diện mô-đun la bàn GY-511 với Arduino
Giao diện mô-đun la bàn GY-511 với Arduino
Giao diện mô-đun la bàn GY-511 với Arduino

Mô-đun la bàn GY-511 có 8 chân, nhưng bạn chỉ cần 4 chân trong số đó để giao tiếp với Arduino. Mô-đun này giao tiếp với Arduino bằng giao thức I2C, vì vậy hãy kết nối các chân SDA (đầu ra I2C) và SCK (đầu vào đồng hồ I2C) của mô-đun với các chân I2C trên bảng Arduino.

Lưu ý Như bạn có thể thấy, chúng tôi đã sử dụng mô-đun GY-511 trong dự án này. Nhưng bạn có thể sử dụng hướng dẫn này để thiết lập các mô-đun la bàn LMS303 khác.

Bước 4: Hiệu chuẩn mô-đun la bàn GY-511

Để điều hướng, trước tiên bạn cần hiệu chỉnh mô-đun, nghĩa là đặt dải đo từ 0 đến 360 độ. Để thực hiện việc này, hãy kết nối mô-đun với Arduino như hình dưới đây và tải mã sau lên bảng của bạn. Sau khi thực hiện mã, bạn có thể thấy các giá trị tối thiểu và tối đa của dải đo cho trục X, Y và Z trong cửa sổ màn hình nối tiếp. Bạn sẽ cần những con số này trong phần tiếp theo, vì vậy hãy viết chúng ra.

Bước 5: Mạch

Mạch điện
Mạch điện

Bước 6: Mã

Trong mã này, bạn cần thư viện Wire.h cho giao tiếp I2C và thư viện LMS303.h cho mô-đun la bàn. Bạn có thể tải xuống các thư viện này từ các liên kết sau.

Thư viện LMS303.h

Thư viện Wire.h

Lưu ý Nếu bạn đang sử dụng QMC5883, bạn sẽ cần thư viện sau:

MechaQMC5883L.h

Ở đây, chúng tôi giải thích mã cho LMS303, nhưng bạn cũng có thể tải xuống mã cho mô-đun QMC.

Hãy xem một số chức năng mới:

la bàn.enableDefault ();

Khởi tạo mô-đun

la bàn.read ();

Đọc các giá trị đầu ra của mô-đun la bàn

running_min.z = min (running_min.z, la bàn.m.z); running_max.x = max (running_max.x, la bàn.m.x);

Xác định giá trị nhỏ nhất và lớn nhất của dải đo bằng cách so sánh các giá trị đo được.

Bước 7: Tạo La bàn kỹ thuật số

Sau khi hiệu chỉnh mô-đun, chúng tôi sẽ chế tạo la bàn bằng cách kết nối động cơ servo với mô-đun. Vì vậy, chỉ báo servo, luôn hiển thị cho chúng ta hướng bắc, giống như mũi tên màu đỏ trên la bàn. Để thực hiện việc này, trước tiên mô-đun la bàn sẽ tính toán hướng địa lý trước và gửi nó đến Arduino và Sau đó, bằng cách áp dụng một hệ số thích hợp, bạn sẽ tính toán góc mà động cơ servo sẽ quay để chỉ báo của nó hướng về phía bắc từ tính. Cuối cùng, chúng tôi áp dụng góc đó cho động cơ servo.

Bước 8: Mạch

Mạch điện
Mạch điện

Bước 9: Mã

Mã số
Mã số

Đối với phần này, bạn cũng cần thư viện Servo.h, được cài đặt trên phần mềm Arduino của bạn theo mặc định.

Hãy xem một số chức năng mới:

Servo Servo1;

Khởi tạo mô-đun

la bàn.read ();

Giới thiệu đối tượng động cơ servo

Servo1.attach (servoPin); la bàn.init (); la bàn.enableDefault ();

Khởi tạo mô-đun la bàn và động cơ servo

Đối số Servo1.attach () là số chân kết nối với động cơ servo.

la bàn.m_min = (LSM303:: vector) {- 32767, -32767, -32767}; la bàn.m_max = (LSM303:: vector) {+ 32767, +32767, +32767};

Sử dụng các đường này, bạn xác định các giá trị tối thiểu và tối đa để đo phạm vi thu được trong phần trước.

float header = compa.heading ((LSM303:: vector) {0, 0, 1});

Hàm header () trả về góc giữa trục tọa độ và trục cố định. Bạn có thể xác định trục cố định bằng một vectơ trong đối số hàm. Ví dụ, ở đây, bằng cách xác định (LSM303:: vector) {0, 0, 1}, trục Z được coi là trục không đổi.

Servo1.write (tiêu đề);

Hàm Servo1.write () áp dụng giá trị đọc bởi mô-đun la bàn cho động cơ servo.

Lưu ý Lưu ý rằng mô tơ servo có thể có từ trường, vì vậy tốt hơn nên đặt mô tơ servo ở một khoảng cách thích hợp từ mô-đun la bàn để không làm cho mô-đun la bàn bị lệch.

Đề xuất: